摘要:我们可以在软件测试中观察到类似的现象。当测试环境发生变化时,测试策略应该动态调整。软件测试的类型、方法和工具丰富多彩。试验免疫是客观规律,不以人的意志为转移。对于测试免疫力,我们不能无动于衷,而是要有所作为。
生物学中有一个著名的农药悖论,描述的是重复使用某种农药后,杀灭害虫的效果会越来越差的现象。这是因为害虫会进化,逐渐对农药产生免疫力。
为了保持农药的杀虫效果,人们必须不断开发和使用新的农药。
我们可以在软件测试中观察到类似的现象。虫子类似于害虫,用例类似于农药。重复使用固定数量的用例进行测试,可以发现的bug越来越少,遗漏的bug越来越多。
换句话说,测试的有效性会随着时间的推移而下降。
这种现象的存在是因为软件在不断进化,新的bug不断出现。对于同一批用例,只能发现会导致覆盖功能下降的回归bug。许多新的bug不受这些用例的影响。
可以说,“考试免疫”作为一种客观规律,是不容忽视的。面对这一规律,如何才能长期保持和维持测试的有效性?
就像杀虫剂需要不断更新才能杀虫一样,测试策略和测试用例也需要不断更新才能发现bug。
1.如何动态更新测试策略?
测试策略高度依赖于测试环境。当测试环境发生变化时,测试策略应该动态调整。比如在采用基于风险的测试策略时,哪个模块、哪个环节有风险,就要把测试资源向这个模块、这个环节倾斜。
软件测试的类型、方法和工具丰富多彩。据不完全统计,考试类型有100多种。在制定测试策略时,可以考虑多样化、组合化的测试策略,如自动化测试+探索性测试、确定性测试+随机模糊化,实现优势互补,利益最大化。
2.如何动态更新测试用例?
对于软件,三分是开发,七分是维护。对于测试用例来说,其实也差不多。测试用例需要长期维护。我们需要密切跟踪遗漏的bug,及时校准用例,并打补丁。
同时,我们需要密切跟踪测试软件的变化,评估变化对用户场景的影响。对于产生新用户场景的变更,应该及时添加测试用例来覆盖它们。
“试验免疫”是客观规律,不以人的意志为转移。对于“测试免疫力”,我们不能无动于衷,而要有所作为。
只有不断更新测试策略和用例,堵塞漏洞,提高覆盖率,才能弥补用例有效性衰减的损失,使测试的整体有效性保持在一定水平。
更多测试技术信息,请关注:深圳市多测软件技术服务有限公司。
评论前必须登录!
注册