
|
|
|
|
|
|
|
|
| 基于机械手的ATM自动测试技术 |
| ——深圳市紫金支点技术股份有限公司 王志发
近年来,为提高服务质量,各商业银行对自助银行设备越来越重视。如何确保自助银行设备的ATM应用程序稳定可靠,如何使测试过程变得快速、准确、高效成为大家关注的问题。
通常情况下,测试具有一定的机械性、重复性,工作量比较大,人力成本很高,人为因素导致的错误也在所难免。目前的自动测试软件有QuickTest、Rational、SilkTest等,但ATM自动测试由于所处行业的特殊性,涉及与金融外设的交互及软件通信等各个模块的互动,具有比较强的专业性和行业特性。现有工具不能充分满足ATM应用程序自动测试的要求,因此,基于机械手的自动测试解决方案应运而生。该方案包括以下几个内容。
1.物理架构
该解决方案的物理架构主要由四个部分构成:测试控制员,是自动测试的发起者,负责选择测试内容和测试模式,生成报表等;主控机PC,是牵引系统的引擎,负责测试案例的录制,并且控制操作时序、响应外围模块系统事件,通过TCP/IP协议获取测试数据信息,通过串口通信控制机械手;ATM设备,需要安装自助测试的客户端程序;机械手控制设备,响应主控机的命令,执行相应的硬件动作,并将执行结果返回给主控机。
2.机械手的定义和功能
传统的ATM应用程序的测试通常需要人为完成插卡、取卡、按键等操作,而这些操作指令都可以通过设计特殊的机械设备来完成,这些机械被称之为机械手。
机械手分为磁卡机械手、按键机械手、钞币机械手、凭条机械手,功能如下:磁卡机械手可以完成发卡、插卡、拔卡、写卡磁道、读卡磁道操作,键盘机械手可以完成按键(包括功能键和小键盘)操作,钞币机械手可以完成取钞、移钞、放钞操作,凭条机械手可以完成取凭条操作。
3.测试脚本录入
脚本是一组测试工具执行的指令集合。脚本通过录制操作产生,然后再做调整,从而减少脚本编写的工作量。
首先,录制基本测试信息(案例描述信息,模块名或交易类型名,案例序号等)和机械手指令,然后对录制的操作信息进行调整,使其能够更好地吻合测试案例。
4.测试过程控制
测试过程描述。逐一执行案例库所有案例的所有步骤,每个案例有多个检查点,当全部检查点都满足条件,认为案例测试通过,否则认为测试不通过。
测试过程中数据采集。采集的数据包括应用程序进程所占用的CPU、虚拟内存、物理内存、磁盘空间等信息;关键硬件动作所消耗的时间;测试结果;测试过程的故障信息、系统故障、设备故障、通信故障等。
测试过程中的人工干预。有些测试案例需要模拟特定的故障作为前提,通过声音、文字请求测试员协助;或是出现某些不可自动恢复的物理故障时,也会通过声音、文字请求测试员协助。
5.测试结果分析
对测试结果数据进行分析,自动根据检查点的匹配情况给出错误案例的情况说明及理论正常值,并提出可能的原因,方便测试人员确认。测试结果包括对测试案例的结果统计,并输出报表和图表,如:分析各种类型的数据曲线斜率、分析动作消耗的平均时间及自动实现Word文件格式存储,记录测试过程中的数据变化以及资源消耗情况。 基于机械手的自动测试技术,不仅减少了测试人员的重复劳动,而且增强了测试的稳定性和可靠性,提高了软件的完善度和测试效率。
|
选自《中国金融电脑》2008年11月刊
|
|
|
|