本发明涉及一种自动售票机检测领域,尤其是涉及一种自动售票机交易功能的测试系统和方法。
背景技术:
轨道交通的自动售票机(TVM)在接入线网投用之前,必须进行功能测试,以确保功能完备、交易完整、正常使用。
目前的测试方法是通过人工购买车票的方法来测试功能的完整性和交易的正确性。但是由于一个车站的自动售票机要能购买通达全线网每个车站的车票,车站数量可达数百;可用现金的种类(如1元硬币、5元、10元、20元纸币)较多;购买车票的数量不同(1张、2张、3张……);这就形成多达数万个交易组合。因此采用人工方式来进行测试存在以下问题:1、费时费力。需要大量的人力和时间去做;2、漏测项目。完成全部测试几乎是不可能的,只能选择性的来做,就可能漏掉出错的测试项;3、交易对账繁琐难度大。为核对交易的正确性,各种交易需要对帐,即接受的现金、吐出的票卡、找出的零钱,需要正确无误。人工交易与人工核对,极其繁琐、难度巨大。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种自动售票机交易功能的测试系统和方法。
本发明的目的可以通过以下技术方案来实现:
一种自动售票机交易功能的测试系统,包括:
仿真计算机,在仿真计算机内安装有TVM模块仿真程序,用于模拟自动售票机各输入输出硬件;
测试计算机,在测试计算机内安装有测试程序,用于运行预设的测试用例并生成测试结果;
所述的测试计算机、仿真计算机和自动售票机的工控机两两之间通过TCP/IP网络连接,所述仿真计算机还通过串口连接工控机。
进一步地,所述的TVM模块仿真程序包括:仿真输入子程序,用于模拟选票;仿真纸币模块子程序,用于模拟投入纸币;仿真硬币模块子程序,用于模拟投入硬币;仿真找零子程序,用于模拟自动售票机找零;仿真出票子程序,用于模拟自动售票机出票。
进一步地,所述的测试程序包括:测试用例运行子程序,用于运行测试用例进行测试;结果比对子程序,用于对测试结果进行对比和判定;汇总子程序,用于输出测试结果。
进一步地,所述的测试计算机内还安装有测试用例生成程序,用于通过测试参数的设置生成测试用例集。
进一步地,所述的测试参数包括测试次数、购票信息、纸币接收金额、硬币接收金额、预期找零金额和预期反馈。
进一步地,所述的各输入输出硬件包括触摸屏,纸币识别器、硬币识别器和票卡读写器。
进一步地,所述的仿真计算机和测试计算机均采用便携式计算机,如笔记本电脑。
一种自动售票机交易功能的测试方法,具体步骤包括:
S1、测试计算机获取测试用例集并且下发一个测试用例至仿真计算机;
S2、仿真计算机根据测试用例生成购票信息,输入至工控机;
S3、仿真计算机获取工控机发出的找零数据信号和出票数据信号;
S4、测试计算机生成测试用例记录;
S5、仿真计算机生成购票记录;
S6、测试计算机获取购票记录和工控机生成的交易记录,对比测试用例记录、购票记录和交易记录,若三者数据不一致,则对本测试用例进行标记;
S7、测试计算机下发另一个测试用例至仿真计算机,重复步骤S2~S6直至测试完成所有测试用例;
S8、汇总测试用例记录、购票记录和交易记录生成测试报告。
与现有技术相比,本发明具有以下优点:
1、本发明通过计算机代替人工进行测试,实现了自动化,能够极大提高测试的效率。通过仿真计算机的TVM模块仿真连接自动售票机的工控机,可以适用于不同厂家不同型号的自动售票机,通用性好;通过测试计算机运算测试用例,可以完成对各种输入进行穷举,不遗漏,实现交易功能完整性的测试。
2、通过两台计算机进行测试,将测试程序和仿真程序进行分离能够显著提高计算机的运行效率和计算速度,提高了测试的效率。
3、仿真计算机和测试计算机均采用便携式计算机,并仅需要通过网络和串口连接,连接方式简单,便利性强,而且一键启动完成测试生成报告,节省了大量的人力和时间。
附图说明
图1为本发明的系统结构示意图;
图2为本发明的原理结构示意图;
图3为测试方法的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1和图2所示,本实施例提供了一种自动售票机交易功能的测试系统,包括测试计算机和仿真计算机,两台计算机均使用便携式计算机,如笔记本电脑,分别运行测试程序和TVM模块仿真程序。待测自动售票机的工控机中运行有交易软件。
测试计算机和工控机之间以网络连接方式进行数据通信,仿真计算机和工控机之间也以网络连接方式进行数据通信,另外,工控机与仿真计算机之间同时进行串口连接,因为自动售票机主程序和硬件设备都是以串口方式进行数据通信的。
测试方法的核心是通过测试计算机,自动生成测试用例、执行测试程序,在模块仿真计算机上运行纸币、找零、票卡、输入等模块仿真子程序,通过TCP/IP网络和RS232串口与被测的自动售票机的工控机连接,通过仿真的方法完成自动化测试,并由测试计算机对测试结果进行自动比对、判定和汇总,形成测试报告。
测试计算机内的测试程序包括:测试用例运行子程序,用于运行测试用例进行测试;结果比对子程序,用于对测试结果进行对比和判定;汇总子程序,用于输出测试结果。
在运行测试用例运行子程序之后,测试计算机通过测试用例运行子程序查看程序运行的状态,选择生成好的测试用例下发给测试用例运行子程序,测试用例运行子程序收到测试用例,并检查测试用例是否完整,然后执行该用例。
在测试计算机内还安装有测试用例生成程序,用于通过测试参数的设置生成测试用例集。进行测试前首先要进行测试用例集编写,告诉测试工具按照怎样的数值进行测试。测试用例集中的每个测试用例是对各个测试项目的定义,测试项目包括测试名称、测试次数、购票信息、纸币接收金额、硬币接收金额、预期找零金额和预期仿真设备反馈。可以根据待测自动售票机支持的接收币种和找零币种,组合出各种类型的接收币种和找零币种的测试项,进行多方位测试。
仿真计算机内的TVM模块仿真程序包括:仿真输入子程序,用于模拟选票;仿真纸币模块子程序,用于模拟投入纸币;仿真硬币模块子程序,用于模拟投入硬币;仿真找零子程序,用于模拟自动售票机找零;仿真出票子程序,用于模拟自动售票机出票。TVM模块仿真程序用于模拟自动售票机各输入输出硬件,包括触摸屏,纸币识别器、硬币识别器和票卡读写器。各仿真程序通过网络连接到连接调度程序,通过串口连接到自动售票机。测试过程中,仿真硬件处理,处理完成后,将信息反馈给自动售票机,同时反馈应答给连接调度程序。
如图3所示,本实施例的测试方法具体流程为:
步骤S101,测试计算机通过测试用例生成子程序生成测试用例集;
步骤S102,测试计算机向仿真计算机下发一个测试用例;
步骤S203,仿真计算机根据测试用例,通过仿真输入子程序生成购票信息,并送入待测自动售票机的工控机;
步骤S304,工控机进行购票处理,发出投币请求;
步骤S205,仿真计算机的仿真纸币模块子程序进而仿真硬币模块子程序根据测试用例生成投币信息;
步骤S306,工控机进行投币数据处理;
步骤S307,工控机发出找零数据;
步骤S208,仿真计算机的仿真找零子程序获取仿真找零信息;
步骤S309,工控机数据处理,发出票卡数据;
步骤S210,仿真计算机的仿真出票子程序仿真获取票卡数据信息;
步骤S111,测试计算机生成用例记录;
步骤S212,仿真计算机生成购票记录;
步骤S313,工控机生成交易记录;
步骤S114,测试计算机的比对子程序获取购票记录和工控机生成的交易记录,对比测试用例记录、购票记录和交易记录,若三者数据不一致,则对本测试用例进行标记;
测试计算机下发另一个测试用例至仿真计算机,由步骤102重新开始;
步骤S115,测试计算机的汇总子程序汇总测试用例记录、购票记录和交易记录生成测试报告。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。