软件测试的原则是指帮助测试团队有效地利用他们的时间和精力来发现测试项目的隐藏 bug 的指导方针。从实践和研究中总结得出以下 7 条软件测试的基本原则,以便测试人员在软件测试领域广泛应用。
1、测试证明软件存在缺陷-
Testing shows presence of defects
●测试只能证明软件中存在缺陷,但并不能证明软件中不存在缺陷。
●软件测试是为了降低存在缺陷的可能性,即便是没有找到缺陷,也不能证明软件是完美的。
2、穷尽测试是不可能的-
Exhaustive testing is impossible
●穷尽测试是不可能的。如计算器的加法-功能的测试。
●现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中测试,从而保证软件的质量。
3、测试尽早介入-Testing early
●为什么测试要尽早介入呢,简单的说就是保证软件质量,降低风险和成本。
●测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
4、缺陷集群性(2/8 原则)-
Defect clustering
●这个也是经验之谈了,一般认为,百分之 80 的缺陷集中出现在百分之 20 的核心功能区域。一旦你在某个功能模块找到缺陷,相关附近功能多半也会存在问题。
●在项目实战中,在写缺陷报告的时候,做横向对比,比对类似功能,相近模块,版本,机型。指定回归测试策略的时候,也可以重点测试。
5、杀虫剂悖论(杀虫剂效应)-
Pesticide Paradox
●反复使用相同的杀虫剂会导致害虫对杀虫剂产生免疫而无法杀死害虫。软件测试也一样。如果一直使用相同的测试方法或手段,可能无法发现新的 bug。
●为了解决这个问题,测试用例应当定期修订和评审,增加新的或不同的测试用例帮助发现更多的缺陷。测试人员不能一直依赖于现有的测试技术,而要不断的提升测试方法以提高测试效率。
6、测试活动依赖于测试内容-
Testing is context dependent
●根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业。不同的行业,测试活动的开展都有所不同,比如测试技术、测试工具的选择,测试流程都不尽相同,所以软件测试的活动开展依赖于所测试的内容。
●比如:你在金融公司测试,安全性就是第一位。电子商务测试,功能性则更加重要。
7、不存在缺陷的谬论-
Absence of error
●软件测试不仅仅是为了找出 Bug 而存在的活动,而是还需要确认软件是否满足用户的期望和需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。
●“没有错误” 并不是我们的追求,在互联网时代,始终快速给用户创造最大的价值才是我们孜孜不倦的追求。
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行:38天!自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!【自动化测试、性能测试、测试开发】