场景设计测试用例1.docx

上传人:b****6 文档编号:7958013 上传时间:2023-01-27 格式:DOCX 页数:16 大小:21.19KB
下载 相关 举报
场景设计测试用例1.docx_第1页
第1页 / 共16页
场景设计测试用例1.docx_第2页
第2页 / 共16页
场景设计测试用例1.docx_第3页
第3页 / 共16页
场景设计测试用例1.docx_第4页
第4页 / 共16页
场景设计测试用例1.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

场景设计测试用例1.docx

《场景设计测试用例1.docx》由会员分享,可在线阅读,更多相关《场景设计测试用例1.docx(16页珍藏版)》请在冰豆网上搜索。

场景设计测试用例1.docx

场景设计测试用例1

使用用例场景

设计测试用例

 

作者:

周毅

 

EMAIL:

foralanzhou@

使用用例场景设计测试用例

概念和定义

不完全、不彻底是软件测试的致命缺陷,任何程序只能进行少量而有限的测试。

测试用例在此情况下

产生,同时它也是软件测试系统化、工程化的产物。

而测试用例的设计一直是软件测试工作的重点和难点,

那么

什么是测试用例?

为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。

我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据

中精心挑选出具有代表性或特殊性的测试数据来进行测试。

怎样的用例算是好用例?

一个好的测试用例是在于它能发现至今未发现的错误。

使用测试用例的好处

在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。

测试用例的使用令软件测试的实施重点突出、目的明确。

在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使

软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。

设计测试用例的方法

黑盒测试:

等价类划分法

边界值分析法

错误推测法

因果图法

 

白盒测试:

逻辑覆盖法

基本路径测试法

 

测试用例的设计过程

测试设计员(分析设计员)依据不同阶段的测试计划、设计模型和实施模型来设计该阶段测试用例。

测试设计员是具有丰富测试经验或具有软件分析设计能力的高级测试工程师。

如果没有测试设计员,

则可用分析设计员代替。

针对白盒,还应有驱动程序和桩模块。

测试点的确定

 

ISO质量体系:

在概要设计或详细设计中应明确指出每个单元模块的测试要点、指标和方法。

 

CMM质量体系:

在系统的用例模型描述中应明确指出每个用例模型的优先级及用例工作流程,每一个用例模型为

一个测试点,用例模型中每一个测试需求至少应有两个测试用例。

理解上的误区

测试用例应由测试设计员或分析设计员来制定,而不是普通的测试员。

测试点应由分析设计员确立,与测试人员无关。

测试工作展开于项目立项后,而不是代码开发完成之后。

测试对象不仅仅是源代码,还包括需求分析、需求规格说明书、概要设计、概要设计说明书、详细设

计、详细设计说明书、使用手册等各阶段的文档。

使用用例场景设计测试用例

用例场景的定义

用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有

基本流和备选流。

为什么引入用例场景

现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的

触发顺序和处理结果形成事件流。

这种在软件设计方面的思想也可被引入到软件测试中,生动的描绘出事

件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。

提出这种测试思想的是

Rational公司,在

RUP2000中文版当中有其详尽的解释和应用,用例场景贯

穿其中。

用例场景例子

下图中经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。

基本流用直黑线来表示,

是经过用例的最简单的路径。

每个备选流自基本流开始,之后,备选流会在某个特定条件下执行。

备选流

可能会重新加入基本流中(备选流

1和3),还可能起源于另一个备选流(备选流2),或者终止用例而

不再重新加入某个流(备选流

2和4)。

 

遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。

从基本流开始,再将基本流和备选

流结合起来,可以确定以下用例场景:

场景1基本流

场景2基本流备选流1

场景3基本流备选流1备选流2

场景4基本流备选流3

场景5基本流备选流3备选流1

场景6基本流备选流3备选流1备选流2

场景7基本流备选流4

场景8基本流备选流3备选流4

注:

为方便起见,场景5、6和8只描述了备选流3指示的循环执行一次的情况。

测试用例

生成每个场景的测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执

行。

测试用例例子

假定上图描述的用例对备选流

3规定如下:

使用用例场景设计测试用例

 

“如果在上述步骤2‘输入提款金额’中输入的美元量超出当前帐户余额,则出现此事件流。

系统将

显示一则警告消息,之后重新加入基本流,再次执行上述步骤2‘输入提款金额’,此时银行客户可以输

入新的提款金额。

据此,可以开始确定需要用来执行备选流3的测试用例:

测试用例

ID场景条件预期结果

TCx场景4步骤

2-提款金额

>帐户余额在步骤2处重新加入基本流

TCy场景4步骤

2-提款金额

<帐户余额不执行备选流3,执行基本流

TCz场景4步骤

2-提款金额

=帐户余额不执行备选流3,执行基本流

注:

由于没有提供其他信息,以上显示的测试用例都非常简单。

测试用例很少如此简单。

实用举例

下面是一个由用例生成测试用例的更符合实际情况的示例。

