2.2 TestStand常用术语
自动化测试系统包含了很多测试和操作。在TestStand中,通过序列文件(Sequence File)、主序列(Main Sequence)、子序列(Subsequence)、步骤组(Step Group)、步骤(Step)这种树状结构来组织不同的测试和操作,如图2-3所示。
图2-3 TestStand测试和操作树状组织结构
1.步骤(Step)
步骤是TestStand测试程序中的最小单元,无论多么复杂的测试程序也是由许多步骤构成的。步骤代表一个特定具体的动作(如初始化仪器、测试项),它可以采用以下任意一种实现形式:弹出对话框、流程控制、计算表达式等TestStand内部定义的操作;调用应用开发环境编写的代码模块;调用其他测试子序列(关于子序列会在后文介绍)。
2.代码模块(Code Module)
一个步骤可以调用不同应用开发环境编写的代码模块,这是TestStand的一大特点。TestStand是如何识别这些代码模块并与其进行数据交互的呢?这得借助于模块适配器(Module Adapter)。TestStand集成了针对不同语言的模块适配器,使得步骤调用代码模块时,TestStand能解析代码模块,既能传入数据,也能获取返回值。目前TestStand支持LabVIEW、LabWindows/CVI、C/C++、.NET、ActiveX/COM、HTBasic等语言,如图2-4所示。
图2-4 TestStand支持的编程语言
3.序列(Sequence)
序列是一系列步骤的有序组合。将不同的步骤按顺序排列,就形成了一个序列。默认情况下,构成序列的步骤将按顺序执行,除非有些步骤修改了默认设置导致执行出现跳转。通常,测试程序将包含多个序列。
4.步骤组(Step Groups)
为了更好地对步骤进行组织,TestStand将每个序列分成三个步骤组,分别是设置组(Setup Group)、主体组(Main Group)、清理组(Cleanup Group)。每个步骤组里面包含一系列步骤。
设置组:一般包含初始化仪器、治具、待测件,以及资源分配的步骤。
主体组:即序列的主体部分,包含大部分步骤,如待测件的测试。
清理组:通常包含关闭系统电源,恢复测试仪器、治具、待测件到初始状态,资源的释放和关闭等操作。
将一个序列划分成上述三个步骤组会带来两个好处:一是开发人员可以根据步骤的功能目的而将其放在合适的组中,整个序列将变得更加有序;二是TestStand中有一些内在机制可以确保在测试系统运行过程中遇到错误、产品测试失败或者操作人员终止测试时,TestStand会自动跳转到清理组,等待清理组运行完成后才退出。这种机制保证了测试仪器、治具、待测件在遇到意外时也能够回到预设定的状态,从而保护整个系统。设置组和清理组可以为空,即不包含任何步骤。
5.序列文件(Sequence File)
在TestStand树状结构的最顶端是序列文件。一个序列文件中可以包含多个序列。一般而言,会有一个主序列(Main Sequence)和若干个其他序列。由于整个序列可以作为一个步骤被调用,因此序列可以调用其他序列,被调用的序列称为子序列。子序列类似于LabVIEW中的子VI、文本编程中的子函数,将一系列相关的步骤放到子序列中,并作为一个步骤被主序列调用,这使得主序列变得很简洁,而且这样更容易实现模块化,使得代码的复用变得更简单。子序列可以是同一个序列文件中的,也可以来自于不同的序列文件。对于测试程序而言,它的执行是从序列文件的主序列开始的,主序列在执行的过程中会调用子序列。TestStand通过这样一种层次化的结构,使得测试管理变得非常有序。