Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC IEEE 29119-4提供了一个全面的软件测试设计技术目录,可用于从各种信息源导出测试用例。该标准是测试从业者在根据被测系统类型、项目风险概况和评估的质量特性选择和应用适当技术时的重要工程参考。它将技术分类为三大类:基于规格说明的(黑盒)、基于结构的(白盒)和基于经验的测试技术。
基于规格说明的技术从功能和非功能需求中导出测试用例,不参考内部代码结构。这些包括等价类划分、边界值分析、决策表测试、分类树方法、成对测试、状态转换测试、用例测试和用户故事测试。基于结构的技术从内部架构导出测试用例,涵盖语句覆盖、分支覆盖、决策覆盖、修正条件/决策覆盖(MC/DC)和数据流测试。基于经验的技术依赖于测试人员对系统和领域的知识,包括错误猜测、探索性测试和故障攻击方法。
29119-4中的每种技术都描述了其适用性、优势、局限性和测量标准。等价类划分将输入数据划分为预期测试行为等效的类,将无限输入可能性减少为可管理集合。边界值分析通过测试等价类边缘的值扩展了等价类划分,缺陷常常发生在这里。决策表测试系统性地覆盖了条件组合及其结果动作,非常适合业务逻辑验证。
| 技术类别 | 技术名称 | 最适合 | 发现的缺陷类型 |
|---|---|---|---|
| 基于规格说明 | 等价类划分 | 数据输入验证 | 范围相关缺陷 |
| 基于规格说明 | 边界值分析 | 数值输入字段 | 差一错误 |
| 基于规格说明 | 决策表测试 | 复杂业务规则 | 逻辑组合错误 |
| 基于规格说明 | 成对测试 | 配置测试 | 交互缺陷 |
| 基于结构 | 分支覆盖 | 安全关键代码 | 未测试的代码路径 |
| 基于结构 | MC/DC | 航空/医疗软件 | 隐藏逻辑依赖 |
| 基于经验 | 探索性测试 | 可用性评估 | 意外用户行为问题 |
来自29119-4的关键工程见解是,没有单一技术是足够的。有效的测试需要技术组合方案,根据特定的风险环境选择并组合技术。例如,安全关键的医疗设备应用需要符合DO-178C/ISO 26262的基于结构技术(MC/DC、分支覆盖)与全面的基于规格说明技术相结合。敏捷开发下的Web应用可能更依赖成对测试进行配置兼容性测试,以及探索性测试进行可用性评估。
测试自动化框架应设计为同时支持多种技术。单元测试框架自然支持带有覆盖率测量工具的基于结构技术。集成测试框架可以通过参数化测试数据集自动化基于规格说明的技术。探索性测试虽然自动化程度较低,但可以使用基于会话的测试管理(SBTM)进行结构化,定义明确的章程和时间盒。该标准为将这些多样化方法整合为一致的测试设计策略提供了框架。