ATM柜员机测试用例
测试用例设计方法-功能图法

测试⽤例设计⽅法-功能图法功能图法定义:功能图由状态迁移图和布尔函数组成.状态迁移图⽤状态和迁移来描述.⼀个状态指出数据输⼊的位置(或时间),⽽迁移则指明状态的改变.同时要依靠判定表或因果图表⽰的逻辑功能.例,⼀个简化的⾃动出纳机ATM的功能图。
应⽤:1. 功能图介绍⼀个程序的功能说明通常由动态说明和静态说明组成.动态说明描述了输⼊数据的次序或转移的次序.静态说明描述了输⼊条件与输出条件之间的对应关系.对于较复杂的程序,由于存在⼤量的组合情况,因此,仅⽤静态说明组成的规格说明对于测试来说往往是不够的.必须⽤动态说明来补充功能说明.功能图⽅法是⽤功能图FD形式化地表⽰程序的功能说明,并机械地⽣成功能图的测试⽤例.功能图模型由状态迁移图和逻辑功能模型构成.状态迁移图⽤于表⽰输⼊数据序列以及相应的输出数据.在状态迁移图中,由输⼊数据和当前状态决定输出数据和后续状态.逻辑功能模型⽤于表⽰在状态中输⼊条件和输出条件之间的对应关系.逻辑功能模型只适合于描述静态说明,输出数据仅由输⼊数据决定.测试⽤例则是由测试中经过的⼀系列状态和在每个状态中必须依靠输⼊/输出数据满⾜的⼀对条件组成.功能图⽅法其实是是⼀种⿊盒⽩盒混合⽤例设计⽅法。
(功能图⽅法中,要⽤到逻辑覆盖和路径测试的概念和⽅法,其属⽩盒测试⽅法中的内容.逻辑覆盖是以程序内部的逻辑结构为基础的测试⽤例设计⽅法.该⽅法要求测试⼈员对程序的逻辑结构有清楚的了解.由于覆盖测试的⽬标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖.下⾯我们指的逻辑覆盖和路径是功能或系统⽔平上的,以区别与⽩盒测试中的程序内部的.)2. 测试⽤例⽣成⽅法从功能图⽣成测试⽤例,得到的测试⽤例数是可接受的. 问题的关键的是如何从状态迁移图中选取测试⽤例. 若⽤节点代替状态,⽤弧线代替迁移,则状态迁移图就可转化成⼀个程序的控制流程图形式.问题就转化为程序的路径测试问题(如⽩盒测试)问题了.3. 测试⽤例⽣成规则为了把状态迁移(测试路径)的测试⽤例与逻辑模型(局部测试⽤例)的测试⽤例组合起来,从功能图⽣成实⽤的测试⽤例,须定义下⾯的规则.在⼀个结构化的状态迁移(SST)中,定义三种形式的循环:顺序,选择和重复.但分辨⼀个状态迁移中的所有循环是有困难的.(其表⽰图形省略)。
UML实验1ATM自动取款机用例图

实验 1 用例图
实验目的:
1.学会分析系统中的参与者和用例
2.掌握用例图的绘制方法
实验学时
4 学时,必做。
实验内容:
画出ATM 系统的用例图
实验步骤:
1.分析
ATM 自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。
通过分析可找出如下几个参与者:
1.ATM
2.客户
通过分析得到如下用例:
(1)存款
(2)取款
(3)查询余额
(4)转帐
(5)修改密码
(6)打印收据
2.绘图步骤:
下面介绍在Rose 中创建用例图的过程:
(1)在“ Use Case View “中双击Main 图,或者右击“ Use Case View “,弹出在快捷菜单中选择“ New ” 一>" UseCase Diagram”,双击图标,出现图1,为编辑用例图做好准备。
(2)进行绘制用户用例图
(3)绘制ATM用例图
存款
转账
修改密码
< ___ /
打印收据
思考题:
1. 参与者为什么是一个类?
因为uml的参与者要做为用户,进行管理。
它对系统由参与操作。
2. 如何命名一个用例?
Class Specification for ATI
Detail
General Op^rati ons Attributes
A Bocumentati on
| Files
加ply 1Browse ▼ 1
OK Cancel。
[生活]场景法测试用例ATM机
![[生活]场景法测试用例ATM机](https://img.taocdn.com/s3/m/2213684e8bd63186bdebbc64.png)
[生活]场景法测试用例ATM机测试用例设计--场景法1. 定义现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。
右图中经过用例的每条路径都用基本流和备选流来表示:基本流用黑色表示,是经过用例的最简单的路径。
备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。
1. 应用的范围1) 基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑 2) 比较常见的有: 网上购物流程, ATM机取款流程等1. 步骤1) 画出需要测试路径的流程图(一般选择工具Office Visio)2) 分析基本流和备选流3) 根据基本流和备选流设计测试用例1. 案例基本事件流:1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;参数1 银行密码参数类型字符串参数范围字符串为0,9之间的阿拉伯数字组合,密码长度为6位备注用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。
如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢~”,用户按下确认键,确认需要提取的金额;参数1 取款金额参数类型整数参数范围 50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最高限额是4500RMB备注系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。
场景法设计用例-ATM机

