51Testing软件测试网iQC-Ro"iJ3@pej今天看到51testing上有这个问题,觉得很值得探讨一下,就在此谈谈我的看法。
NQUDN0MP};n+U0OU
S+g`
e0关于这个问题,我粗粗的搜索以下网上的关于这个问题的说法,大都是空空理论之谈,实际操作起来并不一定适合。
H+]*h
n4]~"n051Testing软件测试网:xT*vV0H;@q'c.G]]说到回归测试用例,先说什么是回归测试。顾名思义,回归测试就是修改完bug之后对程序的新的一轮测试,据微软的统计,按照他们的经验,一般开发人员解决3~4个bug会衍生出一个新的bug,这就是必须作回归测试的原因。简单的说,就是检测一下解决了bug之后有没有带进新的问题,以免把聋子给治成哑巴,就得不偿失了~~
Ch}3gb][z0 drsFT-E/rU(K0一般的软件测试的流程是后期快速迭代的,bug在后期是快速收敛的,debug和测试的周期也是越来越短,频率是越来越高,譬如说第一轮测试需要花上10天跑用例,那么到后期就没那么长的时间,可能就是1~2天的测试时间,在后期有时候一天就有一个新的版本,这时候就要求测试人员能快速的进行一轮回归测试。
;G"J8fzrF9@q B08aX!D"Fr[1St0一般来说,覆盖越高,风险越低,但是效率就越差,反之亦然。所以如果时间允许的话,能把所有的用例都再跑一边是最好不过的,但是一般不会有那么多的时间,这就需要在效率和覆盖之间有一个适当的平衡,选择其中一部分测试用例用来作回归测试。
D}_5?)E:miu06QX.c8Fx [+[0选择回归测试的时候,首先要确定的是,回归测试用例的比例,这个要根据时间情况了,100%是最好了,我个人一般这个比例在60%左右。然后要确定回归测试用例的优先级。根据我的经验,一般有如下必须回归的用例:51Testing软件测试网!p9fmA(Nd
LL%p4}#Ng
_G:`[0第一,新修改的功能,这个显然是重点51Testing软件测试网ERu;]Z&M6| c
51Testing软件测试网)A-A)B)w{|GY-c%\第二,新修改的功能的关联功能,就是有耦合的部分,这个一般最好咨询一下开发人员51Testing软件测试网
K*f `_f,X|)p
51Testing软件测试网-x-{NdY\j"d
}8HP第三,程序最有卖点或者说亮点的部分,这个地方一旦有问题,会使程序质量大打折扣
`(O#Y"\;Xx7x"NZ051Testing软件测试网f,L6|1q fAy.Zi#z第四,程序中最致命的部分,譬如说安全隐患,数据泄露,加密注册,51Testing软件测试网}IS5]P9|A
?]1L(sH4su
S"u0第五,程序中比较脆弱的部分,这个要咨询开发人员,一般就是他们心中最没底的地方51Testing软件测试网.{
_WU:m*l
51Testing软件测试网n%Bu[U;DZP第六,程序的主干功能
*b,_C
l"W_X051Testing软件测试网tGdd@Rg第七,如果以上做完,还有时间的话,最好把用例中级别比较高的用例再执行一遍。
,KDBGX5I3j n051Testing软件测试网,B#nP
z3{H-M BPOK ,以上是回归测试用例的选择优先级。
0a bM#fj0/[$D;zgEN _5i0其实,即使这样做,还是有风险的。最根本的解决方法是自动化测试工具加上手工测试。具体就是常用的程序主干功能,主要功能,用自动化测试,保证每一个版本都能够执行一遍,其他修改频繁的小功能手工测试了。51Testing软件测试网3[
Em,xrw&L)g
51Testing软件测试网R1o-a/z_;U wx C/Khh4F r说了这么多,好像比较乱,总结一下。
JS!~:Lk9B0
|qx*Q5H@I k"]0个人觉得解决这个回归测试的终极解决方案是:51Testing软件测试网1h5LE!PY
51Testing软件测试网dL7y+v
~\Fa.作每日构建51Testing软件测试网b/t0c6R&G_0\.j,S
51Testing软件测试网T5S_]Q(Zs9`6Wb.基线功能自动化
$D.V
g-C p l051Testing软件测试网+q$V
f+E%~g!ap,s
xnc.编写用例时一定要分级(按照风险度,常用度,重要度)
-D(m8cDZ:g3@051Testing软件测试网BNb'ea7{*q1o$?9L9Cd.手工执行回归测试用例(就是我上面说的7项)51Testing软件测试网~7e(X
Pr
wly)I
51Testing软件测试网lG-A
i/Wo好了,这是我对这个问题的解决方案,欢迎大家补充,讨论,拍砖~~~~~~~~51Testing软件测试网
c~@9?m7UV[$O