从用例到测试用例的追踪(3)

发表于:2015-09-08来源:uml.org.cn作者:不详点击数: 标签:测试用例
书籍订阅的例子中包含了一个基本流程和8个可选流程。它们中的4个向前走,另外4个向后走。如果你想描述全部可能的用例结合,你将有超过4000个场景

  书籍订阅的例子中包含了一个基本流程和8个可选流程。它们中的4个向前走,另外4个向后走。如果你想描述全部可能的用例结合,你将有超过4000个场景 (这里有8个可选流程,我们想让其中4个做两次,因为他们向后循环,所以是2的(8+4)次幂,,等于4096。很明显,我们不需要把他们全部做完。

  选择能代表这四千个场景的一个合理子集。通常,明智的做法是选择一个基础流程,一个覆盖了每一个可选流程的场景,以及一些合理的可选流程的结合。使用表 1的例子,做一个包含流程A1和A7的场景也许没有什么意义,因为它们在图标上分隔太远以至于不能互相影响。但是,做A1和A2是有意义的,因为他们互相紧埃,之间互相影响。

  表 2 图解了选择的场景:一个代表基本流程,8个代表每一个可选流程,6个反射可一些流程的结合(特别是那些拥有两个距离很近的向后循环)。

  以下15个场景值得测试:

  表2. 值得测试的场景

  在RequisitePro中如何创建一个场景

  在RequisitePro中场景不是一个标准的需求类型,所以你需要增加它成为一个新的需求种类。为了完成它,去Project Properties,选择Requirement Types 标签,然后点击 Add。接下来,填充到适当的区域 (如图 8所示),然后点击OK。

  图8. 增加一个需求类型场景

  创建了这个需求类型之后,我们应当输入全部的场景并设置从用例到这些场景的追踪,如图 9所示。

  图9. 从用例到场景的追踪

  在RequisitePro中,你可以用用例的名字和一系列可选流程的名字为场景命名(例如:UC1, A6, A7)。

  既然你有了所有的场景,你就需要获得测试用例。这里需要完成4个步骤:

  为用例的每个步骤确定变量

  为每个变量有效地确定不同的选项

  在测试用例中测试结合选项

  为变量赋值

  以下部分描述了这些步骤的细节。

  步骤1:为每个用例步骤确定变量

  在所给场景的所有步骤中你需要确定全部输入的变量。例如,在某些步骤中,如果用户输入了用户ID和密码,这就产生了两个变量。一个变量是用户ID,另一个变量是密码。变量也可以被用户选择(例如,保存更改或取消)。

  这里是书籍订购例子的全部变量:

  在步骤B2中,这里有两个变量:电子邮件地址和密码。它们全是字符串。在步骤B3中,搜索一本书,这个变量是一个搜索字符串,因此它也是字符串。 在步骤B4,我们需要从系统返回的目录中选择一本书。在步骤 B8中,我们需要选择送货方式。Amazon.com 提供了4个选择。

  步骤2:为每个变量有效地确定不同的选项

  如果它们引发不同的系统行为,选项将是"明显不同的"。例如,如果我们选择大概6到10的字符长的用户id,以下的输入显然是不同的 :

  Alex ——因为太短,我们希望显示一个错误的信息

  Alexandria ——因为它是一个有效的用户id

  Alexandrena ——因为太长,我们期待系统可以阻止我们输入如此长的id

  然而,"Alexandria" 和 "JohnGordon" 却不是明显不同,因为它们都是有效的用户id,可以使系统有相同的反应。

  以下的指导方针描述了一些特殊的例子。

  一个选项可以认为是非常不同的,如果:

  它引发了不同的程序流程 (通常是一个可选流程)例如

  输入无效的密码将会引发可选流程2

  它引发不同的错误信息例如

  如果电子邮件太长,信息就会是 "电子邮件应当在50个字符以内"

  如果电子邮件没有包含 @ 符号,信息就会是:"无效的电子邮件地址"

  它显示了不同的用户界面例如

  如果付费的方式是信用卡,在区域里显示的是信用卡号输入号码,产品有效期和持卡人的姓名。

  它使得在下框中有不同的选则可以使用例如

  顾客注册界面包含了 "国家和州/省"的下拉框。"州/省"的下拉框一般是基于国家的选择:比如美国,它包含了全部的州,加拿大是全部的省,其他国家是缺省的。它创建了3个不同的选项:

原文转自:http://www.uml.org.cn/Test/200607073.htm