APP下载

IVI仪器驱动测试软件的设计与实现

2017-06-30邱田华

科技视界 2017年5期
关键词:测试软件测试用例驱动程序

【摘 要】在比较和分析了IVI仪器驱动测试常用方法的基础上,提出基于TestCenter构建IVI仪器驱动测试软件的开发方法,实现非编码式的仪器驱动测试用例的开发和执行。该方法不仅能降低测试人员的专业技术要求和工作量,而且可以大幅度提高开发效率和测试质量。该软件已成功应用于中国电科第四十一研究所某频谱分析仪的驱动测试中,取得很好的效果。

【关键词】驱动IVI自动测试;TestCenter

Design and Implementation of IVI Driver Test Software for Instruments

QIU Tian-hua

(Key Laborator on Electronic Test & Measurement,Qingdao Shandong 266555,China)

【Abstract】The main methods of building IVI driver test software for instruments are analyzed. According to the analyses, a development method of test software based on TestCenter to realize the development and execution of non-coding instrument driven test cases is presented. This method not only reduces the professional technical requirements and workload of the testers, but also can greatly improve the development efficiency and test quality. This software has been well applied to driver Test of a Spectrum Analyzer in CETC 41.

【Key words】Driver; IVI; Automatic Test; TestCenter

0 引言

伴隨着自动测试系统行业的快速发展,测试仪器也保持着高速发展。由于符合IVI(Interchangeable Virtural Instruments)的仪器驱动在仪器可互换性和测试代码可重用性方面的独特优势[1],使得其应用也越来越普遍。另外,仪器驱动质量直接影响客户对仪器质量的评定,因此仪器制造商对仪器驱动程序的测试也越来越严格。IVI仪器驱动具备仿真、状态缓存、量程检查等功能,按类型又可以分为IVI-C、IVI-COM等,这些特性增加了IVI仪器驱动测试的工作量和难度。

目前,IVI标准仪器驱动程序测试主要有三种方法:第一种是用LabWindos /CVI、Visaual Studio等集成开发环境实现对仪器驱动的调用来进行测试。这种方法需要用户编写大量代码,并且测试用例与被测仪器合度比较高。第二种是用图形化编程工具LabView进行IVI仪器驱动的测试。这种方法用户上手比较快,开发效率比较高;缺点是不具备测试用例管理和测试结果生成、保存等功能。第三种是利用Nimbus[2]驱动开发工具生成的测试工程进行测试,测试工程包含比较全面的测试用例。这种方法只支持采用Nimbus工具开发的驱动,并且对于仪器属性验证仍然需要修改源码。通过对上述三种方法进行分析,不难得出对测试开发人员的编程技术水平要求高、测试用例不能复用,并且不具备测试用例管理和测试结果生成、保存等功能。

通用自动化测试软件平台[3]具有测试程序的开发、运行和管理功能,并且具有非编码式的开发方式、测试资源管理、测试报告生成、符合IVI标准等特点。目前商用的通用测试软件平台比较有代表性的为美国国家仪器的TestStand和中国电科第四十一研究所的TestCenter。TestStand只提供了基于IVI-C的仪器控制插件,而对于IVI扩展功能和IVI-COM类型驱动测试依赖于LabView或CVI所开发的测试程序。TestCenter不仅支持IVI-C、IVI-COM类型的仪器控制插件,并且提供驱动调用插件进行IVI扩展功能的测试[4]。所以,我们提出采用TestCenter构建仪器驱动程序测试软件的新开发方法,来实现非编码式的仪器驱动程序测试用例的开发和执行。

1 功能组成

基于TestCenter的IVI仪器驱动测试软件的功能组成,如图1所示,包括用户管理、仪器管理、测试用例开发、测试用例执行、数据结果管理、测试用例管理等。

用户管理功能主要是对测试用例开发员、调试员、操作员及管理员等的管理,可以利用TestCenter中的用户管理模块来实现。仪器管理功能主要实现对被测仪器程控地址、驱动等的管理,可以利用TestCenter中的资源管理器来实现。测试用例开发功能主要是使用TestCenter序列编辑器中的IVI类仪器插件和驱动调用插件来实现。测试用例调试、执行功能主要是通过TestCenter的测试程序调试和执行功能来实现。测试结果管理、用例管理功能是利用TestCenter对测试程序、测试数据管理来实现。综上所述,TestCenter内置了IVI仪器驱动测试软件的所有功能,基于TestCenter的IVI仪器驱动测试软件的实现就转变为仪器驱动测试用例的开发、调试。

