从用例到测试用例的追踪
上一篇 / 下一篇 2007-06-14 12:53:02 / 个人分类:Rational
[关键字]Rational RequisitePro | ||||||||||||||||||
本文阐述了一种从用例产生功能测试用例的正式方法,包括如何创建一个用例,产生所有场景,并且创建合理的测试用例,以及使用IBMRationalRequisitePro进行从用例到场景和测试用例的追踪。*X1S7i3m;q"U"b051Testing软件测试网-To)_oF} 一个需求被定义成 "系统必须遵从的条件或能力"。51Testing软件测试网cr+q,s? 4U8s0K1{%U,fn }Q0iV0它可以是:
%g*} pNi9p ii[T051Testing软件测试网Tl L x5B4u2j0\ zS$m,vW _9oK9y0图1显示了带有不同需求级次的需求金字塔 3we1^egO3d3d051Testing软件测试网2i~-A J](Xa}P
t1J)G,H0[ZW3PN0最高层的是涉众需求。通常,一个项目包含五到十五个这样的高层需求。较低层次的是特性,用例和补充规约。不同层次的需求有不同的细节。越低的层次需要越多的细节。例如,一个需求可以是:"数据必须是持久的"。特性可以将此需求精化为:"系统应当使用一个关系数据库"。在补充规约层次,需求会更加详细:"系统应当使用ORACLE9i数据库"。层次越低,需要越详细的需求。 P)oW9D,hxA0F^td#JTY6x7X)l:g`0需求之间的追踪关系51Testing软件测试网mvRE N3n~![ cz a0XB6in+f [&j(f0追踪是这样一种技术,在系统中它能为不同层次的需求之间提供关联。这个技术帮助你确定任何需求的起源。图 2 阐述了从高层次到低层次需求是如何被追踪的。每一个需求通常映射到几个特性,然后这几个特性映射到用例和补充需求。51Testing软件测试网N)C|B5~3w6TyE:{ q*}o j6@Jd&y\*_,L4]+k0 51Testing软件测试网b9}3yN0z,M"p .o:D@Zgp[0用例描述了功能性的需求,补充规约描述了非功能性的项目。另外,每个用例映射到许多场景。映射用例到场景,是一对多的关系。 场景映射到测试用例也是多对一的关系。另一方面,在需要与特性之间,是多对多的映射。 i Lr^9B*P xo[00L$iZy/Am0追踪起到了几个重要的作用:51Testing软件测试网f3oXJ[9f9~;q
一个追踪项是一个项目元素,其需要从另一个元素进行追踪。按照IBM Rational RequisitePro,它是一个需求类型的实例所表示的任何事情。在RequisitePro中一些需求类型的例子是涉众需求,特性,用例,参与者,和术语条款。51Testing软件测试网z\n-A+Fh{6Al+} 51Testing软件测试网(fu#~-b N:~h(O在RequisitePro中,有一种按照特定视图展示追踪性的便利方法。图3 显示了将特性映射到用例的一个例子。51Testing软件测试网WDYb au&P8~)j 51Testing软件测试网sa}^5^,A]Hul
d$z4Z6h @_7R051Testing软件测试网*d5C"bE9K|X"d9? 9F7` B Bs"v0这里有一些问题,这些箭头应指向哪里:是从更低的层次到更高的层次,还是从更高的层次到更低的层次。甚至在RequisitePro中的两个例子使用了两个不同的方法。答案是没有关系,只要你在项目中始终如一地使用它们就可以了。51Testing软件测试网5tor!F U.DE3Z 4MtBz$LCsy9id0参与者和用例 ?8Iw5L \ |tR*X051Testing软件测试网D0c(p*v&i IT参与者是与系统交互的某人或某事。用例是根据操作顺序的一个系统描述。它为参与者产生了一个看的见的结果或数据值。以下是用例的一些特征:51Testing软件测试网^|0W Cx j_;O
@G2k#cl/M2_8QSk0K0用例的目的是促使开发者、顾客和用户之间对系统应做些什么达成一致。用例在开发者和顾客之间达成了某种契约。它同时也是用例实现的基础,它在程序设计中起到了非常重要的作用。另外,你可以从用例中产生序列图,协作图和类图。此外,你可以从用例产生用户文档。用例可能还在计划迭代的技术内容方面有帮助,并且使系统开发者更好地了解系统的意图。最后,你可以使用它们作为测试例程的输入。 -cw8Ak9]b2~.}06T:[)n+d5b0用例图显示了参与者和用例之间的关系。在本文我们使用一个在线书店作为项目的一个例子。图4 展示了这个项目的用例图。 &Z&FB7cS(~W051Testing软件测试网5Mc:FK8VZ
用例的通用格式是: R)D"h.X$mo]9Bs{0
~KGL.p4d0基本流程包括最通常的一系列行为,此步骤发生在每件事正确运转的时候。可选流程表现了流程的变更,包括不很普遍的情况和错误条件。环境图是用例图的一部分,向参与者和其它用例显示了特殊用例之间的关联。活动图是一个解释用例的流程图。环境图和活动图不是必须的,但是可以帮助你可视化用例和它在项目中的位置。 J/E%|-J.Z0wHJ;h6M0Lj_0X-YTp0在我们的在线书店项目中,用例的基本流程的安置顺序也许像这样:51Testing软件测试网'M,Vk9[5V|
除了基本流程以外,还有许多可选流程。例如,第一个可选流程描述了当用户是一个新的用户时所发生的事情(不是在线书店的已注册用户)。在基本流程中,用户经常拥有一个用户ID和密码。相反,可选流程 1 描述了当第一次用用户需要注册并提供顾客数据时的情况。可选流程的另一个例子是无效的密码。用户输入了错误的密码,系统显示错误信息。 (X%w$@:D'z:~rj051Testing软件测试网ReT-~XI'?-aIy表 1 显示了"安置顺序"用例中的可选流程:51Testing软件测试网_?%rq$p"O/qf
`4a0p0Na$r U0下列约定用于为事件流命名: 0E F%mM8x_2Uwf6z0\.N.t051Testing软件测试网h n8IPd:g基本流程:B51Testing软件测试网d V y5B3i w](e'_r&V0可选流程:A1,A2, A3,... e&` Nv9GHh051Testing软件测试网:lrO!N0oZ0O"C LG在基本流程中的步骤:B1,B2, B3, ...51Testing软件测试网 g,G&V oy(e 51Testing软件测试网:GtBP {7L/_vn'M在可选流程1中的步骤:A1.1, A1.2, A1.3, ... p S,W7_X.xb[0;ESO1d~#Jn0在可选流程2中的步骤: A2.1, A2.2, A2.3, ...51Testing软件测试网D A$K9l/iu 51Testing软件测试网 B hj+W5J为得到可选流程,使用活动图 5。图 5显示了描述用例的活动图。 x p|!]R1q Y$S4xc051Testing软件测试网/tUE|(e/e!p
基本流程是一条向下的直线,然而可选流程可以是向前或向后的循环线。51Testing软件测试网A;Qt(yL]1m l .KE.Ck!Fu0如何从用例创建测试用例 7izP hK051Testing软件测试网{'S0Q"QO在创建一个测试用例之前,你需要为所给用例确定全部的场景。一个场景是用例的一个实例。它描述了一个贯穿事件流的特殊路径。图 6是一个假设的图表,它描绘了一个拥有基本流程B和可选流程A1, A2, A3, A4的用例。为了找到全部的场景,我们需要画出贯穿于此图的所有场景。 X mS4Y+h;d6b[05f'jF|5|z4@O0x051Testing软件测试网@eBtI"_f ;O%c_q^e#a0 s"^B8F|6Iv+T7{y0每一个可选流程都有一个场景,并且每个结合的可选流程都有一个场景。显然,这里场景多于可选流程,因为一个场景用于A1,另一个场景用于A2,还有一个场景用于这两个的结合。51Testing软件测试网"J(luS3F+e :T+e&Z;P%e:Za)j0描述场景最简单的方法是提供一系列的可选流程,例如,做两遍流程A2,然后做一遍流程A6: b)SC^fG"Z0N)z*H.ZC~^0SC16:A2,A2,A6。 |