流程图:

1.不插入卡时,ATM界面显示正常(广告状态)

2.插入非银行卡响应 (积分卡、公交卡片等)

3.卡或正或反插入响应

4.跨行插入银行卡响应(某些银行不支持跨行取钱)

5.卡是否过期 (比如招行卡是由10年有效期的,过期后应该是没用的)

6.卡磁道是否有效 (是否被消磁)

7.插入有效银行卡时,显示输入密码界面

8.输入密码: 正确密码、错误密码(修改前密码、空)、输入密码错误多次是否会被锁定冻结卡退卡 。

注:输入的密码显示为* .密码等于6位时,不能再输入

9.进入操作页面之后,各操作服务显示正常:有对应的取款服务可选  (没取款选项:ATM机内没有钱了、选错机器(查看下该机器是否支持取款)、机器出现故障、操作有误)

10.当有取款服务时,选择取款服务可以进入金额选择 或输入界面 (选择金额测试、 输入金额测试。只能是100的倍数)

11.银行卡取款的限额(单笔3K、单日2w)

12.ATM机内余额是否足够

13.银行账户内余额是否足够 (边界值: 和余额一致取款、比余额少取款、比余额多取款-取款失败)

14.跨行、异地取款时,手续费收取

15.余额足够确认取款时,ATM机吐钞的金额和选择取款的金额一致,且余额同时较少

16.取款成功后,可以在ATM机新出的页面上选择继续服务 、打印凭条、退卡等

17.打印凭条时,凭条上金额与用户选择取款金额一致。继续其他服务、退卡等操作能正常进行。

以上,在各个步骤操作时, 会有语音提示,需要测试语音提示是否正确。

20160704 所想到的整理如上,后续如有突破 继续补充

1.4 面试问题整理: ATM机取款的更多相关文章

  1. ATM机取款过程

    假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码,最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易.如果用户密码正确,再提示用户输入取款金额,ATM机只能输出100元的纸 ...

  2. 第一次尝试使用JAVA编写的ATM机程序

    package study; import java.util.Scanner; public class ATM { private static int[] users = { 111111, 2 ...

  3. ATM跨行取款的清算方式

    ATM跨行取款和POS机是类似的,因为没有商户参与,所以不需要收单清算,过程更为简单. 回到文章最开头的例子:你拿着一张工行卡去建行的ATM取了100元,这个跨行业务在CNAPS体系中的过程如下: 你 ...

  4. 模拟ATM机银行系统

    淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...

  5. JAVA - ATM机程序

    ATM机程序 UnionPayTest.java package oo.day06.work; public class UnionPayTest { } interface UnionPay{ // ...

  6. 连接数据库——模拟ATM机查、存、取、开户功能

    1.界面:包含开户.查询.存款.取款.功能 package com.bank.test; /** * * @author Administrator *界面类 */ public class Jiem ...

  7. ATM机模拟系统

    实验要求 https://pan.baidu.com/s/1Sq5joWyVsNhY8DYiyI4UmQ 源代码 /*信1705-1 20173458 王嘉梁*/ package atm; impor ...

  8. 简易ATM机

    简易ATM机(代码如下): /* * 功能:简易银行系统 */package day8; import java.util.Scanner; /** * * @FengYan Huang Admini ...

  9. 多用户ATM机(面向对象编程)

    let readline = require('readline-sync'); // 清屏函数 let clear = () => process.stdout.write(process.p ...

随机推荐

  1. vsftp安装及配置

    一.安装Vsftp 1,安装 yum install vsftpd -y

  2. oracke数据库分区新增

    1.发现一些过程执行报错,报错原因是'ora-14400插入的分区关键字未映射到任何分区',原来是2020年库表的时间子分区未扩展: 2.扩展子分区的语句是 ALTER TABLE 表名 MODIFY ...

  3. linux command - 在所有递归子文件夹中的py文件中,搜索包含指定字符串的文件

    find . -type f -iname "*.py" -exec grep -Hi "LAD" '{}' +

  4. JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片

    代码如下: package com.futuredata.dataservice.util; import java.io.ByteArrayOutputStream; import java.io. ...

  5. 数位dp(模板+例题)

    文章参考:数位dp之总结 首先,什么是数位dp?它是干什么的? 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数. 举个栗子: 加入我们要枚举所有上界不超过231 ...

  6. vue自学入门-8(vue slot-scope)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  7. [CF1304F] Animal Observation - dp,单调队列

    设 \(f[i][j]\) 为第 \(i\) 天在第 \(j\) 个位置放置的最大值,设 \(s[i][j]\) 是第 \(i\) 行的前缀和,则 \[ \begin{align} f[i][j] & ...

  8. C++查看大端小端模式

    在学习计算机组成原理的时候,看到大端小端模式,便想实验一下,首先介绍一下 C 中的union,这个平时用得少,估计在单片机这种可能会运用,在平时写代码的时候几乎是用不着union的. union:联合 ...

  9. Java-杨辉三角(YangHuiTriangle)

    杨辉三角,是二项式系数在三角形中的一种几何排列. 杨辉三角概述 ☃ 每行端点与结尾的数为1 ☃ 每个数等于它上方两数之和 ☃ 每行数字左右对称,由1开始逐渐变大 ☃ 第n行的数字有n项 ☃ 前n行共[ ...

  10. android 直接添加一个Fragment到activity,不需要额外setContentView

    getSupportFragmentManager().beginTransaction().replace(android.R.id.content,new ArticleListFragment( ...