2 实现

基于TestCenter的仪器驱动测试用例开发和调试的详细流程如图2所示,包括新建测试工程、添加仪器资源、确定测试范围、图形化编辑测试用例、调试测试用例、执行测试用例等步骤。

2.1 新建测试工程

启动TestCenter,新建测试工程。测试工程文件用于存储仪器驱动测试相关的所有信息,包括仪器资源、测试用例、测试结果等。

2.2 添加仪器资源

打开TestCenter中的资源管理软件,添加仪器硬件资源,逻辑资源。仪器硬件资源主要配置仪器的程控地址和仪器型号。仪器软件资源主要对应着仪器的驱动,支持IVI-C和IVI-COM两种类型的驱动。逻辑资源是在测试用例和仪器硬件资源之间加入了一个中间层。如果仪器地址和仪器型号进行更改,测试用例不须做任何更改,降低测试用例与仪器资源的耦合性。

2.3 确定测试范围

启动序列编辑器,序列编辑器支持测试用例的添加、复制、粘贴、删除等。可以通过根据仪器驱动的文档、安装程序,查看驱动是采用何种开发工具进行开发,以及驱动的类型、扩展功能函数列表等,进一步确定仪器驱动测试的重点。例如,对于采用CVI或者Nimbus等商用工具开发的驱动,测试重点放在仪器实际状态与远程控制参数是否一致上。如果不是采用商用工具开发的驱动,则还需测试验证驱动函数名称、函数参数是否符合IVI,是否具有仿真、状态缓存、量程检查等功能。

2.4 图形化编辑测试用例

对于是IVI标准的驱动测试,主要采用标准IVI类仪器插件进行测试。对于IVI扩展功能的驱动函数进行测试,则是采用驱动调用插件进行测试。这里重点介绍IVI扩展功能的测试用例开发,首先新建节点A,拖放驱动调用插件到节点A,双击节点A,弹出驱动调用插件界面,如图3所示。其次选择当前被测仪器对应的逻辑资源。再次添加扩展功能包含的函数,以此为每个函数添加参数。最后,点击确定按钮,完成扩展功能测试用例编辑。这种图形化的仪器驱动测试用例开发方式不但降低了用户编程方面的技术要求,而且提高了测试用例的开发效率。

2.5 调试测试用例

利用TestCenter的调试功能除了可以对测试用例进行断点、单步、跳过等调试运行,还支持仿真调试。平台还提供测试库管理功能,开发员可以将测试用例添加到用户测试库中,为其他用户开发同类型的测试用例提供模板。

2.6 执行测试用例

启动通用执行软件,执行测试用例。测试用例执行完成后,测试软件会自动生成测试报告并保存。

3 实例

在中国电科某频谱仪驱动测试过程中,利用TestCenter提供的方案,在两天时间完成标准的IVI-C驱动的测试,大大提高测试效率。频谱仪的驱动扩展功能比较少,主要使用IVI频谱分析仪插件进行测试,IVI频谱分析仪插件设置如图4所示。测试过程分为仿真、联机测试两个阶段。在仿真测试阶段,主要对驱动函数列表、函数参数个数、类型,参数范围验证。在联机測试阶段,主要进行仪器远程控制与实际设置对比验证。

4 总结

基于TestCenter的仪器驱动程序测试软件实现非编码式的仪器驱动测试用例的开发和执行,不仅减少测试时间和工作量,而且降低测试人员的专业技术要求,同时开发好的测试用例可以在同类型的IVI仪器驱动测试中进行复用。

【参考文献】

[1]许爱强,文天柱,李文海.基于IVI技术的仪器驱动程序开发[J].现代电子技术,2011,1.

[2]徐卫,贺正军.基于Nimbus的IVI-COM仪器驱动设计[J].现代电子技术,2014,2.

[3]方葛丰,刘毅,等.自动测试系统软件平台技术[J].仪器仪表,2009,10.

[4]方鹏,刘毅,邱田华.TestCenter中仪器控制的设计与实现[J].科技视界,2013,4.

[责任编辑:朱丽娜]

猜你喜欢

测试软件测试用例驱动程序
基于SmartUnit的安全通信系统单元测试用例自动生成
网络自适应测试软件运行方法设计
计算机硬件设备驱动程序分析
基于混合遗传算法的回归测试用例集最小化研究
基于依赖结构的测试用例优先级技术
远程开放教育学生自主学习能力评价的研究
基于MPC8280的CPU单元与内部总线驱动程序设计
软件回归测试用例选取方法研究