为祖国软件测试事业添砖加瓦!
转:单元测试用例概述
上一篇 /
下一篇 2007-08-14 20:21:38
/ 个人分类:资料
&i&i&b.{#Dz"eW-C,Z0测试的目的是检查程序的行为是否符合设计规格,程序的行为就是某种输入时会产生什么输出,因此,一个典型的测试用例完成以下工作:设定输入数据、执行程序、验证输出是否符合预期。51Testing软件测试网)~7G.m gs J
51Testing软件测试网$O |@*r9tK'T}8XI
函数的输入数据一般包括:51Testing软件测试网&MH+D7@V4x,~:UT
A、参数;
:izVwz-SG'h
BjO0B、成员变量,只考虑函数需要读取的成员变量;
Cs5l!F8I1jV~0C、全局变量,只考虑函数需要读取的全局变量;51Testing软件测试网~QV p+x/}d
以上三项,当涉及到复杂数据类型时,只考虑函数需要读取的域,例如,一个结构对象,有十个域,而函数只读取其中一个域,则不必考虑其他九个域。51Testing软件测试网
HJ`H#GMh2Hf
D、其他数据,如函数需要读取文件或数据库中的数据,则要先在文件或数据库中设置好这些数据。51Testing软件测试网n
Z%j9r6kr(x,U-P
51Testing软件测试网3lMriU`*k*l o
显然,所有可能输入都进行测试,既不可能也无意义,我们应该用一定的规则选择有代表性的数据作为输入。输入可分为三大类:正常输入,边界输入,非法输入,每大类还可再分为若干小类,划分小类的依据是:同一小类中每个数据都具有等价的测试效果,也就是说,小类中取任取一个数据作为输入,如果测试通过,可以肯定同小类的其他输入也可以测试通过,这就是平常说的“等价类法”。
_ C:JK3r3t/QQQ8D0
#Q:Cu?I
P1[
}2N0正常输入51Testing软件测试网Yy)n4m"^h5j%HG"M2m
例如字符串的Trim函数,功能是将字符串前后的空格去除,那么正常的输入可以有四类:
:C7j,Cn1KX1k8V0前面有空格;51Testing软件测试网6~["tvb
后面有空格;51Testing软件测试网\2}T4p3@@JSvC
前后均有空格;51Testing软件测试网!o@U4tcn7p
前后均无空格。51Testing软件测试网.Rd.tX"_/RqV#^
Q!vB
n8aBz:Z2Q0边界输入51Testing软件测试网O
A?%\z
上例中空字符串可以看作是边界输入。
F@6A
L4Q']y0再如一个表示年龄的参数,它的有效范围是0-100,那么边界输入有两个:0和100。51Testing软件测试网m;pm*c-G
e%qo
!N0nSNp:N_5J0非正常输入51Testing软件测试网7cN)T_A
垃圾数据或使代码不能完成正常功能的数据,如一个文件操作的函数,非正常输入有这么几类:51Testing软件测试网)gQcB)I$n!nO8`w
文件不存在;51Testing软件测试网ry'S/vk5D Z!o+{
目录不存在;51Testing软件测试网.? }5YyZb
文件正在被其他程序打开;51Testing软件测试网)^"s0lhL
权限错误。
'^;i"bU1j
g0
LUu;w:]%_1d5D0预期输出51Testing软件测试网^!Kp+iJ$\7}
一个完整的测试用例应该有预期输出,预期输出就是程序运行后的预期结果,通常表现在对某些数据的修改,即预期输出要自动判断程序所改写的数据的结果值是否符合预期。程序可能修改的数据包括:
Uf/sW@K.AN0A、返回值;
B k
Tj#C
Zb(G#~`0B、输出参数;
!Cep'L|'uzx0C、成员变量,只考虑函数所改写的成员变量;51Testing软件测试网8W#`{xT)Mkv;|
D、全局变量,只考虑函数所改写的全局变量;
W'mTD
_5lp0以上四项,当涉及到复杂数据类型时,只考虑函数所改写的域,例如,一个结构对象,有十个域,而函数只改写了其中一个域,则不必考虑其他九个域。
[~;I/dd"?)]0E、其他数据,如函数改写文件或数据库中的数据,也是一种输出,不过通常难于自动判断是否符合预期,可用人工查看来代替。
,o&g\q+Q2yArC
S051Testing软件测试网0|5G
i&zz~v9M原文地址:51Testing软件测试网r o8L$h L+@9d
http://www.51testing.com/?3565851Testing软件测试网5lF-F,Hp
e `
51Testing软件测试网5R)X"BX;{,rg从单元测试的用例设计可以看的出51Testing软件测试网,Ny^"}.ZYA
51Testing软件测试网_i7t"J'X
N,z我们用例设计的思想都是一致的
6a$fsK6[U}q0*LPov%\9P0所以现在只会做黑盒测试的测试人员也不用担心不会白盒测试
.}S/A
pE/Tz/Z/[0oAq+Ky\3Zs^'t0思想都一样,只是把我们的文字换成了代码,仅此而已51Testing软件测试网$}h7bN$kv+r
51Testing软件测试网0q_\8?m!A%Rb \kL^_^
8q6CXp%Uf%C#^0
收藏
举报
TAG:
资料