土土的豆豆 发表于 2012-8-21 16:58:50

晕 ~ 楼上广告怎么在这个帖子里发布啊!

杀虫剂怪事,原指农业科技上的工作,现用于描述软件测试越多,其免疫力越强的现象;或者说,如果同样的case反复执行,对于一个特定软件来说,发现问题的概率会越来越低。
这与农药杀虫是一样的。老用一种农药,害虫最后就有抵抗力,农药也就发挥不了效力。在用螺旋模式开发软件过程中,每一圈都要重复测试过程。软件测试员每一个轮回就会接到软件进行测试。最后,经过几个回合之后,该发现的软件缺陷都被发现了,再测试下去也不会有新的发现了。
为了克服杀虫剂怪事,软件测试员必须不断编写不同的新测试程序,对程序的不同部分进行测试,以找出更多的软件缺陷。
我们可以充以下几个部门考虑如何规避和解决杀虫剂现象:
1、重新分析测试需求
一个被测模块若在指定条件下完成了工作,若在一定周期内未能发现新问题。我们可以重新对需求文档进行分析,找出不同的业务逻辑。尤其是组合条件较复杂的逻辑和业务工作流。
2、拓展测试用例
显然,老套的用例即便执行白遍,也是一样的结果。根据新制定的测试需求,必须重新设计测试用例来进行检验。
3、改变测试方法,加入更多的场景
虽说测试用例执行是测试的关键,但是前期对测试模块的需求分析深入的话,在不同组合、条件下,模拟更多、更复杂的业务场景进行操作,可能会发现意想不到的问题。毕竟很多问题是在长时间操作,反复进行业务交互后才产生的。
4、在模块功能稳定的情况下,适当补充非功能性测试,在易用性、可靠性、稳定性等质量指标下,系统容易暴露更多的状况,很多是用例未考虑的情况。
5、缺陷问题整理和归纳
很重要的是,不能老是停留在黑盒方法、等价类、边界值等通用的技术手段。软件开发技术是在不断发展,同时我们测试技术、方法等也该不断更新和补充新的知识。对于异常或罕见的问题,测试人员应该有所整理、分析与归纳,这样我们才能改善“杀虫剂”含金量,相对于以后的系统,更有作用了吧。
以上是个人观点,请补充指正。

mainer 发表于 2012-8-23 15:38:40

杀虫剂事件就是指测试同化现象,当长期使用一种杀虫剂的时候,虫子对药物有了抗体,就不再会被杀死了。
测试人员长期跟踪一个项目,导致会出现习以为常,从而很容易接受开发的辩解与解释,忽略问题的存在。

mainer 发表于 2012-8-23 15:40:24

测试组长应该经常对测试人员的测试用例、测试方法进行检查,并且时常使用新人介入测试该项目的上线单,跟踪项目情况,让不同人提出不同意见,以确保避免杀虫剂事件持续。

cyli 发表于 2012-8-25 00:31:08

测试人员执行了所有原先测试设计方法设计的测试用例,以为达到了很高的缺陷覆盖率,但事实上,任然存在很多未发现的缺陷,甚至比现在更多。
此时,需要测试人员采取几多方面的措施再次测试,多次使用不同的用例设计方法,对测试对象进行反复测试。

pwang_carbonite 发表于 2012-9-7 13:46:47

嗯,学到了,呵呵
页: 1 [2]
查看完整版本: 测试中的“杀虫剂怪事”是指什么?(2012.8.27)(获奖名已公布)