软件测试报告
最需要注意的就是测试思考,而非测试执行。而对软件测试菜鸟来说,初入行,首先要知道软件测试的7条原则,了解这些可以让你事倍功半。
软件测试的7条原则
1)测试的不可穷尽原则
是的!任何产品不可能被穷尽测试。我们需要根据应用程序的风险评估来优化测试量。
而重要的是,你如何确定不可穷尽原则带来的测试不完全性风险?
为了回答这个问题,让我们做一个练习
你认为哪种操作最有可能导致你的电脑操作系统出现故障?
我相信大多数人都会猜到,同时打开很多个不同的应用程序。
因此,如果你正在测试此操作系统,你将发现多任务活动场景很可能会发现缺陷,需要对其进行深入的测试。
2)缺陷集群性(2/8原则)(Defect clustering)
缺陷群集,指出少数功能模块包含测试到的大多数缺陷。这是帕累托原理在软件测试中的应用:大约80%的问题出现在20%的功能模块中。
根据经验,你可以识别出有风险的模块。但是这种方法也有局限性,如果重复进行相同的测试,最终同质的测试用例将不会再找到新的缺陷。
3)杀虫剂悖论(Pesticide Paradox)
随着时间的推移,重复使用相同的杀虫剂消灭昆虫会导致昆虫对农药产生抵抗力,从而使杀虫剂对昆虫无效,这同样适用于软件测试。如果进行相同的重复测试,则该方法将无助于发现新的缺陷。
为了解决此问题,需要定期检查和更新测试用例,添加新的和不同的测试用例以帮助发现更多的缺陷。
测试人员不能简单地依靠现有的测试技术。他必须不断寻找改进现有方法的方法,以使测试更有效。
4)测试显示软件存在缺陷(Testing shows presence of defects)
测试显示软件存在缺陷原理指出:测试显示软件中缺陷的存在,但不能证明软件不存在缺陷。也就是说,软件测试可以降低软件中未发现的缺陷的可能性,但是即使没有发现缺陷,也不能证明其正确性。
5)没有错误是好事谬论(Absence of error-fallacy)
99%无错误的软件仍然可能无法使用,如果针对缺陷要求对系统进行了全面测试,则可能是这种情况。软件测试不仅仅是为了发现缺陷,而且还要检查软件是否满足业务需求。没有错误是谬论,即如果系统构建不可用并且无法满足用户的需求,则发现并修复缺陷将无济于事。
6)尽早介入测试(Testing early)
早期测试-测试应在软件开发生命周期中尽早开始。这样就可以在早期阶段捕获需求或设计阶段中的任何缺陷。在测试的早期阶段修复缺陷耗费成本要低得多。但是应该多早开始测试呢?建议你在需求评审环节就开始介入测试发现缺陷。
7)测试活动取决于上下文(Testing is context dependent)
测试是依赖于上下文的,这基本上意味着测试电子商务站点的方式将不同于测试其他应用程序的方式。所有开发的软件都不相同。你可以根据应用程序类型使用不同的方法、技术和测试类型。