lucklili 发表于 2008-4-28 17:30:58

讨论:如何测试工作流~~~~~~~~

对于工作流程,怎么测试比较好呢?这个可能是具体情况具体分析,很想和大家讨论一下这个问题。


ui599 发表于 2008-6-2 19:39:16

我也想知道:victory:

lyscu 发表于 2008-6-12 16:28:20

就没有下文了么,一起讨论。

风起河边 发表于 2008-7-11 16:57:02

最近也在烦这个,基本上和业务的熟悉程度有很大关系,设计测试用例时采用业务流分支进行覆盖(突然想到的),自己先试试,回来再继续交流,HOHO。

wuchunying 发表于 2008-7-13 20:06:24

ATM流程

举一个用户通过银行的ATM取款机进行取款的例子,来说明流程分析法、等价类分析法和边界值法。
基本事件流:
1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;
参数1      银行密码
参数类型      字符串
参数范围      字符串为0~9之间的阿拉伯数字组合,密码长度为6位
备注      
用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;
用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;
参数1      取款金额
参数类型      整数
参数范围      50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最高限额是4500RMB
备注      
系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。
用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;
      备选事件流(考虑可能失败的地方):
1.      在基本事件流1中:
a)      如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。
2.      在基本事件流2中:
a)      如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”;
b)      如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。
c)      用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。
3.      在基本事件流3中:
a)      如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是1500RMB,请重新输入”;
b)      如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以50为单位的金额”;
c)      如果用户在24小时内提取的金额大于4500RMB,则ATM提款机提示用户,“24小时内只能提取4500RMB,请重新输入提款金额”输入提取的金额超过了系统的设定的限制 ;
d)      如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;
e)      如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡。
4.      在基本事件流4中:
a)      如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,3秒钟后,自动退出银行卡;
5.      在基本事件流5中:
a)      如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态;
根据以上这段需求,画出流程图,如下:
根据流程图,得到基本路径。
基本路径:插入银行卡---提示输入密码---用户输入密码---提示输入金额---用户输入金额---提示确认---用户确认---输出钞票给用户,退卡---用户取走现金,取走银行卡---界面恢复初始状态
      下面分析测试数据,采用等价类划分和边界值法。
