热门关键词:

税控收款机自动化测试的研究

  • 该文件为pdf格式
  • 文件大小:169.37KB
  • 浏览次数
  • 发布时间:2014-08-07
文件介绍:

本资料包含pdf文件1个,下载需要1积分

2013年第 7期(总第 129期)信 息通 信INFORMATIoN & C0MMUNICAT10NS2013(Sum. No 129)税控收款机自动化测试的研究. 赖晓春 ,余晓丽(1.江西省高等院校科技开发办公室,江西 南昌 330038;2.南昌A.y-学院,江西 南昌 330013)摘要:研究目的是设计并实现一款针对税控收款机进行 自动化测试的工具,该工具能在不修改税控收款机本身任何代码(包括源代码和目标代码)的情况下进行测试。文章从嵌入式系统软件测试技术的基础入手,重点论述了该自动化测试工具中模拟键盘部件的软、硬件设计和实现,并对该 自动化测试工具方案中关键技术点进行了详细的介绍。

关键词:税控收款机;嵌入式;自动化测试 ·中图分类号:TH692.4 文献标识码:A 文章编号:1673-l131(2013)07—0091.02税控收款机作为一种涉及国家税务机关信息安全的特殊设备,质量显得尤为重要。在其研发过程中,必须对各种极为复杂的情况进行严密的测试。如果采用纯手工测试,不仅要耗费大量精力,而且很难做到全面。虽然市场上有很多专门针对嵌入式系统的自动化测试工具,但是它们大多数都需要修改目标机的代码或在其代码中插桩,这些测试方法对税控收款机来说,效果不是很理想,且成本偏高。本文研究的目的就是设计并实现一款针对税控收款机进行自动化测试的工具。

该工具能在不修改税控收款机本身任何代码 (包括源代码和目标代码)的情况下进行测试。其工作原理是通过宿主机(Pc)发送测试指令给一个测试辅助设备,该设备能将指令转换成行列矩阵信号,输出到税控收款机的键盘接 口,模拟税控收款机的按键动作,从而代替人手工完成对税控收款机的操作。实现在保证代码完整性的情况下,在完全真实的环境中自动地进行测试,从而达到较为理想的测试效果。

l税控收款机自动化测试的研究软件 的自动测试相对手工测试而存在,主要是通过所开发 的软件测试工具、脚本等来实现 ,具有可操作性、可重复性和 高效率等特 点。自动化测试技术是测试技术 的一个分支 ,它的研 究重点是如何最大可能地进 行 自动化测试 ,在哪些方面可 以进行 自动化 以及 自动测试工具的开发和使用 。

税控收款机 由原来 以普通 电子收款机与智能 IC 卡简单相加 的模式逐渐发展到今天具备联网、USB通讯、拨号上 网等多种功 能于一身 ,甚至集银税功 能于一体的智能终端 ,系统是越来越 复杂 。同时税控 收款机又是一个市场多元化的产 品,不 同行业 的用户都有不 同的特殊需求 。所 以在税控 收款机 系统开发的过程 中可能存在较短的时 间间隔内出现多个 可执行 、可测试的软件版本,版本之间大部分都是采用功能迭代的方式 ,软件测试人员必须对每个版本 的软件进行系统的测试 。测试工作的周期要求缩短,测试频率要求增加 。在这种情况下,传统的手工测试 已经满足不 了软件开发进度 的需求 。当第一个可测试的版本产生后,测试人员开始对 这个版本进行测试 ,很快第二个版本又在第一个版本 的技术上产生了,测试人员需要在第二个版本上重 复上次 的测试过程,还要对新增加 的功能进 行测试 ,每一次版本 的迭代 ,测试的工作量都会逐步累加。 .

随着产品在市场的推广,软件的版本会越来越多,测试工作也变得越来越繁重,尤其当处于根节点上的软件版本发生一 点变化时,则所有分支节点的版本都需要随之变化,测试的工作量就呈级数地增长,而且这些工作绝大部分都是重复的,手工测试的效率更显低下。这种情况下应用良好的自动测试工具是势在必行,通过使用自动化测试工具,测试人员只要根据测试要求完成测试过程中所需的行为,自动化测试工具将自动生成测试脚本,对测试脚本进行简单的修改就可以运用于以后相同功能的测试和版本的回归测试。

2税控收款机自动化测试工具的设计与实现运行在PC端的自动化测试工具是整个系统的核心,由应用程序、COM 组件和数据库系统三部分组成。应用程序主要负责测试脚本的录制、回放,测试用例的执行等功能;COM 组件是以动态链接库的形式存在,主要负责系统通讯和数据库连接等功能;数据库系统主要用来保存测试用例的脚本和测试数据等信息。

2.1 PC端应用程序的设计 .

本系统设计的自动化测试工具软件有两种执行测试的方式。一种手动执行方式,测试人员通过点击程序操作界面上的按键,一步一步地执行,这种方式测试和人工操作税控收款机键盘进行手工测试是一样的。一般用在编写和调试测试脚本过程中,能自动生成测试脚本,保存测试脚本数据,验证测试结果。另一种 自动执行的方式,进行自动测试前,测试人员先设置好测试的环境信息,如选中正确的机型、测试用例集,设置测试过程中的延时,然后就可以选择单步执行或连续执行了。单步执行就是每次只执行一个测试用例,执行成功 自动跳到下一个测试用例。连续执行则是连续一系列测试用例,一 般用于测试时间较长,数据量较大的回归测试。PC端应用程序的功能框图如图 1所示。

