一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。
如何让你的测试用例结构更清晰条理化(转载)(强烈推荐)
上一篇 /
下一篇 2007-06-01 10:05:20
/ 个人分类:测试用例
@
WSj+n!~Ci
wk0原文 by 上官若冰51Testing软件测试网'G{d6gXu'z
.x6MD'ME|c0
+X6]'LK'a6rB&k!O0%y%a*e3C
NLA
U0一个好得测试用例,需要满足16个字:
[!k
`Y,k2D0 结构清晰
:A.ij(f"_:J/E0 内容准确51Testing软件测试网)g$i8e D~8FFph
易于统计51Testing软件测试网%d8Pqv~r/s
便于维护
P&cI:c(gT051Testing软件测试网A%?%EZp$U6|.A9h
让我们来分析和了解一下测试用例得结构。测试用例的结构一般依照项目的层次,可以划分出一定目录结构。如何来做到结构清晰呢?51Testing软件测试网Lcc(D~ K
51Testing软件测试网+D*Y,b(l4{(yJ/E
假设,如果有一个复杂而庞大的项目,需要对其每个模块,每个模块中的的功能点,每个功能点中的细节分别设计用例,你将用什么方法来使你得测试点体现得条理又准确呢?下面我们以学生管理系统这样一个项目来做例子分析。如下是这个项目的框架式功能介绍:51Testing软件测试网%O-V5E@/c!k?,O;s
screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure1.JPG');" src="http://smallfishdaisy.googlepages.com/Figure1.JPG" border=0>51Testing软件测试网4@v$b r1~
51Testing软件测试网X
JQ9e5R
{C
h7q
E
K/Q-[$Au/^0从该项目功能点上可将系统划分成如下的关系:
K%I%xp:A
?z0screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure2.JPG');" src="http://smallfishdaisy.googlepages.com/Figure2.JPG" border=0>
n
n4WEI3[0
7N9d1|Q x I'cr,H8V0
5g@\3S8E8M-Im0任何一个的项目,不管其难以程度,都需要将它由大到小,由复杂到简单去划分。从上面这个关系我们可以得出,一个项目从上到小可以出现多个层级关系:
qom]O)kr0* 最大的层级就是一个项目,如学生信息管理系统这个项目;51Testing软件测试网#REf%`F@
* 其次组成这个项目的各个分支(模块)功能,如登陆,数据库管理,学生信息管理,账户管理,成 绩分析统计管理;51Testing软件测试网3~
e\j
q&{,P
* 再次,每个分支(模块)功能内部,外部功能点。51Testing软件测试网7ZB:s(b+P
51Testing软件测试网Pp*QM$q7u?V0{
K
所以,至少有三层关系在其中。那么,如何让我们的测试用例也能很好的体现出这样的层级关系呢,我们引入如下概念:51Testing软件测试网7??9JP4Jk
51Testing软件测试网(hL8vy$l*i)C
WookBook:51Testing软件测试网 uZY
YM/B$wN
vr
模块,各产品根据各自特性划分成不同的子模块51Testing软件测试网c2A!Z:DLM
51Testing软件测试网B }NV
N\;o
WookSheet:51Testing软件测试网t h`1\Pg6Hj uF
子模块,在各模块基础上分成不同的细分模块
$A_;@{+v051Testing软件测试网nl!aHe2o#rt\
Secnario:51Testing软件测试网Yi%}?1^/u y2@+Hy
A set of test cases ensure that the business process flows are tested from end to end. They may be independent tests or a series of tests that follow each other, each dependent on the output of the previous one.
u5TG R#r3@;q+r7R0
k_ts
{8\i0Part:51Testing软件测试网"B0?#E;O$}h'}-?0q
同一个细分模块中的层次划分,比如按照每个页面一个Part进行细分
Y"{Ej@051Testing软件测试网P"u
|4H3DM$Z
Case:
Y/M9M7e0y(c b
r0用例,针对一个或者多个Objective的具体测试用例51Testing软件测试网0e3?{k0PR;v9B\
51Testing软件测试网$t t8vh3L#?
Pre Requisite
x7EN2\9R"b@0包括整个子模块以及每个测试用例的测试前提条件51Testing软件测试网R5oka5v
Le$s-H3`W@#W0Test Procedure51Testing软件测试网%|*e^1xu
dB}
每个分组中的测试用例执行顺序,当测试用例顺序执行时可省略
v1WHqE3h$|N7i0
!h?J'b,t5@0WookBook,WookSheet, Secnario, Part, Case的层级关系如下:
!Kn2ze)B ~-M.yIyT0screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure3.JPG');" src="http://smallfishdaisy.googlepages.com/Figure3.JPG" border=0>
@[L;|
u#@8`?imL0
9N
x"iH x.c0Figure 1: The diagram of relationship among the Worksheet, Scenario, Part and Case in one project51Testing软件测试网3q#t
Z4z
b&M
d-H*F(l
e7i
z1k0f._b&p,]0screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure4.JPG');" src="http://smallfishdaisy.googlepages.com/Figure4.JPG" border=0>51Testing软件测试网o8dOL%T8u-`({n!f
51Testing软件测试网v*{|i]Hk$@
Figure 2: The Diagram of relationship among the Worksheet, Scenario, Part and Case in one workbook51Testing软件测试网 q/F9n[EE%~
51Testing软件测试网HW(X0~+EW,{Pf"T
51Testing软件测试网;Q$enbH0t-em0e8lF
现在,我们一起根据上图的层级关系,来为学生管理系统构建其测试用例的框架。51Testing软件测试网 @#ab/O$T*f(q8tF{|
kF8lk:p_~(Wl01. 首先我们用一个excel类型的WookBook来定义这个项目,如C050505 SIMS TC 01 01. xls
|g:Z})OU!v:ZUU051Testing软件测试网zS*y"e!q
screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure5.JPG');" src="http://smallfishdaisy.googlepages.com/Figure5.JPG" border=0>
&@-~eU-HtrBU:]0
kQ#XH(I-p+P,J*g051Testing软件测试网+R!_,]@e*gn
P
9B}2V8SY/S
C02. 在一个WookBook中,用多个WookSheet去定义项目中的主要功能点
7h` Vl1x&~M$a{0
/{
O6p3W
GzX0screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure6.JPG');" src="http://smallfishdaisy.googlepages.com/Figure6.JPG" border=0>51Testing软件测试网/QK5GV[r!wF
|Qw b1z%D_051Testing软件测试网5LlP\b
\1[ `+Kj%?(~1GC03. 对模块中需要根据不同场景处理的功能点,再细分出它的场景模块。如在学生信息管理模块,因为权限的不同,所涉及到的场景和功能也会有各自的特点:
D"}gJ3NXY]051Testing软件测试网%V5i0r;v6N?#d(R#zM
B
screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure7.JPG');" src="http://smallfishdaisy.googlepages.com/Figure7.JPG" border=0>51Testing软件测试网1Y?L-O'b
51Testing软件测试网iWJ-ke(C*W:l]
3QQit2R;G bz0
w.m)~ZU:a04. 在一个WookSheet里面,根据流程和子功能划分成不同的part, 例如在学生管理_助教这个sheet里面:
O/Thqnw051Testing软件测试网9G `+W[-WY#f
screen.width-461) window.open('http://smallfishdaisy.googlepages.com/Figure8.JPG');" src="http://smallfishdaisy.googlepages.com/Figure8.JPG" border=0>
?:x-?"~(R8m"T051Testing软件测试网&ZI { |
f
注:在Part中,如果需要继续划分,可以允许Sub-Part51Testing软件测试网4`%^8M1o^8C`)E!h
51Testing软件测试网,r$NW%T0l~^]9s
51Testing软件测试网7U/GCOv
5. 在每个Part中,设计唯一的Case。Case是测试用例中的最小单位,不可再分。
v`r'a)q MF r6L051Testing软件测试网^l%Qu&e"L&W0k@_
这样,一个层次鲜明,条理分明的测试用例的结构框架就出来了。拥有清晰结构的测试用例,不仅阅读方便,同时也为测试用例的管理,提供有效的目录组织。
7oF*N~1G,m9h,T051Testing软件测试网7cw3SoD(|Pmn
例如:51Testing软件测试网zt$_;NV8V4D
1. 登陆
a
rzlE4D"qwF02. 帐号管理51Testing软件测试网
QZ[1CA9k4uu
3. 学生信息管理51Testing软件测试网KrT%v;T s
3.1. 管理员权限51Testing软件测试网!K2k'r
|.PU
3.1.1. 新增学生信息51Testing软件测试网3b)e0m6wU9l
3.1.2. 修改学生信息51Testing软件测试网x,?
a"_FL
3.1.3. 复制学生信息
&Z0OSw1bB7Yc0 3.1.4. 删除学生信息51Testing软件测试网8J@^'IN9AR
3.1.5. 查询学生信息
'?1gih%t
ImP03.2. 教职权限
8a)uk_Z9kV}03.3. 助教权限
#vW}:aod%XZge04. 成绩分析与统计51Testing软件测试网3aX NP-q U
5. 数据库管理51Testing软件测试网8MF;fj6Z
x3x3E O1@0C/V0
收藏
举报
TAG:
测试用例