测试用例设计之场景图法

定义

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。

 

测试用例设计之场景图法  


上图中经过用例的每条路径都用基本流和备选流来表示:
基本流用黑色表示,是经过用例的最简单的路径。
备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。

 

应用范围

1) 基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑

2) 比较常见的有: 网上购物流程, ATM机取款流程等

使用步骤

1) 画出需要测试路径的流程图(一般选择工具Office Visio)

2) 分析基本流和备选流

3) 根据基本流和备选流设计测试用例

案例

基本事件流:

用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;

 

测试用例设计之场景图法  

 

用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;

用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;

 

测试用例设计之场景图法  

 

系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。

用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;

备选事件流(考虑可能失败的地方):

在基本事件流1中:

a) 如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。

在基本事件流2中:

a) 如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”;

b) 如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。

c) 用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。

在基本事件流3中:

a) 如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是1500RMB,请重新输入”;

b) 如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以50为单位的金额”;

c) 如果用户在24小时内提取的金额大于4500RMB,则ATM提款机提示用户,“24小时内只能提取4500RMB,请重新输入提款金额”输入提取的金额超过了系统的设定的限制 ;

d) 如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;

e) 如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡。

在基本事件流4中:

a) 如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,3秒钟后,自动退出银行卡;

在基本事件流5中:

a) 如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态;

场景法--分析过程

 

测试用例设计之场景图法  

 

总结

1) 流程图可以参考需求规格说明书中的相关流程图

2) 如果没有需求文档,和需求和开发沟通,确保了解被测试软件的流程

3) 流程有大流程和小流程,大流程是指大功能的跳转,小流程是指功能内的调整,大小流程需要都被覆盖到.

上一篇:Spring事务


下一篇:ATM取款机-C语言期末大作业