图 1 PC端应用程序功能框图2.2键盘仿真的实现键盘仿真是本系统的一个特点,每款机型的键盘定义都保存在数据库表中,键盘上每个按键的属性包括键值、键名称、键色彩、键脚本名称、组合键值和键状态等信息。当机器型号改变时,程序就根据新的型号从数据库查询到该型号各个按9l信息通信 赖晓春等:税控收款机自动化测试的研究键的定义,将有效的按键显示在操作区,实现仿真的效果。关键代码如下:Public Function KeyboardMap(Mno As String)As IntegerDim KeyValue As IntegerDim flameXAs LongDim fameYAsLongOnErrorGoToEITSet Rs=New ADODB.RecordsetStrSQL-二”Select From [”&Mno&”]”’Where Kenable= True orderbyID” ’建立查询语句Rs.Open StrSQL,Gconn,adOpenStatic,adLockPessimistic,adCmdTableDirect ’查询键盘定义If Rs.RecordCount>0 ThenRs.MoveFirstDo While Not Rs.EOF ’显示按键KeyValue=Rs!kvalueCommand1(KeyValue).Visible=Rs!KenableCommandl(KeyValue).Caption=IlflsNul(Rs!Km叮1e).filRs!Kname)Command1(KeyValue).BackColor=If(IsNul(Rs!Kcolor),&H8000000 F.Rs!Kcolor)IfKevValue—Rs!Kcombination=1 ThenCommandl(KeyValue—1).Width=980Command1(KeyValue).Visible=FalseEndIfIfKeyValue—Rs!Kcombination=16 ThenCommandl(KeyValue一1 6).Height=980Command1(KeyValue).Visible=FalseEndIfIf Rs!Kenable=Tr1le ThenIf Command1(KeyValue).Left>fameX Then fameX= Command1(KeyValue).LeftIfCommand1(KeyValue).Top>fameY Then fameY= Command1(KeyValue).TopEndIfRs.M oveNextLoopEndIfRs.CloseFrame1.width=fameX+640 ’调整窗口布局FrameI.Height=flameY +640W idth=Frame1.Left+仔ameX +780Exit FunctionErr:End Function2l3 COM组件程序的设计COM组件实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务。本系统自定义的COM组件主要功能是提供串口通讯设置、数据收发、命令组包与拆包等一系列通用的接口函数。自动测试工具通过调用这些接 口时,只需把命令字和命令参数传递给这些接92口,就可以实现 PC与税控收款机或模拟键盘的通讯,不用一个一个地去编写命令组包与拆包函数,大大提高了系统开发的效率,也有利于通讯命令的扩充与调整 。在 Win32下,可以使用两种编程方式实现串口通信,其一是使用 ActiveX控件,如使用微软提供的MSComm控件,这种方法程序实现起来非常简单,但不够灵活。其二是调用 Windows提供的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。本系统就是使用 API函数的方法实现串口通信。

2.4数据库驱动连接本系统的数据库连接是采用 ADO 直接连接无源数据库的方式。在连接数据库时首先在 VB菜单中“Projoct"-"Rear—ences”中选择 Microsoft ActiveX Data Obiects 2.6 library和Microsoft ActiveX Data Objects recordset 2.6两个组件;然后再定义ADO的连接对象。

用 ADO实现数据库连接的方法如下:Public StrConn As String ’链接字符串变量Public StrSQL As String SQL语句Public Gconn As New ADODB.Connection’ADO链接对象Public Rs As New ADODB.Recordset ’Record数据记录对象Public Const BaseConn=”Provider=Microsoft.Jet.OLEDB.

4.0;PersistSecurity Info=False;Data Source=”Public Sub OpenDataBase(DataBaseName As String) ’数据库连接函数StrConn=BaseConn&DataBaseName l数据库名称IfGconn.State=adStateOpen Then ’判断数据库是否已经打开Gcorm.CloseEndIfGconn.C0nnectiOnStrin2= StrConn& ”;Jet 0LEDB:DatabasePassword=””Gconn.OpenEnd Sub3结语ADO连接字符串打开数据库本文实现了一个基于税控收款机系统的自动化测试平台,并提出了一种新的自动测试方法,测试平台重点实现了税控收款机键盘操作仿真、自动生成测试脚本、测试脚本控制执行、测试记录与测试结果分析、串口数据通讯等功能模块。

参考文献:[1] Tassey,Gregory.The Economic Impacts of Inadequate Infra—structure for Software Testing.Collingdale,PA:DIANE Pub·lishing Co,2003【2] Juichi Takahashi,Yoshiaki Kakuda.Efective AutomatedTesting.A Solution of Graphical Object Verifcation.ATS’02.2002作者简介:赖晓春(1981一),女,江西宁都人,硕士研究生,讲师,主要从事自动化;余晓丽 (1981-),女,江西南昌人,硕士研究生,讲师,主要从事计算机应用。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败