文档章节

测试ATM机

一贱书生
 一贱书生
发布于 2016/11/24 09:03
字数 900
阅读 30
收藏 1
点赞 0
评论 0

在一个分布式银行系统中,如何测试一台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
博文 723
码字总数 600072
作品 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
全球已有70个国家支持比特币ATM,机器数已破3100台,国内仅有的这台机器却成了收藏品。。

CoinATMradar的最新数据显示,全球比特币ATM机的数量已经超过了3100台,目前数量为3138台,每天平均新增6台。 比特币近期走势颓废,但是加密货币ATM的生意却日益火爆,在2017年初超过1000台后...

区块链福利社
05/31
0
0
机器能否被骗?

2006年的司法考试中,有这样一道题: 下列哪些说法是错误的?   A.......   B.......   C.甲将一张作废的IC卡插入银行的自动取款机试探,碰巧自动取款机显示能够取出现金,于是甲取...

阮一峰
2009/08/24
0
0
最新銀行卡複製器

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

王小龙a
2013/05/21
6
0
銀行卡複製器多少钱 銀行卡複製器购买

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

做小炒vb
2013/07/21
1
0
銀行卡複製器多少钱 如何複製銀行卡

銀行卡複製器多少钱QQ:9390119001 电话:13482605252【金帝科技】帮助您打不开请点【百度快炤】诚信合作,共创双赢,长期合作,欢迎咨询~!银行卡IC卡芯片 推行为什麽那麽难   “以后吃饭、...

金先生的
2013/05/12
2
0
性能测试之业务测试模型浅析

性能测试之业务测试模型浅析 随着社会的发展,软件产品应用到社会的各个行业领域中,且大部分支持企业关键的业务应用,如制造业的ERP系统、电信系统、银行的核心业务系统、银行卡等卡业务系统...

泊涯
2017/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

gRPC学习笔记

gRPC编程流程 1. proto文件定义 proto文件用于定义需要通过gRPC生成的接口,可以理解为接口定义文档 2. 通过构建工具生成服务基类代码-Maven或Gradle 3. 服务端开发 服务端实现类须实现通过构...

OSC_fly
16分钟前
0
0
Docker Mac (三) Dockerfile 及命令

Dockerfile 最近学习docker的时候,遇到一件怪事,关于docker镜像可能会被破坏,还不知道它会有此措施 所以需要了解构建Dockerfile的正确方法 Dockerfile是由一系列命令和参数构成的脚本,这些命...

___大侠
43分钟前
0
0
NetCat Tutorials

Hacking with Netcat part 1: The Basics Hacking with Netcat part 2: Bind and reverse shells Hacking with Netcat part 3: Advanced Techniques 10 Introduction to Netcat - pdf NetCat......

zungyiu
43分钟前
0
0
Android Studio+NDK+Cmake 移植FFmpeg-4.0.2命令行工具

一、编译 参考大神的帖子,亲测一次编译成功:https://blog.csdn.net/bobcat_kay/article/details/80889398 鉴于以前查文档的经验,这里附上编写例子的时间:2018年7月22日 我用的是ubantu,...

她叫我小渝
43分钟前
0
0
mysql创建数据库

登录MYSQL mysql -u root -p 脚本创建数据库WeChat,并制定默认的字符集是utf8mb4。 CREATE DATABASE Wechat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 授权 grant all......

niithub
58分钟前
0
0
svn: Unable to connect to a repository URL 的解决方案

错误图示: 解决办法:清除本地保存的授权信息; 1:右键点击本地文件夹,选择设置; TortoiseSVN -> Settings 2:在弹出的对话框中选择 Saved Data, 右侧选择:授权地方清理所有。 然后点确...

宁哥实战课堂
今天
1
0
sleep与wait的区别

Thread.sleep(XXX)方法消耗CPU吗? 这个知识点是我之前认识一直有错误的一个知识点,在我以前的认识里面,我一直认为Thread.sleep(1000)的这一秒钟的时间内,线程的休眠是一直占用着CPU的时间...

码代码的小司机
今天
1
0
20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
今天
1
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
今天
1
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部