开发模块化的软件架构
概览
欢迎进入设计新一代测试系统的开发者指南。该指南汇总了一系列的技术白皮书,专为帮助您通过开发测试系统,降低成本、提升测试处理能力并顺应今后的需求。这份技术白皮书为选择最合适的软件应用开发环境(ADE),提供指导。下载完整的开发者指南(共120页),查阅ni.com/automatedtest/zhs
1、行业趋势和挑战
随着全球设计和新产品开发的快速发展,测试管理者和测试工程师在开发测试系统时具有了新机会,这极大加速了产品开发周期。测试系统的开发方式由利用专用、即用型(turnkey)测试系统,转为创建模块化测试架构。新一代的测试架构应当容纳多种产品的测试需求并促进新型测试技术的添加,从而在未来实现其他的测试融合。开发强健开放的测试软件架构,对于设计模块化的测试架构至关重要。
随着开发成本在资金投入中的比值增加,我们更需要开发模块化且灵活的测试软件架构。在当今的大多数测试系统中,开发成本(如:系统集成成本和软件开发成本)往往是资金投入的2倍至10倍。测试工程组应当和日益缩短的产品开发周期、设计与测试的全球化保持同步,而这种开发成本的快速增长却正对该能力形成深远影响。当前测试系统的开发手段生成了过多项目,令如今的工程师难以与其保持同步。
对工程师而言,待测产品的复杂性也在迅速提高。而市场却在要求更高的质量和更多的功能。目前,很大程度上,产品在相同空间中可能纳入了更多的压缩功能。测试这类日益增加的功能便需要在您的测试系统中添加新型技术,这对灵活性不高的即用型(turnkey)测试系统便是一项挑战。反之,模块化测试架构却能够根据需要,通过固有手段添加新型功能。模块化的测试软件架构可帮助您缩减开发成本、缩短产品开发周期,并紧跟新产品复杂性的日益增长。
2、定义模块化的测试软件架构
设计高效的测试系统需要模块化的软件架构(图1)和为测试优化的开发工具。欲使测试系统的开发更为迅速、经济,关键在于:通过评估测试软件架构,实现代码最大程度的再利用。检验测试软件架构包括:评估使用中的软件开发工具和学习自行开发测试编码。理解模块化测试软件架构的重要性;理解以模块开发测试的方法而舍弃创建独立应用程序的思想,将大大提高测试软件的再利用。
图1. 测试系统架构
纳入模块化的测试软件架构时,首先应选择软件开发环境,其设计须能轻松连接仪器并快速执行测试所需的各类测量和分析。这些测试软件开发工具包括:NI LabVIEW、NI LabWindows/CVI和用于Visual Studio .NET的NI Measurement Studio。借助适当的测试开发环境,您能够与团队的其他成员及组织中的测试部门,更为轻松地共享测试程序。
选择具有强健软件界面的测试和测量硬件,是定义模块化软件架构的另一个重要层面。NI Measurement & Automation Explorer (MAX)、NI-DAQ、虚拟仪器软件架构(VISA)、NI LabVIEW即插即用驱动、可互换虚拟仪器(IVI)驱动等测量和控制服务软件,可以提供模块化硬件接口,通过利用虚拟通道名称、虚拟设备和仿真接口,对测试系统进行配置和编程。这些模块化的测量和控制服务驱动软件,令您无需开发与测试系统中的特定硬件及通道永久相接的测试程序,从而进一步简化了代码再利用。
设计工程师为建模和验证测试而创建的测试模块,是生产测试部门的整合资产。生产测试工程师可通过NI TestStand等行业标准测试管理软件,将在建模和验证阶段中开发的测试,轻松集成至最终的自动化测试系统。
NI TestStand提供一系列的内置测试管理功能,如:测试模块适配器。无论各项测试的函数原型如何定义,测试模块适配器均能够调用常见测试语言(如:NI LabVIEW、NI LabWindows/CVI、C/C++和Visual Studio .NET)编写的测试。对产品设计和生产团队之间代码最大程度的再利用,在节省测试开发精力的同时确保了生产进度并满足了更高质量的要求。由于灵活的NI TestStand模块适配器可最大程度地压缩培训与代码的应用,从而保证了产品开发周期中最大的代码利用率。
3、NI模块化的测试软件架构
模块化测试软件架构的管理层,负责指导整个测试系统的执行。 NI TestStand的开放式软件架构受到测试管理软件的广泛青睐,并极大推动了可扩展性测试软件架构的轻松执行。NI TestStand提供完全模块化兼开放式的架构,既能接受现成且"原封不动"的使用,也可作为单个组件用以设计完全自定义且基于NI TestStand的测试系统。图2图形化地描述了NI TestStand的架构。
图2. NI TestStand测试管理软件架构
作为NI TestStand架构核心的NI TestStand Engine是