回归测试的策略及方法
上一篇 / 下一篇 2012-06-20 09:24:10 / 个人分类:杂谈
● 全部回归,也就是把之前的所有的测试用例,无论是手动的,还是自动的,全部跑一遍51Testing软件测试网zS6AbI(j]
3g*xCH*@'MjM'uR0 ● 部分回归,定性分析代码改动有哪些影响,代码改动的文件/模块和其他的文件/模块的依赖性,然后选择被影响到的文件/模块相应的测试用例来跑一遍
0L [o$D/g FY%ZyzC2y051Testing软件测试网"]5M)VR ?第一种的好处就是,通过大量的跑测试用例,可以尽量多的发现哪些功能是否有被影响到,缺点就是如果你的测试用例库很大,那这个是相当消耗时间和人力的;
0b p*xYZX)}"ro0?"YsF|+Q v2`0 第二种的好处就是,不需要消耗大量的时间和人力,缺点就是因为是定性分析,所以有可能漏掉一些没有被分析出的影响;51Testing软件测试网@R8I2F ?&F
51Testing软件测试网|}+P?9aLM那么有没有其他第三种办法,用定量分析的方法来进行回归测试,答案是肯定的,可以依赖代码覆盖这个方式。
Q;h5m A7[051Testing软件测试网lz"i;a!S]$V q总的来说是这样的:51Testing软件测试网F'Vl"q+G8d*^!Y
51Testing软件测试网~RRq,b*k'@1、每次跑完一个测试用例就把对应的代码覆盖情况录入关系型数据库,这样数据库里面就有了测试用例和代码覆盖率的一一对应的表格。(代码覆盖率可以是文件级别或者是函数,类级别的)详情可以见下图:
QYPV^051Testing软件测试网#J7U~Si.`c iw2、对于修改的代码,分析是属于哪个函数,类或者是文件的,然后去数据库查找所对应的测试用例51Testing软件测试网[DpQ+b],n
9G@&Cf3s8n-l5@ U:ku9b/Wp0 3、这些对应的测试用例就是我们需要的,可能会因为代码改变而受到影响的测试用例。
hr"dzh4F#x051Testing软件测试网a7w'VnIE0| 测试用例51Testing软件测试网RK't1cz | 51Testing软件测试网8V|Ls%DID N$iU4_ 代码覆盖(文件级别) %UGWn C;k0 |
P(Qb4zJ(X\0TC1 )KiK3W*P#KVm].I1Q0 | 51Testing软件测试网 j
Jn8h,j(Y File1, File251Testing软件测试网}z7c4xF m1M0X{z^ |
WO6v8j%n[2sC-|:[0TC2 LpV5J@U2~5[0 | 51Testing软件测试网9ca'r2N$r.Vg[:Qu%S File1, File2,File3 fu_^.TPc%k0 |
'^,|fRml(B$x0TC351Testing软件测试网*W5ge/s].m \;q;_ | 51Testing软件测试网^S.roU
@ |$X$q/x"L File3 pw$V um-E1P:~ }0 |
...... V-W[$G@0 | )YP4o&`mcp0...... -Up&YeT0 |
51Testing软件测试网7?%o-g-cry\&B(x TCn kdvEX/iJ0 | "Z%t ZR;\$Hg0File1, uDH1G5w)Y s+l0 |
比如,数据库里面已经有上面这样一张表格,那么假如开发修改了文件File3里面的代码,根据上面的表格我们知道TC2,TC3是和File3有关联的测试用例,所以我们可以挑出TC2,TC3出来执行,这样就是通过定性的方法来执行回归测试。
TJgp xn4D S0当然你的代码覆盖也可以是函数级别的:
xyb y2q+Lj8}H0A$Y0M)@ az0测试用例51Testing软件测试网X8F7?]-[.G$Na | 51Testing软件测试网 \~S(v5T
zP6W 代码覆盖(函数级别) H#|kv5v1sxO_ ?#V0SE0 |
'Ih(@(ar[0TC151Testing软件测试网ZO9RG#d)C | 51Testing软件测试网]4ro!M$?,L;ZW Func1,func2,func3 9|$c aIBM6\0 |
:wM L`RU^iY,V4i3j0TC2 |