TestStand是一种开放式的架构,即用户可以自行定义一些测试管理软件在执行序列之前或者之后的一些通用操作。比如序列号追踪、流程控制、报表生成、数据存储、用户界面更新、配置和提示窗口、用户管理等,这些操作由开发者提前定义好,用户在做测试step时自行选择需要的操作即可。
作为标准自动化测试系统架构的最顶层,测试管理软件要提供模块化的测试框架,在TestStand中,这个测试框架称为过程模型(Process Model),而采用该过程模型的序列文件称为客户端序列文件(Client Sequence File)。上一节我们也提到过自动化测试系统的组成,测试软件分为测试程序、自动化测试框架,对应TestStand中的测试程序即客户端序列文件,测试框架即过程模型。过程模型会包含很多通用的操作,而客户端序列文件的主序列只是其中的一部分,过程模型将框架定义好,并预留位置给客户端序列,开发人员负责填写这一部分即可。
过程模型本身是一个序列文件,TestStand自带三种过程模型,分别是SequentialModel、BatchModel、ParallelModel,后两种具有并行测试的功能。这三个序列文件存放在此位置C:\Program Files\National Instruments\TestStand 2020\Components\Models\TestStandModels\XXX ( ParallelModel) .seq,通过双击如下图位置也可直接打开对应过程模型的序列文件。
下图展示了TestStand架构概览图,它不仅有TestStand系统组件之间的关系,还增加了过程模型、序列文件执行的详细信息。过程模型的运作同样由TestStand引擎支持,它通过TestStand API访问引擎,而序列文件执行底层也同样是由TestStand引擎接管。将“序列文件执行”展开,如果没有使用过程模型,则只执行该序列文件包含的步骤;如果使用了过程模型,则执行过程按照模型设定的方式进行,执行过程会产生测试结果,过程模型中的通用操作会进行结果收集,并生成报表、记录数据库或者做数据离线分析。