示例:

 

一台

ATM机器的主角和用例。

下表包含了上图中提款用例的基本流和某些备用流:

基本流本用例的开端是ATM处于准备就绪状态。

准备提款

-客户将银行卡插入

ATM机的读卡机。

验证银行卡

-ATM机从银行卡的磁条中读取帐户代码,并检查它是否

属于可以接收的银行卡。

输入

PIN-ATM要求客户输入

PIN码(4位)

验证帐户代码和

PIN-验证帐户代码和

PIN以确定该帐户是否有效

以及所输入的

PIN对该帐户来说是否正确。

对于此事件流,帐户是有

效的而且

PIN对此帐户来说正确无误。

ATM选项

-ATM显示在本机上可用的各种选项。

在此事件流中,银行

客户通常选择“提款”。

输入金额-要从

ATM中提取的金额。

对于此事件流,客户需选择预

设的金额(10美元、20美元、50美元或100美元)。

授权-ATM通过将卡

ID、PIN、金额以及帐户信息作为一笔交易发送给

银行系统来启动验证过程。

对于此事件流,银行系统处于联机状态,

而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余

额。

出钞

-提供现金。

返回银行卡-银行卡被返还。

收据

-打印收据并提供给客户。

ATM还相应地更新内部记录。

用例结束时ATM又回到准备就绪状态。

使用用例场景设计测试用例

备选流1-银行卡无效在基本流步骤2中-验证银行卡,如果卡是无效的,则卡被退回,

同时会通知相关消息。

备选流2-ATM内没有现金

在基本流步骤

5中

-ATM选项,如果ATM内没有现金,则“提款”

选项将无法使用。

选流

3-ATM内现金不足

在基本流步骤

6中-输入金额,如果

ATM机内金额少于请求提取的

金额,则将显示一则适当的消息,并且在步骤

6-输入金额处重新加

入基本流。

选流

4-PIN有误在基本流步骤

4中-验证帐户和PIN,客户有三次机会输入

PIN。

如果

PIN输入有误,

ATM将显示适当的消息;如果还存在输入机会,

则此事件流在步骤

3-输入PIN处重新加入基本流。

如果最后一次尝试输入的

PIN码仍然错误,则该卡将被

ATM机保留,

同时

ATM返回到准备就绪状态,本用例终止。

选流

5-帐户不存在在基本流步骤4中-验证帐户和

PIN,如果银行系统返回的代码表

明找不到该帐户或禁止从该帐户中提款,则ATM显示适当的消息并且

在步骤9-返回银行卡处重新加入基本流。

选流

6-帐面金额不足在基本流步骤

7-授权中,银行系统返回代码表明帐户余额少于在基

本流步骤6-输入金额内输入的金额,则

ATM显示适当的消息并且

在步骤6-输入金额处重新加入基本流。

选流

7-达到每日最大的提款在基本流步骤

7-授权中,银行系统返回的代码表明包括本提款请求在

金额内,客户已经或将超过在

24小时内允许提取的最多金额,则

ATM显

示适当的消息并在步骤

6-输入金额上重新加入基本流。

选流

x-记录错误

如果在基本流步骤

10-收据中,记录无法更新,则ATM进入“安全

模式”,在此模式下所有功能都将暂停使用。

同时向银行系统发送一

条适当的警报信息表明

ATM已经暂停工作。

选流

y-退出

客户可随时决定终止交易(退出)。

交易终止,银行卡随之退出。

选流

z-“翘起”

 

ATM包含大量的传感器,用以监控各种功能,如电源检测器、不同的

门和出入口处的测压器以及动作检测器等。

在任一时刻,如果某个传

感器被激活,则警报信号将发送给警方而且

ATM进入“安全模式”,

在此模式下所有功能都暂停使用,直到采取适当的重启/重新初始化的

措施。

第一次迭代中,根据迭代计划,我们需要核实提款用例已经正确地实施。

此时尚未实施整个用例,只实

施了下面的事件流:

基本流-提取预设金额(10美元、20美元、50美元、100美元)

备选流2-ATM内没有现金

备选流3-ATM内现金不足

备选流4-PIN有误

备选流5-帐户不存在/帐户类型有误

备选流6-帐面金额不足

以从这个用例生成下列场景

场景

1-成功的提款基本流

场景

2-ATM内没有现金基本流备选流2

场景

3-ATM内现金不足基本流备选流3

场景

4-PIN有误(还有输入机会)基本流备选流4

场景

5-PIN有误(不再有输入机会)基本流备选流4

使用用例场景设计测试用例

场景

6-帐户不存在/帐户类型有误

基本流

备选流5

场景

7-帐户余额不足

基本流

备选流6

注:

为方便起见,备选流

3和6(场景

3和7)内的循环以及循环组合未纳入上表。

对于这

7个场景中的每一个场景都需要确定测试用例。

可以采用矩阵或决策表来确定和管理测试用

例。

下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。

本示例中,

