相信大家对于“免疫”这个词都不会感到陌生,拿农业来讲,第一次用农药来消灭害虫,效果很客观,但是重复使用,效果就会变得越来越差,这是因为害虫身上出现了免疫性。在软件测试中,测试免疫也是真实存在的,重复使用同一批用例进行测试,能测试出来的bug
变得越来越少,很多bug都被遗漏了。
因为软件是在不断进化的,新的bug也在不断产生,同样一批用例,只能发现会引起已覆盖功能衰退的regression bug。很多新bug对这批用例是有免疫力的,这便是“测试免疫”。测试免疫我们一定不能忽视,要及时想办法解决,那么究竟该怎样应对呢?
1. 需要不断更新测试策略
测试策略是一个动态的过程,应该随时根据情况进行调整,例如哪个模块风险比较大,就将策略往这个方向倾斜。测试类型大大小小至少有100多种,在制定测试策略时,可以考虑多样化,组合型的测试策略,例如自动化测试+探索测试,从而对症下药,实现优势互补。
在软件测试中有这样一个说法“三分开发,七分维护”,测试用例是一个长期维护的过程,需要及时的查漏补缺,跟踪遗漏出去的bug打上补丁。我们要密切注意跟踪软件的变化,提前预测这些变化可能给用户场景带来的影响必要时还要及时新增测试用例进行覆盖,做好以不变应万变的准备。
通俗的来讲,测试免疫是一种客观存在的规律,只有不断更新测试策略和测试用例,才能有效弥补用例有效性的损失,切记不能无动于衷。