在软件测试中回归测试是不能忽略的一部分,回归测试是指修改了旧代码后,重新进行测试及确认修改没有引入新的错误或导致其它代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
 
选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的,选择回归测试应该兼顾效率和有效性两个方面,那么常用的方法都有哪些呢?
1.再测试全部用例
选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较安全的方法,再测试全部用例具有较低的遗漏回归错误的风险,但测试成本较高。
2.基于风险选择测试
可以基于一定的风险标准来从基线测试用例库中选择回归测试包。首先运行比较重要的、关键的和可疑的测试,而跳过那些非关键的、优先级别低的或者高稳定的测试用例,这些用例即便可能测试到缺陷,这些缺陷的严重性也仅有三级或四级。
3.基于操作剖面选择测试
如果基线测试用例库的测试用例是基于软件操作剖面开发的,测试用例的分布情况反映了系统的实际使用情况。回归测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些针对重要或频繁使用功能的测试用例,释放和缓解较高级别的风险,有助于尽早发现那些对可靠性有较大影响的故障。
4.再测试修改的部分
当测试者对修改的局部化足够了解时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。通常,一个回归错误一定涉及一个新的、修改的或删除的代码段。在允许的条件下,回归测试尽可能覆盖受到影响的部分。