测试时间和测试资源总是非常有限的,而测试对象的各种组合却是非常庞大的。如何在测试时间、成本、质量等方面实现平衡,是每个测试人员需要仔细考虑的问题。本文通过采取下面的测试策略,帮助测试人员较好的实现时间、成本和质量等方面的平衡:
1)测试的尽早介入:尽早在缺陷刚刚被引入的时候就发现和修复它们,可以有效地避免缺陷的雪崩效应和缺陷的成本放大效应;
2)基于风险的测试:确保将测试资源放在最关键的测试对象功能模块中,而不将有限的测试资源浪费在无关紧要的地方;
1)测试的尽早介入
软件开发生命周期中的每个开发阶段都会输出本阶段的工作产品。事实证明,一半以上的软件缺陷是在需求阶段引入的。图1显示了在不同阶段缺陷引入的分布情况。
图1 不同阶段缺陷引入的分布
测试的尽早介入表现在:在项目开发的早期,测试人员通过参与相关软件工作产品的评审,以达到尽早发现和修复缺陷的目的。测试人员的尽早介入,其主要优点表现在(也是软件测试的实践经验):
(1) 提高质量。缺陷存在放大效应(即缺陷的雪崩效应),简单的讲,在需求分析阶段引入10个缺陷,假如没有通过评审等静态测试手段发现和修复这些缺陷,那么在概要设计阶段就会变成15个,而在详细设计阶段可能就会变成25个(假设不同阶段的缺陷放大系数是1.5);假如在项目早期进行了静态测试,遗留的后续阶段的缺陷数目