问题描述: 测试中的“杀虫剂怪事”是指什么?
精彩答案:
会员 TesterChen:
杀虫剂怪事,本义是农业中随着农药的普及使用,害虫的抗药性越来越强,农药越来越难毒死害虫,害虫越来越容易滋生。
往往采用的办法是:换农药的品牌,购买新配方农药,购买其他品牌更好质量的农药,加重喷酒浓度
软件测试行业中的“杀虫剂怪事”一词由Boris Beizer在1990年其编著的《Software Testing Techniques》第二版中提出。用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。
我们从三个方面来讨论软件测试行业中的杀虫剂怪事:果树、害虫和农药
果树:我们的目标软件
害虫:缺陷(Bug)
农药:测试工程师、测试技术和方法
现状:
随着软件项目的规模越来越大,越来越多的缺陷开始出现,我们的测试工程师不断的进行测试、不断的回归,但仍然发现每次测试仍然会暴露出很多的缺陷,无法达到理想的缺陷曲线;或交付使用后用户仍然会在使用中出现各种各样的缺陷,直接影响用户的使用体验和公司声誉
原因:
1、被测软件的功能和结构越来越复杂(害虫的抵抗力越来越强)
2、测试人员、技术和方法的思维定势(使用同一种农药配方)
解决办法:
1、测试人员轮岗,一百个读者有一百个哈姆雷特(虽然俗但确是这样),一百个工程师也有一百种看法和想法,这样可以更好的避免个人思维定势
(使用不同品牌的农药)
2、尝试使用各种测试技术和方法进行测试,避免因为测试方法本身的覆盖度而导致测试遗漏
(变更农药配方)
3、测试人员的自我意识,要有意识的突破自己的思维定势,跳出原有的条条框框进行思考,这样或者能发现一些更深层次的缺陷
(提升农药配方质量)
4、引进行业高水平技术人才,同时对技术人员进行相关技能培训提高专业技能
(加重喷洒浓度)
目的:
尽量多的发现潜在的缺陷,减少缺陷的遗留,降低遗留缺陷的严重度
会员 土土的豆豆:
杀虫剂怪事,原指农业科技上的工作,现用于描述软件测试越多,其免疫力越强的现象;或者说,如果同样的case反复执行,对于一个特定软件来说,发现问题的概率会越来越低。
这与农药杀虫是一样的。老用一种农药,害虫最后就有抵抗力,农药也就发挥不了效力。在用螺旋模式开发软件过程中,每一圈都要重复测试过程。软件测试员每一个轮回就会接到软件进行测试。最后,经过几个回合之后,该发现的软件缺陷都被发现了,再测试下去也不会有新的发现了。
为了克服杀虫剂怪事,软件测试员必须不断编写不同的新测试程序,对程序的不同部分进行测试,以找出更多的软件缺陷。
我们可以充以下几个部门考虑如何规避和解决杀虫剂现象:
1、重新分析测试需求
一个被测模块若在指定条件下完成了工作,若在一定周期内未能发现新问题。我们可以重新对需求文档进行分析,找出不同的业务逻辑。尤其是组合条件较复杂的逻辑和业务工作流。
2、拓展测试用例
显然,老套的用例即便执行白遍,也是一样的结果。根据新制定的测试需求,必须重新设计测试用例来进行检验。
3、改变测试方法,加入更多的场景
虽说测试用例执行是测试的关键,但是前期对测试模块的需求分析深入的话,在不同组合、条件下,模拟更多、更复杂的业务场景进行操作,可能会发现意想不到的问题。毕竟很多问题是在长时间操作,反复进行业务交互后才产生的。
4、在模块功能稳定的情况下,适当补充非功能性测试,在易用性、可靠性、稳定性等质量指标下,系统容易暴露更多的状况,很多是用例未考虑的情况。
5、缺陷问题整理和归纳
很重要的是,不能老是停留在黑盒方法、等价类、边界值等通用的技术手段。软件开发技术是在不断发展,同时我们测试技术、方法等也该不断更新和补充新的知识。对于异常或罕见的问题,测试人员应该有所整理、分析与归纳,这样我们才能改善“杀虫剂”含金量,相对于以后的系统,更有作用了吧。
以上是个人观点,请补充指正。
原帖地址:http://bbs.51testing.com/thread-792495-1-1.html
版权声明:本文由会员TesterChen、土土的豆豆首发于51Testing软件测试论坛每周一问活动。