进入21世纪,产品更新换代以前所未有的速度进行更新,涵盖电子、汽车、医疗、半导体、航空航天等,这些领域每天可能都会有大批大量的产品问世,接踵而至的就是对它们进行大批量的测试,传统的手动使用仪器进行测试显然是不现实的,必须使用更加高效的测试方式,提高测试效率。在一个以软件为中心的时代,软件控制硬件的自动化测试系统应运而生。
一个标准的自动化测试系统架构包含五层,从低到高分别为:仪器设备、测试站、仪器驱动程序、应用开发环境、测试管理软件。仪器设备可以使PXI模块、VXI模块、GPIB总线接口仪器;测试站可以是桌面PC、工控机或基于标准总线平台;仪器驱动程序是用于控制可编程仪器的一个软件程序集,常见的标准方法有即插即用驱动PnP、可互换虚拟仪器驱动IVI、直接IO;应用开发程序是具体的测试代码开发环境,包括LabVIEW、C#、C++等,开发过程中应着重设计高度模块化且可重用的代码模块;测试管理软件位于五层结构模型的最上层,用于管理和执行测试,应用开发环境编写的每个测试代码都作为测试管理软件的一个步骤,对应一个具体的测试项,测试管理软件将这些步骤排列起来形成序列,并按最终定义的顺序序列执行,从而实现自动化测试。同时,代码模块有可能是不同语言编写的,这在自动化测试中很常见,因此测试管理软件需要有接口能够同时识别这些代码模块。TestStand不仅能实现上述描述,还可实现并行测试,提高测试效率。
TestStand特点归纳如下:
- 测试管理和执行;
- 通用测试架构,简化测试软件开发工作;
- 具有图形化操作界面;
- 支持主流应用开发环境编写的代码模块;
- 支持多线程并行测试;
- 内建测试策略;
- 具有自定制的用户界面设计;
- 具有开放式的架构,可自定制;
- 自动生成ASCII、HTML、XML、ATML报表;
- 支持与Access、Oracle、SQL Server数据库互连。
TestStand架构概览
Step:测试最小单元,它可以采用以下任意一种实现形式:弹出对话框、流程控制、计算表达式等TestStand、内部定义的操作;调用应用开发环境编写的代码模块;调用其他测试子序列。
代码模块:一个Step可以调用不同应用开发环境编写的代码模块,TestStand能解析代码模块,既能传入数据,也能获取返回值。目前TestStand支持LabVIEW、LabWindows/CVI、C/C++、.NET、ActiveX/COM、HTBasic等语言。
序列:序列是一系列步骤的有序组合,将不同的步骤按顺序排列,就形成了一个序列。通常,测试序列将包含多个测试序列。
步骤组:为了更好地对步骤进行组织,TestStand将每个序列分成三个步骤组,分别是设置组、主体组、清理组。每个步骤组里面包含一系列步骤。
- 设置组;一般包含初始化仪器、冶具、待测件,以及资源分配的步骤。
- 主体组:即序列的主体部分 ,包含大部分步骤,如待测件的测试。
- 清理组:通常包含关闭系统电源、恢复测试仪器、冶具、待测件到初始状态、资源的释放和关闭等操作。
设置组和清理组可以为空,即不包含任何步骤。
序列文件:TestStand树状结构的最顶端是序列文件。一个序列文件中可以包含多个序列。外边的序列是主序列,被调用的序列成为子序列。
TestStand序列编辑器主界面布局
安装完TestStand进入后,会弹出一个登录窗口,TestStand默认创建一个名为“Administrator”密码为空的管理员权限的账户,单机OK按钮就可以登录进去,无需输入密码。TestStand主界面如下图所示。
界面显示的各项在后面的介绍中将会一一涉及,此处暂不赘述。另外TestStand有三个重要的目录包含TestStand的范例以及重要的文件。
<TestStand> C:\Program File (x86)\National Instruments\TestStand x.x
<TestStand Public> C:\Users\Public\Documents\National Instruments\TestStand x.x
<TestStand Application Data> C:\Program Data\National Instruments\TestStand x.x 默认隐藏