测试基础
-
4.5 基于协作的测试方法
4.5 基于协作的测试方法 4.5.1 协作用户故事编写 用户故事代表对系统或软件的用户或购买者有价值的特征。用户故事包括三个关键方面,统称为“3C”: • 卡片(Card)– 述用户故事的媒介(例如索引卡、电子板中的条目)。 • 对话(Conversation)– 解释软件的使用方式(可以是文档化或口头形式)。 • 确…
-
4.4 基于经验的测试技术
4.4 基于经验的测试技术 以下各节将讨论常用的基于经验的测试技术: • 错误猜测 • 探索性测试 • 基于检查表的测试 4.4.1 错误猜测 错误猜测是基于测试人员的知识来预测错误、缺陷和失效发生的技术,包括: • 以前软件的运行方式。 • 开发人员常犯的错误类型以及由这些错误导致的缺陷类型。 • 其他类似应用软件产生的失效类型…
-
4.3 白盒测试技术
4.3 白盒测试技术 由于普及性和简单性,本节将重点介绍两种与代码相关的白盒测试技术: • 语句测试 • 分支测试 安全关键、任务关键或高完整性环境中使用了更严格的技术,用于实现更全面的代码覆盖。白盒测试技术还能用于更高的测试级别(例如,API 测试),或使用与代码无关的覆盖(例如,神经网络测试中的神经元覆盖)。 4.3.1 语句测试和语句覆盖 在语…
-
4.2 黑盒测试技术
4.2 黑盒测试技术 以下各节中讨论的常用黑盒测试技术包括: • 等价类划分 • 边界值分析 • 判定表测试 • 状态转移测试 4.2.1 等价类划分 等价类划分(EP)基于给定分区中的所有元素都会被测试对象以相同方式处理的预期将数据划分为多个分区(称为等价类)。此技术背后的原理是,如果测试用例测试了等价类中的一个值,并检测到缺陷,那么任何来…
-
4.1 测试技术概述
4.1 测试技术概述 测试技术支持测试人员开展测试分析和测试设计。测试技术有助于以系统的方式开发相对较小但充分的测试用例集。测试技术还可以在测试分析和设计期间帮助测试人员定义测试条件、识别覆盖项,并识别测试数据。 测试技术分为黑盒、白盒和基于经验的测试技术。 黑盒测试技术是基于对测试对象的特定行为进行分析,而不考虑其内部结构。因此,测试用例不依赖于软件的实现…
-
3.2 反馈和评审过程
3.2 反馈和评审过程 3.2.1 利益相关方早期和频繁反馈的好处 早期和频繁反馈有助于早期沟通潜在的质量问题。如果在软件开发生存周期中,利益相关方很少参与,开发的产品可能不满足利益相关方的期望。如果不能交付利益相关方期望的结果,可能导致代价高昂的返工、错过期限、互相推诿,甚至导致整个项目失败。 在整个软件开发生存周期中,利益相关方的频繁反馈可以防止误解…
-
3.1 静态测试基础
3.1 静态测试基础 静态测试不需要执行被测软件,通过人工检查(例如评审)或借助工具(例如静态分析),对代码、过程规格说明、系统架构规格说明或其他工作产品进行评估。测试目的包括提高质量、检测缺陷以及评估可读性、完整性、正确性、可测试性和一致性等特性。静态测试可用于验证和确认。 测试人员、业务代表和开发人员在实例映射(example mapping)、协作…
-
2.3 维护测试
2.3 维护测试 维护测试范围通常依赖于: • 变更引起的风险程度 • 现有系统的规模 • 变更的大小 维护以及维护测试的触发因素可以有以下几类: • 修改,如计划中的改进(如,基于发布版本),修正错误产生的变更,或者热修复。 • 运行环境的升级或者迁移,如从一个平台迁移至另一个平台,可能需要进行与新运行环境有关的测试,也可能需要进行…
-
2.2 测试级别和测试类型
2.2 测试级别和测试类型 测试级别与软件开发生存周期内的其他活动相关。在顺序 SDLC 模型中,测试级别通常定义为:一个级别的出口准则是下一个级别的入口准则的一部分。 测试类型,是与某种质量特性相关的测试活动的集合,这些测试活动中的大部分可以在每个测试级别进行。 2.2.1 测试级别 • 组件测试(也称为单元测试),侧重于对单独组件的测试。组件测试…
-
2.1 软件开发生存周期中的测试
2.1 软件开发生存周期中的测试 软件开发生存周期(SDLC)模型是对软件开发过程的抽象、概要表述。SDLC 模型定义了软件开发过程中不同开发阶段和活动类型之间的逻辑和时间关系。SDLC 模型的示例包括:顺序开发模型(例如瀑布模型、V 模型)、迭代开发模型(例如螺旋模型、原型模型)和增量开发模型(例如统一软件开发过程)。 软件开发过程中的活动也可以通过更…