等价类划分:
输入条件      有效等价类      无效等价类
银行卡      银行卡      非银行卡
密码      字符串为0~9之间的阿拉伯数字组合,密码长度为6位      长度不是6位的0~9之间的组合
金额      以50为单位,50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最高限额是4500RMB      非50的倍数,或大于1500,24小时内取款超过4500
确认      TRUE      
取现金      TRUE、FALSE      
取银行卡      TRUE、FALSE      
边值分析:
输入      内点      上点      离点
密码      000001、999998      000000、999999      00000、1000000
金额      100、1450      50、1500      0、1550
得到测试用例:
1
测试用例编号      ATM_ST_FETCH_001
测试项目      银行ATM机取款
测试标题      输入合法密码和金额,按金额确认,并取走现金和银行卡,内点小
重要级别      高
预置条件      系统存在该用户
输入      金额100,密码000001
操作步骤      1、插入银行卡;
2、输入密码000001;
3、输入金额100;
4、点击确定;
5、取走现金;
6、取走银行卡。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示确认;
4、输出钞票;
5、退出银行卡;
6、界面恢复初始状态
2
测试用例编号      ATM_ST_ FETCH _002
测试项目      银行ATM机取款
测试标题      输入合法密码和金额,按金额确认,不取走现金和银行卡,内点大
重要级别      中
预置条件      系统存在该用户
输入      金额1450,密码999998
操作步骤      1、插入银行卡;
2、输入密码999998;
3、输入金额1450;
4、点击确定;
5、不取走现金;
6、不取走银行卡。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示确认;
4、输出钞票;
5、退出银行卡;
6、界面恢复初始状态
3
测试用例编号      ATM_ST_ FETCH _003
测试项目      银行ATM机取款
测试标题      输入合法密码和金额,按金额确认,并取走现金和银行卡,上点小
重要级别      中
预置条件      系统存在该用户
输入      金额50,密码000000
操作步骤      1、插入银行卡;
2、输入密码000000;
3、输入金额50;
4、点击确定;
5、取走现金;
6、取走银行卡。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示确认;
4、输出钞票;
5、退出银行卡;
6、界面恢复初始状态
4
测试用例编号      ATM_ST_ FETCH _004
测试项目      银行ATM机取款
测试标题      输入合法密码和金额,按金额确认,并取走现金和银行卡,上点大
重要级别      中
预置条件      系统存在该用户
输入      金额1500,密码999999
操作步骤      1、插入银行卡;
2、输入密码999999;
3、输入金额1500;
4、点击确定;
5、取走现金;
6、取走银行卡。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示确认;
4、输出钞票;
5、退出银行卡;
6、界面恢复初始状态
5
测试用例编号      ATM_ST_ FETCH _005
测试项目      银行ATM机取款
测试标题      插入非银行卡
重要级别      中
预置条件      
输入      
操作步骤      插入IC卡
预期输出      提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡
6
测试用例编号      ATM_ST_ FETCH _006
测试项目      银行ATM机取款
测试标题      输入非法密码,离点小
重要级别      中
预置条件      系统存在该用户
输入      密码00000
操作步骤      1、插入银行卡;
2、输入密码00000。
预期输出      1、提示输入密码;
2、提示用户“您输入的密码无效,请重新输入”;
7
测试用例编号      ATM_ST_ FETCH _007
测试项目      银行ATM机取款
测试标题      输入非法密码,离点大
重要级别      中
预置条件      系统存在该用户
输入      密码1000000
操作步骤      1、插入银行卡;
2、输入密码1000000。
预期输出      1、提示输入密码;
2、提示用户“您输入的密码无效,请重新输入”;
8
测试用例编号      ATM_ST_ FETCH _008
测试项目      银行ATM机取款
测试标题      输入非法金额,离点小
重要级别      中
预置条件      系统存在该用户
输入      密码123456,金额为0
操作步骤      1、插入银行卡;
2、输入密码123456。
3、输入金额0。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示用户“您输入的提款金额错误,请输入以50为单位的金额”;
9
测试用例编号      ATM_ST_ FETCH _009
测试项目      银行ATM机取款
测试标题      输入非法金额,离点大
重要级别      中
预置条件      系统存在该用户
输入      密码123456,金额为1550
操作步骤      1、插入银行卡;
2、输入密码123456。
3、输入金额1550。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示用户 “您输入的金额错误,单笔提款上限金额是1500RMB,请重新输入”;
10
测试用例编号      ATM_ST_ FETCH _010
测试项目      银行ATM机取款
测试标题      提取金额达到上限
重要级别      中
预置条件      系统存在该用户
输入      密码123456,金额为1500,50
操作步骤      1、插入银行卡;
2、输入密码123456。
3、输入金额1500。
4、且在23小时内,提款4500。
5、在23小时59分,提款50。
预期输出      1、提示输入密码;
2、提示输入金额;
3、提示用户 “24小时内只能提取4500RMB,请重新输入提款金额”
补充测试用例,以覆盖左右的路径:
11
测试用例编号      ATM_ST_ FETCH _011
测试项目      银行ATM机取款
测试标题      插入卡后取消操作
重要级别      底
预置条件      无
输入      无
操作步骤      1、插入银行卡;
2、点击取消;
预期输出      1、提示输入密码;
2、退出银行卡;
12
测试用例编号      ATM_ST_ FETCH _012
测试项目      银行ATM机取款
测试标题      输入非法密码
重要级别      中
预置条件      系统存在该用户
输入      密码111111
操作步骤      1、插入银行卡;
2、输入密码111111;
3、重复操作“步骤2”2次(一共出错3次)。
预期输出      1、提示输入密码;
2、提示用户“您输入的密码无效,请重新输入”
3、重复“步骤1”“步骤2”2次(总共提示3次出错);
4、系统吞卡;
13
测试用例编号      ATM_ST_ FETCH _013
测试项目      银行ATM机取款
测试标题      输入提款金额大于账户内金额
重要级别      中
预置条件      系统存在该用户,账户存款为1000
输入      密码123456,金额为1500
操作步骤      1、插入银行卡;
2、输入密码123456;
3、输入金额1500;
4、点击确定;
预期输出      1、提示用户“抱歉,您的存款余额不足!”;
2、3秒钟后,自动退出银行卡;

wuchunying 发表于 2008-7-13 20:10:22

ATM流程图在附件中,参考下吧

hdtest001 发表于 2009-3-3 16:31:07

路过

放任无奈 发表于 2011-6-23 14:46:28

看来5楼是不清楚什么叫工作流...

一直都很烦 发表于 2011-8-8 15:16:08

工作流测试 和 场景 测试不一样

愚人 发表于 2011-11-27 23:04:56

5楼的很全啊

helen_xyy 发表于 2011-12-29 20:59:14

真全。。。
测试用例 写的也很细哦。。。:victory:

页: [1]
查看完整版本: 讨论:如何测试工作流~~~~~~~~