对于每个测试用例,存在一个测试用例

ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入

或已经存在于数据库中)以及预期结果。

通过从确定执行用例场景所需的数据元素入手构建矩阵。

然后,对于每个场景,至少要确定包含执行

场景所需的适当条件的测试用例。

例如,在下面的矩阵中,V(有效)用于表明这个条件必须是

VALID(有

效的)才可执行基本流,而I(无效)用于表明这种条件下将激活所需备选流。

下表中使用的

“n/a”(不

适用)表明这个条件不适用于测试用例。

 

TC(测试用例)

ID号

场景/条件

PIN帐号输入的金

额(或选

择的金

额)

帐面

金额

ATM内的金

预期结果

CW1.场景

1-成功的提款

VVVVV成功的提款。

CW2.场景

2-ATM内没有现金

VVVVI提款选项不可

用,用例结束

CW3.场景

3-ATM内现金不足

VVVVI警告消息,返回

基本流步骤

6

-输入金额

CW4.场景4-PIN有误(还有不

止一次输入机会)

IVn/aVV警告消息,返回

基本流步骤4,

输入

PIN

CW5.场景4-PIN有误(还有一

次输入机会)

IVn/aVV警告消息,返回

基本流步骤4,

输入

PIN

CW6.场景4-PIN有误(不再有

输入机会)

IVn/aVV警告消息,卡予

保留,用例结束

在上面的矩阵中,六个测试用例执行了四个场景。

对于基本流,上述测试用例

CW1称为正面测试用例。

它一直沿着用例的基本流路径执行,未发生任何偏差。

基本流的全面测试必须包括负面测试用例,以确保

只有在符合条件的情况下才执行基本流。

这些负面测试用例由CW2至

6表示(阴影单元格表明这种条件

下需要执行备选流)。

虽然CW2至6对于基本流而言都是负面测试用例,但它们相对于备选流

2至4而

言是正面测试用例。

而且对于这些备选流中的每一个而言,至少存在一个负面测试用例(CW1-基本流)。

每个场景只具有一个正面测试用例和负面测试用例是不充分的,场景

4正是这样的一个示例。

要全

面地测试场景

4-PIN有误,至少需要三个正面测试用例(以激活场景4):

输入了错误的

PIN,但仍存在输入机会,此备选流重新加入基本流中的步骤

3-输入

PIN。

输入了错误的

PIN,而且不再有输入机会,则此备选流将保留银行卡并终止用例。

最后一次输入时输入了“正确”的

PIN。

备选流在步骤

5-输入金额处重新加入基本流。

注:

在上面的矩阵中,无需为条件(数据)输入任何实际的值。

以这种方式创建测试用例矩阵的一个优点

在于容易看到测试的是什么条件。

由于只需要查看

V和I(或此处采用的阴影单元格),这种方式还易于

判断是否已经确定了充足的测试用例。

从上表中可发现存在几个条件不具备阴影单元格,这表明测试用例

还不完全,如场景

6-不存在的帐户/帐户类型有误和场景7-帐户余额不足就缺少测试用例。

一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等

效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据。

使用用例场景设计测试用例

 

TC(测试用

例)ID号

场景/条件

PIN帐号输入的

金额或

选择的

金额

帐面金

ATM内

的金额

预期结果

CW1.场景

1-成功的提款

4987809498

50.00500.002,000成功的提款。

帐户

余额被更新为

450.00

CW2.场景

2-ATM内没有现金

4987809498

100.00500.000.00提款选项不可用,

用例结束

CW3.场景

3-ATM内现金不足

4987809498

100.00500.0070.00警告消息,返回基

本流步骤

6-输入金

CW4.场景

4-PIN有误(还有不

止一次输入机会)

4978809498

n/a500.002,000警告消息,返回基

本流步骤

4,输入

PIN

CW5.场景

4-PIN有误(还有一

次输入机会)

4978809498

n/a500.002,000警告消息,返回基

本流步骤4,输入

PIN

CW6.场景

4-PIN有误(不再有

输入机会)

4978809498

n/a500.002,000警告消息,卡予保

留,用例结束

以上测试用例只是在本次迭代中需要用来验证提款用例的一部分测试用例。

需要的其他测试用例包

括:

场景

6-帐户不存在/帐户类型有误:

未找到帐户或帐户不可用

场景

6-帐户不存在/帐户类型有误:

禁止从该帐户中提款

场景

7-帐户余额不足:

请求的金额超出帐面金额

 

在将来的迭代中,当实施其他事件流时,在下列情况下将需要测试用例:

无效卡(所持卡为挂失卡、被盗卡、非承兑银行发卡、磁条损坏等)

无法读卡(读卡机堵塞、脱机或出现故障)

帐户已消户、冻结或由于其他方面原因而无法使用

ATM内的现金不足或不能提供所请求的金额(与CW3不同,在CW3中只是一种币值不足,而不

是所有币值都不足)

无法联系银行系统以获得认可

银行网络离线或交易过程中断电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1