ATM测试程序设计方案
1. 设计目的
该程序为培训提供演练测试方法的平台。
2. 环境要求
Windows 2000 server 操作系统。
3. 功能介绍
该ATM系统主要是为了讲述测试为实现的一个模拟系统,系统模拟实现ATM机的基本功能,包含有六个功能:用户登陆、修改密码、查询余额、提款、存款、系统数据维护。首先实现该系统,然后对每个功能模块进行黑盒和白盒测试。
预先约定的利息计算方法举例:
时间范围 | 利率(月利率) |
2002年1月1日之前 | 1% |
2002年1月1日—2003年1月1日前 | 2% |
2003年1月1日—2003年8月15日前 | 3% |
2003年8月15日—今 | 2% |
(从存款当日到下个月当日,为一个月,若月数不足则按照已有足月计算,如5个月零18天按照5个月计算)
² 当在1995年1月1日开户存入1000元,在2004年11月8日查询,(经过了4次利息变化)那么账户余额为=1000×(7×12×1%+12×2%+8×3%+14×2%)+1000
² 当在1995年1月1日开户存入1000元,在2002年7月1日存入500元时,查询的余额=1000×(7×12×1%+6×2%)+1000=1960元;(我们约定存取款操作一次以后,将户头的存储开始时间定为最新一次时间,这里户头计算开始时间变为2002年7月1日)那么在2004年11月8日查询户头的余额为=1960×(5×2%+8×3%+14×2%)+1960
² 取款算法同上。
l 用户登陆:验证用户身份的合法性
前提条件:
启动ATM模拟程序。
功能描述:
登陆模块是整个系统的开始模块,主要功能是验证用户,该模块会要求用户输入卡号和密码,然后系统会从数据库中读取数据验证用户是否为合法用户。如果是合法用户则进入下一模块,如果不是则提示用户不存在或者密码错误的信息,要求用户重新输入卡号和密码。如果三次输入密码错误,那么系统自动退出。当用户初次登陆时,系统会有一个初始密码,为:1111。下次登陆时,如果用户修改了密码,登陆密码为用户修改后的密码。
l 密码修改:用户修改个人账户的密码
前提条件:
用合法用户登陆到系统
功能描述:
修改密码模块提供密码修改功能,会要求用户输入修改密码和确认密码,如果两次输入的密码相等则提示修改成功。如果不等则要要求用户重新输入。如果密码修改成功后,下次用户需用用新密码进入ATM 系统。密码的长度必须为4位。
l 查询余额
前提条件:
1. 用合法用户登陆到系统
2. 选择查询余额功能
功能描述:
屏幕显示该用户的账户余额以及目前可以提取的最大金额。余额不可能为负数,可以提取的最大金额为当天可提取的最大金额(5000元),如果用户账户余额不足5000元,则显示当天可提取最大金额为系统账户余额的整数倍(该整数倍要求是50的倍数)。同时用户可以查询系统根据利息算法计算的总利息等账面其他附属信息。(利息计算为分段计算,即通过不同时间段的利率计算,最后的总利息为各段利息的总和)
l 提款业务:用户提取符合ATM取款要求的指定金额的个人账户现金。
1. 合法用户登陆到系统
2. 选择提取现金功能
功能描述:
该模块提供给用户提取现金功能,进入该模块会要求用户输入需要提取的金额。用户输入提取的金额必须满足以下条件:
1. 用户输入的金额不能超过用户账户的余额。
2. 用户单次提取的金额不能超过额定金额(2000元)。
3. 用户当天提取的金额不能超过额定金额(5000元)。
4. 用户每次提取的金额必须大于0且是50的倍数。
5. 用户当日取款次数不可以超过5次。
当用户按条件正确输入金额数时,系统会按照用户指定金额提取账户余额,并在用户账户中减去提取的金额。否则,如果用户未按条件输入,系统会提示用户重新输入正确金额。
l 存款业务:
前提条件:
1. 合法用户登陆到系统
2. 选择存款功能
功能描述:
该模块提供给用户存入现金功能,进入该模块会要求用户输入需要存入货币的金额。用户输入的金额必须不能超过额定金额(10000元),且用户输入金额应该为50的倍数。当用户按条件正确输入金额时,系统会按照用户的输入用户账户中加上该金额。如果用户未按条件输入,系统会提示用户重新输入正确金额。
用户账号数据维护:
前提条件:
1. 合法用户登陆系统(一般用户不允许登录,有特定权限的用户才允许登录)
2. 选择数据维护进入到账号维护界面;
功能描述:
用户可以向系统添加新的用户信息,为用户添加名字,密码等各类信息,同时用户也可对已经存在用户账号信息进行修改。
用户账号内账目信息的维护
前提条件:
1. 合法用户登陆系统
2. 选择数据维护进入到账目信息维护界面;
功能描述:
用户对已经存在的账户存取信息进行修改,可以更改项包括日期,存入/支出,金额,余额等
利息数据
(日期,利息)
前提条件:
1. 合法用户登陆系统
2. 选择数据维护进入到利息数据界面;
功能描述:
用户可以根据需要自定义利率大小,时间范围等等。
总利息=各时间段利息的总和(利息=开始存款总额×存款时间×利率)