文档章节

测试ATM机

一贱书生
 一贱书生
发布于 2016/11/24 09:03
字数 900
阅读 49
收藏 1

在一个分布式银行系统中,如何测试一台ATM机

 

解答

1、确定Who/What/When/Where/Why/How

2、确定测试工具,确定是否可以查看源码

3、将问题分解:

  • 登录
  • 取款
  • 存款
  • 查询余额
  • 转账

4、确保涵盖所有错误情况(余额不足、新开账户、不存在的账户等)

5、安全性和可靠性。

 

一、基本事件流:

 

 

1

、用户向

ATM

提款机中插入银行卡,如果银行卡是合法的,

ATM

提款机界面提示用户输入

提款密码;

 

2

、用户输入该银行卡的密码,

ATM

提款机与

MainFrame

传递密码,检验密码的正确性。如

果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;

  

3

、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是

xxx

,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;

 

4

、系统同步银行主机,点钞票,

输出给用户,

并且减掉数据库中该用户帐户中的存款金额。

  

5

、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,

ATM

提款机界面恢复到初始

状态;

 

二、备选事件流

(

考虑可能失败的地方

)

 

 

1.

在基本事件流

1

中:

 

 

如果插入无效的银行卡,那么,在

ATM

提款机界面上提示用户“您使用的银行卡无效!”,

3

秒钟后,自动退出该银行卡。

 

2.

在基本事件流

2

中:

 

 

 

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

  

 

如果用户连续

3

次输入错误密码,

ATM

提款机吞卡,并且

ATM

提款机的界面恢复到初始

状态。此时,其他提款人可以继续使用其他的合法的银行卡在

ATM

提款机上提取现金。

  

 

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

  

3.

在基本事件流

3

中:

 

 

 

如果用户输入的单笔提款金额超过单笔提款上限,

ATM

提款机界面提示“您输入的金额

错误,单笔提款上限金额是

2500RMB

,请重新输入”;

  

 

如果用户输入的单笔金额,

不是以

50RMB

为单位的,

那么提示用户“您输入的提款金额

错误,请输入以

50

为单位的金额”;

  

 

如果用户输入正确的提款金额,

ATM

提款机提示用户确认后,用户取消提款,则

ATM

款机自动退出该银行卡;

  

 

如果

ATM

提款机中余额不足,则提示用户,“抱歉,

ATM

提款机中余额不足”,

3

秒钟

后,自动退出银行卡。

 

4.

在基本事件流

4

中:

 

 

如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,

3

秒钟后,自动退出银行卡;

  

5.

在基本事件流

5

中:

 

 

如果用户没有取走现金,或者没有拔出银行卡,

ATM

提款机不做任何提示,直接恢复到界面

的初始状态;

  

三、基本路径:

 

插入银行卡

---

提示输入密码

---

用户输入密码

---

提示输入金额

---

用户输入金额

---

提示确

---

用户确认

---

输出钞票给用户,

退卡

---

用户取走现金,

取走银行卡

---

界面恢复初始状

 

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 724
码字总数 600123
作品 0
私信 提问
3月第三周安全要闻回顾:云计算有风险 ATM机成骇客新宠

安全方面值得关注的消息较多,云计算的安全问题仍是近期的热点,上周Google Docs泄漏用户敏感文件的风波刚过,云计算服务对现有安全标准和法律法规在遵从性方面的缺失再次被安全行业所关注。...

J0ker
2009/03/30
0
0
用时30%,速度快百倍,MIT自动机器学习系统填补数据科学人才空白

核心看点: 麻省理工学院和密歇根州立大学的一个称为自动调谐模型(ATM)的自动机器学习平台使用基于云的按需计算来加速数据分析。 ATM提出的解决方案比人类的更好,仅用人类30%的时间,而且...

智能观
2017/12/21
0
1
全球著名白帽黑客 Barnaby Jack 周四被发现死于旧金山公寓中

根据路透社报道称著名黑客技术大拿Barnaby Jack本周四晚上被发现死于旧金山的自家公寓中,目前警方已经介入调查。警方发言人称在Jack的死因上暂时还没有发现“谋杀”的情况,可能是猝死。目 ...

大屌萌妹
2013/07/28
5.5K
42
需求详解

引言 很多人像老黄牛一样辛辛苦苦做了很多年软件开发,但却连“需求”到底是什么都不清楚。当然,没有人自己会承认这点! 2. 什么是需求? 凡事都有一个开头,软件项目也不例外,对于软件项目...

无寄语
2016/08/20
13
0
銀行卡複製器多少钱 銀行卡複製器购买

銀行卡複製器多少钱QQ:375572363 联系电话:13057124919★★联系人:王先生 ★[金财富科技] 诚信合作 共创双赢 帖子打不开 请点[百度快照]没有人会 随随便便成功,机遇可遇不可求,有准备就会...

做小炒vb
2013/07/21
1
0

没有更多内容

加载失败,请刷新页面

加载更多

FinderWeb2.4.9 程序员的看日志利器

FinderWeb2.4.9 程序员的看日志利器 使用方法:管理员登录,分配对应用户的的主机和文件权限即可。 部署方式: 下载并解压到webapps目录即可 http://www.finderweb.net/download/finder-web...

吴伟祥
11分钟前
0
0
PHP的pcntl进程控制教程一(pcntl_fork)

pcntl 简介 PHP的进程控制支持实现了Unix方式的进程创建, 程序执行, 信号处理以及进程的中断。 进程控制不能被应用在Web服务器环境,当其被用于Web服务环境时可能会带来意外的结果。 这份文档...

hansonwong
16分钟前
0
0
php扩展模块安装

11月21日任务 11.32 php扩展模块装安装 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块 cd /usr/local/src/ wget https://codeload.github.com/phpredis/phpredis/zip/deve......

zgxlinux
17分钟前
1
0
windows下使用IDEA创建VUE项目

1.环境搭建 1.1检测是否安装好nodejs和npm 检测命令 node -v npm -v 如果没有安装需要先安装 nodejs的下载路径:https://nodejs.org/en/download/ 在Windows上安装时务必选择全部组件,包括勾...

文文1
24分钟前
2
0
Mybatis插件plugin应用测试,替换查询sql

1、新建插件 import org.apache.ibatis.executor.CachingExecutor;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.executor.parameter.ParameterHandler;im......

jcc_codingBoy
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部