在一个分布式银行系统中,如何测试一台ATM机数据库
解答安全
一、肯定Who/What/When/Where/Why/How分布式
二、肯定测试工具,肯定是否能够查看源码工具
三、将问题分解:测试
四、确保涵盖全部错误状况(余额不足、新开帐户、不存在的帐户等)事件
五、安全性和可靠性。同步
1、基本事件流:源码
1登录
、用户向密码
ATM
提款机中插入银行卡,若是银行卡是合法的,
ATM
提款机界面提示用户输入
提款密码;
2
、用户输入该银行卡的密码,
ATM
提款机与
MainFrame
传递密码,检验密码的正确性。如
果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;
3
、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是
xxx
,请确认,谢谢!”,用户按下确认键,确认须要提取的金额;
4
、系统同步银行主机,点钞票,
输出给用户,
而且减掉数据库中该用户账户中的存款金额。
5
、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,
ATM
提款机界面恢复到初始
状态;
2、备选事件流
(
考虑可能失败的地方
)
:
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
提款机不作任何提示,直接恢复到界面
的初始状态;
3、基本路径:
插入银行卡
---
提示输入密码
---
用户输入密码
---
提示输入金额
---
用户输入金额
---
提示确
认
---
用户确认
---
输出钞票给用户,
退卡
---
用户取走现金,
取走银行卡
---
界面恢复初始状
态