开发模块化的软件架构
一款强大的多线程测试引擎,它具有完整且经过详细描述的API。借助与NI TestStand Engine的通信,模块适配器提供开放的语言接口,以自动化各种语言所编写的测试。过程模型在必须执行的测试代码和系统级函数之间,提供更卓越的模块化。序列编辑器为测试序列提供易于使用且功能强大的开发环境。新近的操作界面由多种程序语言编写的源代码提供,通过快速定制满足您的确切需求。
NI TestStand Engine
NI TestStand Engine是一套用以导出ActiveX/COM的API函数库,可引导NI TestStand架构的所有部件。API令开发者利用导出的1,400多种函数,通过编程在NI TestStand Engine上执行各项操作。执行多线程的NI TestStand Engine可通过同步测试多个单元,提高吞吐能力。还因为引擎自身能够执行容限测试(limit testing),开发者无需将该功能纳入测试代码。由于没有纳入容限测试(limit testing),测试代码的灵活性和重复利用性均获得提高。NI TestStand Engine的另一项功能是:它能像任何的编程语言一样,执行流程控制功能。最后,它还能实现多级用户的访问与管理,提高了测试系统的安全性。
模块适配器
NI TestStand Engine在调用不同语言编写的代码时,利用了NI TestStand配备的不同模块适配器。模块适配器在NI TestStand Engine和NI LabVIEW、NI LabWindows/CVI、.Net、C/C++ DLL、ActiveX/COM和HT Basic编写的测试代码之间,提供了一个开放的语言接口。利用不同语言调用代码,能够重复使用任何已有的传统代码并利用更新的技术。您可以借助代码模块,利用参数的任意数目或NI TestStand API,从代码模块处收发信息。模块适配器提供的其他功能包括:单步执行代码模块进行调试以及利用代码模板提高编程效率。
过程模型
测试UUT不仅需要执行一系列的测试。通常,测试系统必须执行UUT识别、结果记录、测试报告生成等一系列的操作。这些操作及其执行流程的集合称为过程模型。过程模型执行着必要的系统级函数并在多个测试序列中使用它们,从而在测试代码和此类系统级函数之间提供更卓越的模块化。由于NI TestStand配有3个过程模型,用户既可以原封不动地使用,也可以进行完整定制。顺序过程模型每次能够测试1个单元;而批量与并行过程模型则借助NI TestStand的多线程功能,同时测试1个以上的单元。
序列编辑器
序列编辑器向测试工程师提供开发最复杂自动化测试系统时需要的所有功能和工具。用户可利用序列编辑器,创建、调试并修改测试顺序文件(Test Sequence File)。测试顺序文件(Test Sequence File)中的测试步骤能够包含所有测试编程语言开发出的代码模块。此外,序列编辑器包含创建部署套件的工具,可实现测试序列和操作界面的轻松发布。序列编辑器还提供用户管理服务,从而根据NI TestStand管理员设定的权限,防止某些用户使用受到限制的功能。图2中,序列编辑器显示着由NI LabWindows/CVI编写的测试顺序。
图3. NI TestStand序列编辑器
操作界面
归根结底,操作界面是用于NI TestStand的可定制用户界面,能够执行和调试由序列编辑器所创建的测试顺序文件(test sequence file)。在制造车间里,或者当测试或验证系统需要体现出一种自定义的外观和感受时,通常都会使用操作界面。NI TestStand操作界面通过NI TestStand用户界面控件,全面执行顺序文件显示(Sequence File Display)和执行跟踪(Execution Tracing)等常用功能,从而促进开发。NI TestStand中可立即运行的操作界面,由NI LabVIEW、NI LabWindows/CVI、C#、VB和VB .NET编写而成。
4、应用程序开发环境(ADE)
ADE在测试软件架构中扮演着很关键且可视化的角色。借助此类工具,系统开发者可进行系统的设计与组合,以实现测量应用、向终端用户显示信息、连接其他应用程序等多项功能。用于开发测量和自动化应用的ADE,为各个应用领域提供易于使用的设计模型、编译型性能和应用层的编程灵活性。同样重要的是,这些ADE与测量和控制服务软件紧密集成,而控制服务软件则与各种I/O设备连接且范围从小型应用程序到大型系统。
简单易用不仅重要,而且比快速上手和运行更为关键。借助易于使用的ADE,开发者不仅能够通过多种测量设备轻松地集中处理例行程序(routine),还可创建复杂的用户界面、部署并维护应用程序,并在产品设计升级和系统需要扩张时修改程序。
显著的灵活性得益于内部软件架构的使用,然而,当组织为了同迅速发展且处于业务核心之外的技术(如:OS和互联网技术)保持同步而使用专有软件时,常伴随额外的成本耗费。这种行为会将珍贵资源从商业运