1.案例描述:下图所示是ATM例子的流程示意图。
2.场景设计:下表所示是生成的场景。
表3-8 场景设计
3.用例设计
对于这7个场景中的每一个场景都需要确定测试用例。
可以采用矩阵或决策表来确定和管理测试用例。
下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。
本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。
表3-9 测试用例表
4.数据设计
一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。
测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。
表3-10 测试用例表
5.要求:将转帐、存款、系统启动这3个流程细化成场景,并设计出相关的测试用例!。
ATM存款功能测试用例

无效等价类
输入存款金额
输入金额>0 输入金额为NULL 输入金额为汉字 输入金额为字符 输入金额为字母 输入金额为空格
所属类
有效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类
显示信息
成功显示信息 信息没有显示 只显示了存款金额 只显示了之前金额 只显示了之后金额 只显示了管理员卡号
数字型所有用边界值)
输入金额
输入金额=20000
输入金额<20000
输入金额>20000
输入金额=NULL
输入金额为汉字
等价类
输入金额为字符 输入金额为字母
之前余额 之前余额=0 之前余额=100 之前余额=4900 之前余额=5000 之前余额=5100
所属类 有效等价类 有效等价类 有效等价类 无效等价类 无效等价类 无效等价类 无效等价类
无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类 无效等价类
显示信息 成功显示信息 信息没有显示 只显示了存款金额 只显示了之前金额 只显示了之后金额 只显示了之前余额和之后金额 只显示了之前余额和存款金额 只显示了之后余额和存款金额 K8
条件
在终端模块上 存款金额最大为20000 每天最多存款金额为200000 用户现在余额为5000 ATM系统的金额最多为500000 金额必须是整百数值
输入金额
输入金额=20000
输入金额=20100
输入金额=19900
输入金额=0
边界值(因为输 输入金额=100
入的为金额、显示的
也是金额,考虑都是
帐号为字母 帐号为空格
无效等价类 无效等价类
ATM自动取款机用例图

自动取款机用例图一、顾客与ATM 机交互功能用例用例约束:1、插卡:用户和ATM 自动取款机交互时,系统提示请插入磁卡,插入磁卡后,如果验证成功,进入登陆界面;否则退卡。
2、输密码:系统在登录界面提示输入密码,如果输入的密码正确,按确认键进入主界面,否则按更正键,重新输入密码。
3、存款:进入主界面后,选择存款进入存款界面,系统提示请放入整百元的人民币。
存款成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
4、取款:进入界面后,选择取款,若所取的金额在界面上有,按相应的金额进行取款操作;若无,在键盘上手动输入所取的金额后按确认键。
取款成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
5、查询余额:进入主界面后,选择查询余额,进入查询余额界面,屏幕显示“您的余额是 *** ”。
完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
6、修改密码:进入主界面后,进入修改密码界面,系统提示输入旧密码,新密码,确认新密码,如果两次输入的新密码一致,按确认键,则修改密码成功。
完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
7、缴费:进入主界面后,选择缴费,系统提示按键选择缴费项目,按确认键后,进入缴费提示界面,则按确认键,则缴费成功。
缴费成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
8、转账:进入主界面后,选择转账,系统提示输入转账账户和转账金额,按确认键后,进入转账提示界面,如果该界面上显示的是你所要转账的用户名,则按确认键,则转账成功。
如果和你所要转帐的用户不一致,则返回主界面,重复上述的转账操作。
转账成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
9、打印凭条:进行完相应的操作后,如果要核实一下操作,选择打印凭条,ATM 自动取款机会把凭条打印出来。
完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。
ATM(自动取款机)的用例图

ATM(自动取款机)的用例图、类图、顺序图、状态图、活动图及协作图1 用例图参与者"银行储户"和ATM机。
简化后的ATM机仅有取款、存款及其余功能。
其余功能不做详细说明。
2 类图图2所示的银行系统类图和图5是类似的,只是将工作人员换成了ATM。
整个银行系统包括了帐户库、银行储户库及ATM系统。
许多单个的帐户组成了帐户库。
帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。
六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。
setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。
getType获取帐户类型,返回类型为char,无参数。
setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。
getAccountNumbe获取帐户号,返回类型为int,无参数。
caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。
getBalance获取帐户余额,返回类型为double,无参数。
许多银行储户组成了储户库。
ATM系统包含了许多ATM机。
银行储户及ATM 机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。
更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。
同样对于一个真正的银行系统,这个类图过于简单。
比如帐户类型我们可以先定义一个abstract class,它包含一个帐户最基本的属性及操作。
银行ATM机测试用例

测试输入的银行卡密码是否为6位数,当输入密码3次错误时ATM机吞卡
测试条件说明
测试银行卡密码
测试步骤
1.测试输入密码的显示状态
2.输入的密码位数小于6位
3.输入密码的位数等于6位且密码正确
4.输入密码的位数等于6位且密码不正确
5.输入的密码位数大于6位
6.输入密码3次错误
预期输出结果
1.输入的密码显示为号
3.提示:存款数目过大,请重新操作
实际输出结果
测试结果
□ 通过□ 测试人员
用户测试人员确认
测试用例编号
软件测试1101-06
测试功能名称
测试退出功能
测试需求
1.点击退出按钮时,ATM机返回银联卡
测试条件说明
测试退出功能
测试步骤
点击退出按钮
预期输出结果
提示:请收好您的卡片,谢谢使用
测试功能名称
测试查询和修改密码功能
测试需求
1.查询时账户倒数第5-8位用号显示
2.新密码必须为6位
3.二次确认密码必须一致
测试条件说明
测试查询和修改密码功能
测试步骤
1.点击查询按钮
2.输入的密码小于6位
3.输入的密码大于6位
4.两次输入的密码不一致
5.两次输入的密码一致
预期输出结果
1.显示账户信息,账户的倒数第5-8位为号显示
2.按界面上的确定按钮ATM机没有反应
3.当密码等于六位时不能再输入数字
4.提示:两次输入密码不一致,修改密码失败
5.修改密码成功
实际输出结果
测试结果
□ 通过□ 不通过 □ 无法测试
备注
测试人员
测试日期
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ATM_ST_XGMM_001修改密码输入6位正确密码
ATM_ST_XGMM_NO1_001修改密码第一次输入6位旧密码
ATM_ST_XGMM_NO2_001修改密码第二次输入6位旧密码
ATM_ST_XGMM_NO3_001修改密码第三次输入6位旧密码ATM_ST_XGMM_003修改密码输入6位新密码(输入不一致)ATM_ST_XGMM_004修改密码输入6位新密码(一致)ATM_ST_XGMM_005修改密码输入大于6位旧密码
ATM_ST_XGMM_006修改密码输入大于6位旧密码前6位为不正确密码
ATM_ST_XGMM_009修改密码输入小于6位新密码
ATM_ST_XGMM_010修改密码输入大于6位新密码前6位为正确密码
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码123456
2.输入新密码654321
3.确认新密码654321
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入6位旧密码
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入6位旧密码
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入6位旧密码
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码123456
2.输入新密码654321
3.确认新密码654320
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码123456
2.输入新密码123456
3.确认新密码123456
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码1234567
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码1234578
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码123456
2.输入新密码12345
高1.一张有效的银行卡
2.一台正常运作的ATM测试机
3.正常登陆到主界面
1.输入旧密码123456
2.输入新密码1234567
2.在输入旧密码内输入"123456",确认
3.在输入新密码内输入"654321",确认
4.在确认新密码内输入"654321",确认1.进入密码修改界面
2.进入新密码修改界面
3.进入重新输入新密码界面
4.个人修改密码成功请在30秒内取卡
1.在主界面点击修改密码按键
2.在输入旧密码内输入错误6位旧密码
3.确认1.进入密码修改界面
2.提示密码错误,请重新输入
1.在主界面点击修改密码按键
2.在输入旧密码内输入错误6位旧密码
3.确认1.进入密码修改界面
2.提示密码错误,请重新输入
1.在主界面点击修改密码按键
2.在输入旧密码内输入错误6位旧密码,确认
3.重复'2'两次(一共出错三1.进入旧密码修改界面
2.提示密码错误,请重新输入
3.卡被锁定
1.在主界面点击修改密码按键
2.在输入旧密码内输入"123456",确认
3.在输入新密码内输入"654321",确认
4.在确认新密码内输入"564321",确认1.进入密码修改界面
2.进入新密码修改界面
3.进入重新输入新密码界面
4.新密码输入不一致,请重新输入
1.在主界面点击修改密码按键
2.在输入旧密码内输入"123456",确认
3.在输入新密码内输入"123456",确认
4.在确认新密码内输入"123456",确认1.进入密码修改界面
2.进入新密码修改界面
3.进入重新输入新密码界面
4.个人修改密码成功请在30秒内取卡
1.在主界面点击修改密码按键
2.在输入旧密码内输入"1234567"1.进入密码修改界面
2.在输入旧密码内不能输入"1234567"只显示前6位,进入修改新密码界面
1、在主界面点击修改密码按键
3、在输入旧密码内输入"1234578"
1、进入密码修改界面
2、在输入旧密码内不能输入"1234578"只显示前6位,密码错误,请重新输入1、在主界面点击修改密码按键
2、在输入旧密码内输入"123456",确认
3、在输入新密码内输入"12345"
1、进入密码修改界面
2、进入新密码修改界面
3、提示密码为六位,请重新输入1、在主界面点击修改密码按键
2、在输入旧密码内输入"123456",确认
4、在输入新密码内输入
1、进入密码修改界面
2、进入新密码修改界面
3、在输入新密码内不能输入"1234567"只显示前6位,进入重新输入新密码界面。