如何选择回归测试用例集
在《你真的了解回归测试吗?》(←点击左边蓝字查看原文)一文中讲述了回归测试的定义、与普通测试的区别,以及回归测试的分类和不同类型回归测试的基本测试策略。
本文讨论一下在回归测试活动中,如何选择测试用例集。
已知前篇中:回归测试用例集包括基本测试用例集(原始用例)+迭代新增测试用例集(修复故障引入的用例和新增功能引入的用例集)。
如:假设开发周期D内,原始测试用例集为T,新增功能引入用例集为ΔT1,修复故障引入的用例为ΔT2,那么回归测试用例集T’=T+ΔT1+ΔT2。
说到这里,不知道你会不会有这样一个疑问:如果我的原始测试用例集T包含大量的测试用例(成百上千条),难道回归测试时都要全部执行吗?
答案当然是否定的。首先回归测试是有时间限制的,单纯人力执行上千条测试用例,是很难完成的。即使有自动化测试的保障,也难以保证100%的测试覆盖。
因此,我们进一步讨论下,在原始用例集T中,选择合适的测试用例加入回归测试,尽量满足最优测试用例最小测试用例的标准。
如何在原始用例集中挑选测试用例
不妨我们再来设想和讨论几个问题:
1、某个测试用例在近期测试活动中,通过稳定性较差(测试结果频繁失败—成功交替),那么在设计当次回归测试活动时,你是否会考虑或重点关注呢?
2、某个测试用例已经实现自动化,且加入日常CI维护,那么在设计当次回归测试活动时,你是否会考虑或重点关注呢?
3、某个测试用例已经长时间未执行,那么在设计当次回归测试活动时,你是否会考虑或重点关注呢?
4、某个测试用例最近一段时间内总是失败,通过率很低,那么设计当次回归测试活动时,你是否会考虑或重点关注呢?
看到这几个问题,有什么启发吗?
在问题1中,我们讨论的是测试用例的稳定性;
在问题2中,我们讨论的是测试用例的自动化率;
在问题3中,我们讨论的是测试用例的执行率;
在问题4中,我们讨论的是测试用例的通过率。
稳定性、自动化率、执行率和通过率是我们制定测试策略,选择测试用例时的重点考虑范围。因此,回归测试活动中,筛选原始用例集中的用例,挑选高优先级用例组建回归测试用例集可以从测试用例的这几方面入手。
具体实践
考虑测试用例的稳定性、自动化率、时效性和有效性四个方面,如果一个用例稳定性低、自动化率低、通过率低、执行率低,那么在当次回归测试活动中,这个用例可以且应该获得测试人员的关注,纳入回归测试用例集中。
此外,如下表所示:
当用例稳定性和通过率低时,执行率和自动化率则不需重点考虑,此时测试用例优先级高,应该纳入当次回归测试;
当用例稳定性和通过率中时,低执行率和自动化率的测试用例可以考虑加入当次回归测试,具体结论可视测试资源(如人力和机器资源)和测试时间充裕度考虑;
当用例稳定性和通过率高时,即使用例执行率和自动化率低,也不需要加入回归测试。
为何制定如此测试策略呢?因为,对于测试用例的考评,稳定性和通过率远大于执行率和自动化率。
总结
本文在“你真的了解回归测试吗?”一文的基础上,讲述了如何在原始用例集中筛选测试用例,缩减原始用例集的大小,组建最优最小用例集的测试策略。
值得注意的是,所谓的最优最小用例集理论上是不存在的,俗话说:没有最好,只有更好,不是么?我们做的只是在一定限制内的优化。希望本文能对正在看的你有所启发~
......