编者按:说到回归测试用例,先说什么是回归测试。顾名思义,回归测试是修改完bug之后对程序的新的一轮测试,据微软的统计,按照他们的经验,一般开发人员解决3-4个bug会衍生出一个新的bug,这是必须作回归测试的原因。简单的说,是检测一下解决了bug之后有没有带进新的问题,以免把聋子给治成哑巴,得不偿失了。

一般的软件测试的流程是后期快速迭代的,bug在后期是快速收敛的,debug和测试的周期也是越来越短,频率是越来越高,譬如说第一轮测试需要花上10天跑用例,那么到后期没那么长的时间,可能是1-2天的测试时间,在后期有时候有一个新的版本,这时候要求测试人员能快速的进行一轮回归测试。

一般来说,覆盖越高,风险越低,但是效率越差,反之亦然。所以如果时间允许的话,能把所有的用例都再跑一边是好不过的,但是一般不会有那么多的时间,这需要在效率和覆盖之间有一个适当的平衡,选择其中一部分测试用例用来作回归测试。

选择回归测试的时候,首先要确定的是,回归测试用例的比例,这个要根据时间情况了,是好了,我个人一般这个比例在60%左右。然后要确定回归测试用例的优先级。根据我的经验,一般有如下必须回归的用例:

第一,新修改的功能,这个显然是重点;

第二,新修改的功能的关联功能,是有耦合的部分,这个一般好咨询一下开发人员;

第三,程序有卖点或者说亮点的部分,这个地方一旦有问题,会使程序质量大打折扣;

第四,程序中致命的部分,譬如说安全隐患,数据泄露,加密注册;

第五,程序中比较脆弱的部分,这个要咨询开发人员,一般是他们心中没底的地方;

第六,程序的主干功能;

第七,如果以上做完,还有时间的话,好把用例中级别比较高的用例再执行一遍。

以上是回归测试用例的选择优先级。

其实,即使这样做,还是有风险的。根本的解决方法是自动化测试工具加上手工测试。具体是常用的程序主干功能,主要功能,用自动化测试,保证每一个版本都能够执行一遍,其他修改频繁的小功能手工测试了。

小结:

个人觉得解决这个回归测试的解决方案是:

a.作每日构建;

b.基线功能自动化;

c.编写用例时一定要分级(按照风险度,常用度,重要度);

d.手工执行回归测试用例(是上面说的7项)。