软件测试的7条原则,你漏了几条?

新支点小玉
• 阅读 264

软件测试报告最需要注意的就是测试思考,而非测试执行。而对软件测试菜鸟来说,初入行,首先要知道软件测试的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)

测试是依赖于上下文的,这基本上意味着测试电子商务站点的方式将不同于测试其他应用程序的方式。所有开发的软件都不相同。你可以根据应用程序类型使用不同的方法、技术和测试类型

点赞
收藏
评论区
推荐文章
新支点小玉 新支点小玉
1年前
软件测试报告是什么?
如何理解软件的测试报告呢?简单来说,测试报告是一份描述软件的测试过程、测试环境、测试范围、测试结果的文档,用来分析总结系统存在的风险以及测试结论。具体来说就是:(1)测试过程测试过程需要对测试人员、测试时间、测试地点、测试版本等信息进行描述。其他测试过程中
新支点小玉 新支点小玉
1年前
防患于未然,上线前测试环节怎么能少?
软件测试作为一种重要的软件开发流程,被许多企业所重视,它旨在通过对软件进行全面的测试,确保软件产品质量,满足用户需求。软件测试不仅仅是简单的检测,而是一个系统性的、有组织的测试过程,它包括许多不同步骤,其中每一步都要进行精细的测试。一、测试的重要性1、确保
新支点小玉 新支点小玉
1年前
如何规避软件测试项目的风险
软件测试工作中常见的风险有哪些,作为测试人员我们应该如何规避呢?1、需求的风险其实存在于测试各阶段,例如:测试人员对需求理解有误、测试后期需求改动。规避措施:1)测试执行前,参与立项时,勤思考,有哪些需求在会上没理解到位;2)测试过程中,对有疑惑的点、不确
新支点小玉 新支点小玉
1年前
从定义和实施帮你对软件测试进行全解析
软件测试是软件开发过程中的一项重要环节,它的目的是确保软件能够满足预期的需求和质量标准,为客户提供高质量的产品或服务。本文将从定义和实施角度对软件测试进行解析,帮助读者更好地了解软件测试。一、定义软件测试是一种质量保证活动,旨在检测软件产品是否满足用户需求
新支点小玉 新支点小玉
11个月前
软件测试工作中常见的风险有哪些
软件测试工作中常见的风险有哪些,作为测试人员我们应该如何规避呢?1、需求的风险其实存在于测试各阶段,例如:测试人员对需求理解有误、测试后期需求改动。规避措施:1)测试执行前,参与立项时,勤思考,有哪些需求在会上没理解到位;2)测试过程中,对有疑惑的点、不确
新支点小玉 新支点小玉
11个月前
什么是黑盒白盒测试,他们有什么区别?
软件测试是软件开发过程中的基本活动。黑盒测试和白盒测试是两种不同类型的软件测试策略,它们具有同样强大的功能,并且结合使用时甚至更好。一、黑盒测试在软件中,黑盒测试很方便,可以减少灾难性(软件)崩溃的风险。灾难性的软件崩溃可能是什么?系统在更新客户数据库的过
新支点小玉 新支点小玉
11个月前
软件测试报告如何编写?出检测报告的第三方检测实验室推荐
团队进行软件测试工作,编写一份软件测试报告对于测试人员来说必不可少。虽然编写软件测试报告是软件测试人员的工作,但是项目的开发人员比如程序员、软件使用单位对软件测试报告的组成部分有一定的了解也是十分有必要的,软件测试报告比较容易理解,人们并不需要拥有足够的专
新支点小星 新支点小星
11个月前
CNAS中兴新支点——软件测试中的非功能测试包含哪些测试内容
软件测试中的非功能测试是指对软件产品在功能之外的其他特性进行测试,包括性能测试、可靠性测试、安全性测试、易用性测试、可维护性测试等。1、性能测试:性能测试是对软件产品在特定条件下的性能进行测试和评估。包括负载测试、强度测试、数据库容量测试等。通过模拟不同的
新支点小玉 新支点小玉
11个月前
软件测试中的非功能测试包括什么?
软件测试中的非功能测试是指对软件产品在功能之外的其他特性进行测试,包括性能测试、可靠性测试、安全性测试、易用性测试、可维护性测试等。1、性能测试:性能测试是对软件产品在特定条件下的性能进行测试和评估。包括负载测试、强度测试、数据库容量测试等。通过模拟不同的