12.6 How would you test an ATM in a distributed banking system?

这道题问我们如何来测试一个自动取款机,我们首先要询问下列问题:

- 谁来使用这些ATM?回答可能是任何人,或者是盲人,或者是其他什么答案。

- 这些ATM用来干什么?回答可能是取钱,汇款,查余额等。

- 我们用什么工具来测试?我们能接触到代码吗,还是只有ATM机子?

一旦我们搞清楚了上述问题,我们可以将测试部分分为下列几个部分

- 登陆

- 取钱

- 存钱

- 查余额

- 汇款

我们可能需要使用一些列混合的手动或者自动的检测。

手动测试需要检查上述步骤,保证检查到所有的错误情况,比如余额不足,新账户,不存在的账户等。

自动测试稍微复杂一些,我们想要自动检测一些情景,检测一些特定的问题,比如race condition等问题。我们可以建立一个虚假账号,当某人在异地快速的存取钱,保证此账户不会额外的得到或者丢失钱。

综上,我们需要仔细检查安全性和可靠性。用户的账户一定要被保护,我们必须保证钱正确的流通,每个人都不想意外的损失钱。

[CareerCup] 12.6 Test an ATM 测试一个自动取款机的更多相关文章

  1. [CareerCup] 12.4 Test a Webpage 测试一个网页

    12.4 How would you load test a webpage without using any test tools? 这道题问我们如何不用任何测试工具来加载测试一个网页.加载测试可 ...

  2. [CareerCup] 12.5 Test a Pen 测试一支笔

    12.5 How would you testa pen? 这道题让我们测试一支笔,我们需要问面试官许多问题来理解"who,what,where,when,how and why" ...

  3. 黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试)

    黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试) 2017-03-12 03:46:24 by SemiconductorKING PS:刚刚装好黑苹果,来记录一篇折 ...

  4. 如何测试一个WEB的输入框?

    WEB输入框是B/S架构系统中页面使用非常频繁的控件,比如我们登录一个网站,输入 用户名和密码的控件都是输入框,比如使用百度搜索,在输入搜索内容的控件也是输入框,比如网购一个物品,我们需要输入购买的数 ...

  5. <转>如何测试一个杯子

    在软件测试的面试中, 经常会碰到类似的问题. 比如:如何测试一个杯子, 或者如何测试一只笔. 要求你设计20个以上的test case. 这类的面试题目,是考察面试者是否熟悉各种软件测试方法, 设计t ...

  6. 测试一个函数的运行时间(C++)

    #include <ctime> static clock_t Start,Finish; Start=clock(); fun(); Finish = clock(); double t ...

  7. 使用Junit测试一个 spring静态工厂实例化bean 的例子,所有代码都没有问题,但是出现java.lang.IllegalArgumentException异常

    使用Junit测试一个spring静态工厂实例化bean的例子,所有代码都没有问题,但是出现 java.lang.IllegalArgumentException 异常, 如下图所示: 开始以为是代码 ...

  8. 打造一个自动检测页面是否存在XSS的小插件

    前言: 还记得刚玩Web安全时,就想着要是能有一个自动挖掘XSS漏洞的软件就好了.然后我发现了Safe3.JSky.AWVS.Netsparker等等,但是误报太多,而且特别占内存.后来发现了fidd ...

  9. C#实现ATM自动取款机

    本篇用C#实现ATM自动取款机的一些功能.面临的第一个问题是:如何把与自动取款机相关的有形的.无形的方面抽象出来.大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankD ...

随机推荐

  1. 我的mac上的软件(以防优盘重装系统使用)

     

  2. Java眼中的XML--文件读取--2 应用SAX方式解析XML

    1.获取一个SAXParserFactory的实例.2.通过factory获取SAXParser实例.  3.新建一个包和继承自DefaultHandler的类.  因为SAX遍历方式,比如便利一个节 ...

  3. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

  4. Nginx安装学习使用详细记录

    选择Nginx的优点:Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版. Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建 ...

  5. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  6. 关于google电子地图跟卫星地图位置不重合

    再做项目时,用到了google地图的显示位置,就是在网页上插入事物在地图上的位置,点击卫星地图跟电子地图时发现不是重合,网上GOOGLE了下,说是加密的问题给偏移了500米左右,用google测量工具 ...

  7. SQL中case语句的两种方式

  8. Begin to record my bologs....

    after work for almost two years, I have realize the truth notes can help a lot for us. avoiding my l ...

  9. SQL Server 2012 AlwaysOn集群配置指南

    1. AlwaysOn介绍 AlwaysOn是SQL Server 2012提供的全新综合.灵活.高效经济的高可用性和灾难恢复解决方案.它整合了镜像和群集的功能,基于OS 故障转移群集(Windows ...

  10. fdtd simulation, plotting with gnuplot, writting in perl

    # 9月13日 于成都黄龙溪 1 #!/usr/bin/perl # Author : Leon Email: yangli0534@gmail.com # fdtd simulation , plo ...