流程图:

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. 有关es6的模块化

    假如有两个文件:app.js和config.js app.js为主文件要去引用config这个模块 以前学习node时使用的模块导出: 需求:导出三个成员,分别是 foo: bar f: functi ...

  2. sublime—text终端无法输入,不支持scanf、input等语法问题的解决

    sublimetext是个很好用的轻量编辑器,,支持多语言语法高亮,自动补全,快捷键编译运行,而且ui也不错挺简洁,我一直在用.我之前浏览帖子时候看到有些人也在用这个编辑器. 但是吧,这个编辑器的的编 ...

  3. jsp虚拟路径与虚拟主机

    配置虚拟路径 方式一: 在Tomcat根目录下的webapps就是一个虚拟路径,conf目录下的server.xml文件里配置 //默认的虚拟路径 <Engine name="Cata ...

  4. C++11智能指针(unique_ptr、shared_ptr、weak_ptr)(转)

    原文地址:https://blog.csdn.net/king_way/article/details/95536938

  5. 解决苹果手机app store下载软件超过200M后必须使用wifi的终极方法(亲测有效)

      前言 最近使用苹果手机下载一款大小为300M左右的软件时弹出如下提示 因为平时主要使用wifi下载,偶尔用自己的流量也没有超过200M,所以用了这么久才发现苹果手机有这样一个限制. 这让我有些郁闷 ...

  6. 849. Dijkstra求最短路 I(模板)

    给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值. 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1. 输入格式 第一行包含整数n和m. 接下来m行每行包 ...

  7. @Configuration@Bean

    https://blog.csdn.net/u014199143/article/details/80692685 @Configuation等价于<Beans></Beans> ...

  8. (填坑系列) 用aio写server与client进行通信的坑

    最近闲来无事,就估摸着自己写个“服务注册中心”来玩,当然因为是个人写的,所以一般都是简洁版本. 代码地址在:https://gitee.com/zhxs_code/my-service-registe ...

  9. Python内置方法/函数

    abs() 返回数字的绝对值. abs(x) all() 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False. 元素除了是 0.空. ...

  10. Python爬虫连载4-Error模块、Useragent详解

    一.error 1.URLError产生的原因:(1)没有网络:(2)服务器连接失败:(3)不知道指定服务器:(4)是OSError的子类 from urllib import request,err ...