引 言
随着计算机技术、大规模集成电路技术和通讯技术的飞速发展,测试仪器技术领域发生了巨大的变化,虚拟测试仪器平台也进入了新的发展阶段。美国国家仪器公司(National Instruments)推出了测试管理环境TestStand。基于TestStand的虚拟测试平台具有以下优点:
1)开放性:利用通用硬件平台构建虚拟仪器系统具有开放性,便于系统的升级和更新。
2)易用性:丰富的软件资源和良好的人机交互图文界面使得虚拟仪器系统非常易于使用。
3)性能价格比高:相同的性能条件下开发费用和维护升级价格相对比较便宜。
本文介绍了一种基于测试管理环境TestStand的测试系统组建过程和应用。实践证明,该系统开发流程简单、模块化程度高、易用性强,具有较高的应用价值和参考价值。
TestStand简介
National Instruments公司的TestStand是一种可立即执行的测试管理环境,用于组织、控制和执行自动化模型建立、认证和工厂测试。TestStand的功能完全由客户定义。为满足特定需求,您可自行对其进行功能修改和改进,例如定义操作界面,报告生成格式,或根据需要定义执行顺序等。建立在高速、多线程执行引擎基础上,TestStand的性能可满足最严格的测试吞吐量要求。利用TestStand,用户可让工程师将精力集中在更重要的任务上,象为产品建立测试策略,再考虑如何利用这个策略开发出应用程序等,而相对简单的工作,如运行顺序,执行和报告生成等,将由TestStand处理完成。
TestStand与所有主流测试编程环境兼容,如NI LabVIEW,LabWindows/CVI,NI Measurement Studio组件,微软Visual Basic和Visual C++等,TestStand能调用任何编译过的动态链接库(DLLs),ActiveX自动化服务器,.exe运行程序,甚至传统开发语言如HTBasic,HP-VEE。利用TestStand特别强大的兼容性,可以方便的在一个系统中将传统和现代测试编程序环境结合起来。由于National Instruments的TestStand与LabVIEW和LabWindows/CVI编程语言完全兼容,更可方便地在TestStand中对程序进行调试,修改或设置断点等。TestStand便于工程师收集数据库信息和产生报告,工程师可集中力量开发测试代码。测试执行程序支持多种编程语言和再使用旧代码。TestStand 的并行测试能力可让用户运行批测试(即测量一种PCB)或异步测试,即同时对一种被测器件测量不同的功能。线程优先功能使处理能力得到优化,并且同时执行多种过程。内建项目管理工具可使编程人员提高生产率。
TestStand的优势:减低测试系统的整体成本;提高开发效率;增加测试速度。
TestStand 特性:可立即运行,由用户定义测试执行;交互式开发环境建立测试顺序;用户选择XML,HTML,ASCII和数据库输出;高速并行顺序执行;源代码控制应用程序集成;执行引擎可调用任何语言或格式的程序。
基于TestStand的测试虚拟仪器开发
基于TestStand建立测试系统主要有四个方面的工作:
1. 定制和配置TestStand。用户可以通过TestStand SeqEdit 开发平台对TestStand环境变量进行配置。通过TestStand ActiveX API,用户可以自定义测试变量,测试项目类型,可以定义测试报告生成格式和路径,可以定义测试序列执行模式。此外,用户还可以通过修改相应目录下TestStand配置文件,完成对TestStand的语言汉化。
2. 建立测试序列。通过选择合适的测试项目类型以及对应的接口适配器,用户可以任意增加和修改测试序列文件中的测试项目(Step)。一个测试序列文件由许多测试项目(Step)组成。通过选择不同的Step类型和修改Step的属性,可以实现不同的测试策略。
3. 编写测试序列文件测试项目调用的模块。由于TestStand的灵活性,这些模块可以是任何编译过的动态链接库(DLLs),ActiveX自动化服务器,.exe运行程序,甚至传统开发语言如HTBasic,HP-VEE。测试项目还可以是其他测试序列文件。
4. 定制测试界面。TestStand 集成了四个通用的测试界面并提供了这些界面的源代码。用户可以采用这些界面,也可以通过修改源代码定制自己需要的用户界面。甚至还可以完全用其他语言来实现用户界面。
以上工作完成以后,用户调用TestStand 引擎,打开由TestStand生成的测试序列文件,通过调用相应的TestStand API实现对测试序列的控制如开始,中断,停止等操作。测试完成以后,测试软件将测试报告以网页(或文本)的形式显示给用户,同时将测试结果送入后台数据库(可选)。
应 用
我们在研发中兴通讯CDMA单板功能测试仪的过程中,上层软件平台使用测试管理环境TestStand进行开发。我们针对每块单板,在Sequence Editor环境下生成独立的测试序列。每个测试序列包括多个单板需要测试的测试项目(Step)。用VC6.0开发测试序列每个测试项目调用的动态连接库;测试界面则通过TestStand ActiveX API在VC6.0环境下完全定制。用户可以通过用户界面,实现对测试序列中某测试项目是否测试进行定制。测试完成以后,测试软件平台将测试结果以网页的形式显示给用户。当被测单板测试失败时,将进行准确的故障定位,以方便对单板的维修和处理。
1一个好的测试系统应该具有良好的开放性和可扩展性。由于整个系统的高度模块化,对于基于TestStand的CDMA单板功能测试仪,如果被测单板有改板或升级情况,只要原理无大变化及接口一致,则可以使用现有测试平台及测试软件,或作少许修改就可对这些单板进行功能测试。
结束语
在不同的开发平台下开发被测系统的测试模块,利用TestStand的多接口和高度模块化的特性来管理测试序列来组成的测试系统,具有很强的移植性;开发流程简单、高效;测试软件友好易用,可以明显提高测试效率,必将促进通讯设备测试领域的新发展。
相关文章