软件测试的原则是指帮助测试团队有效地利用他们的时间和精力来发现测试项目的隐藏bug的指导方针。从实践和研究中总结得出以下 7 条软件测试的基本原则,以便测试人员在软件测试领域广泛应用。
一、测试证明软件存在缺陷-Testing shows presence of defects
-
测试只能证明软件中存在缺陷,但并不能证明软件中不存在缺陷。
-
软件测试是为了降低存在缺陷的可能性,即便是没有找到缺陷,也不能证明软件是完美的。
二、穷尽测试是不可能的-Exhaustive testing is impossible
- 穷尽测试是不可能的。如计算器的加法功能的测试。
- 现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中和高强度的测试,从而保证软件的质量。
三、测试尽早介入-Testing early
-
为什么测试要尽早介入呢,简单的说就是保证软件质量,降低风险和成本。
-
测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
四、缺陷集群性(2/8原则)-Defect clustering
-
这个也是经验之谈了,一般认为,百分之80的缺陷集中出现在百分之20的核心功能区域。一旦你在某个功能模块找到缺陷,相关附近功能多半也会存在问题。
-
在项目实战中,在写缺陷报告的时候,做横向对比,比对类似功能,相近模块,版本,机型。指定回归测试策略的时候,也可以重点测试。
五、杀虫剂悖论(杀虫剂效应)-Pesticide Paradox
-
反复使用相同的杀虫剂会导致害虫对杀虫剂产生免疫而无法杀死害虫。软件测试也一样。如果一直使用相同的测试方法或手段,可能无法发现新的bug。
-
为了解决这个问题,测试用例应当定期修订和评审,增加新的或不同的测试用例帮助发现更多的缺陷。 测试人员不能一直依赖于现有的测试技术,而要不断的提升测试方法以提高测试效率。
六、测试活动依赖于测试内容-Testing is context dependent
- 根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业。不同的行业,测试活动的开展都有所不同,比如测试技术、测试工具的选择,测试流程都不尽相同,所以软件测试的活动开展依赖于所测试的内容。
-
比如:你在金融公司测试,安全性就是第一位。电子商务测试,功能性则更加重要。
七、不存在缺陷的谬论-Absence of error
-
软件测试不仅仅是为了找出Bug而存在的活动,而是还需要确认软件是否满足用户的期望和需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。
-
“没有错误” 并不是我们的追求,在互联网时代,始终快速给用户创造最大的价值才是我们孜孜不倦的追求。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取