APP下载

PaaS云平台的自动化测试平台的构建及技术研究*

2020-11-27洵,廖

机电工程技术 2020年10期
关键词:测试程序适配器驱动程序

李 洵,廖 臣

(贵州电网有限责任公司,贵阳 550002)

0 引言

近年来,自动化测试系统(Automatic Test System,ATS)正朝着“通用、标准化、模块化、序列化”的方向不断发展,采用基于开放式系统架构(OSA)的软件平台,实现可移植和可复用的测试程序,使用标准开放式接口,与现有的测试系统的研究与开发兼容[1]。应用成熟先进的技术、允许仪器设备的互换以及体系结构的不断发展完善等[2],这些要求在大型企业系统测试领域内尤为迫切[2]。本文基于软件平台的分层功能模型,分别研究了软件可移植性和可复用测试程序的问题,分别就测试程序的开发、驱动程序的开发、功能服务的接口设计以及人机交互界面的定制等方面进行探讨,最后结合企业应用场景在ATS 工程应用中实现自动化测试开发和测试执行功能,并开发了企业级应用系统协同功能自动化测试系统CHES。

1 CHES构成及平台设计

1.1 CHES构成

通常情况下,CHES 是由自动测试设备(ATE)硬件、ATE 软件和测试程序集(TPS)组成[3]。其中,ATE 硬件是构成ATE的物理设备/组件的组合,包括主控计算机、测试控制器、程序控制总线、仪器设备、开关组件和通用接口[3];ATE软件一般包括操作系统、测试诊断测试软件管理平台和支持软件;TPS可以利用ATE到DUT的各种测试资源进行检测和/或诊断,包括常规测试程序(TP)、测试接口适配器(ITA)、程序集和测试文档(测试程序将文件设置为TPSD),CHES的组成如图1所示。

图1 CHES的组成框图

1.2 平台设计

所谓通用,就是一个不断发展和逐步完善的概念[4]。在某种类型的ATS 中,使用一个通用平台以及一些专用部件来实现研究目标。通用平台包括主控计算机、测试控制器、仪器设备、通用测试接口、操作系统、测试管理平台软件和测试诊断支持软件。专用部分包括专用测试资源、专用接口适配器和测试程序。这样,通过使用通用仪器、通用测试接口、标准测试控制器和通用测试软件来构建通用平台,并在通用平台的基础上合理缩小或扩展,尽可能减少专用的部分,方便灵活[5]。CHES软件平台基于PaaS智云平台构建,提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统。

对于测试管理平台软件,即CHES软件平台,采用分层功能模式来实现开发体系结构,并有效地实现了组件化、模块化和标准化的设计原则。

对于一般的自动化测试软件平台,首先需要实现测试资源管理、测试程序维护、测试系统校准、测试任务执行和信息综合处理等基本功能,为此采用了模块化设计,最后提供了测试资源[4]。一组独立的软件组件,例如管理软件、测试程序维护软件、测试系统校准软件、测试任务执行软件、数据分析处理软件以及仪器设备的虚拟软面板。其次,测试支持软件需要提供测试程序开发环境和测试驱动的开发环境,以支持用户的二次开发并实现测试程序的可移植性和可复用性[6]。鉴于PaaS平台所提供的私有云环境、高级编辑和调试工具,丰富的功能库和图形控件,在系统开发方面具有强大的优势[4]。在测试程序方面,CHES 要求测试程序具有可移植性和可复用性。

2 CHES架构设计和软件平台功能划分

2.1 CHES架构设计

软件体系结构的质量直接影响整个自动化测试系统的性能[7]。该CHES 软件架构应该是开放的、通用的、标准化的,具有层次和组件化结构。因此遵循该设计原则的CHES软件需要遵循包括使用分层软件结构,可扩展性/可切性的支持功能,便携性和测试程序的可复用性,并支持仪器的互换性。这些设计原则必须依赖于开放式体系结构和模块化功能设计,以完全支持信息共享和信息交互[8]。

在某种类型的ATS,使用分层的功能模块来实现软件的开放式结构,如图2所示,从下向上分别为仪器层、测试驱动器层、外围服务层、测试管理核心层和用户界面层等5 个级别。下部功能组件为上部功能组件提供服务[9]。每个级别的功能服务,接口和数据信息应基于可公开获得并被接受的规范。

(1)用户界面层。用作人机界面以完成与用户的交互,至少应提供对话框、快捷键、菜单和命令按钮。

(2)测试管理核心层。提供ATE 软件的核心组件,维护和管理核心组件之间的通信主干,无缝集成基础功能服务,并根据上层需求将其提供给用户界面[10]。

(3)外围服务层。主要完成特定应用的功能服务,包括测量控制、诊断推理、维护和信息管理。这些功能服务应该是动态的和可伸缩的,以便应用程序与特定的硬件无关[11]。

(4)测试驱动程序层。用作测试程序和相关资源(例如仪器设备、开关组件和被测设备)之间的链接。测试驱动程序应实现相同功能仪器之间的互换[12]。

(5)仪器设备层。直接面向各种测试资源,其输入应基于VISA功能库,以便仪器驱动程序独立于程序控制总线[13]。

在某些类型的ATS 中,实现了一个应用程序,该应用程序将测试开发、测试执行和测试管理与先进和成熟的技术(包括自定义CHES功能服务)集成在一起。该软件基于上述层次结构,结构清晰,每个模块的功能合理分配,符合当前的标准规范,并且最终软件产品中的软件组件是可移植的,并且其关键接口符合广泛使用的标准规范或具有清晰的定义,为测试程序的开发、执行和管理提供“开放、标准、通用”的环境,并更好地满足各种设计要求[14]。其中,测试管理核心层的测试管理软件平台分别使用CHES系列软件。该开发者工作室和运行系统通过定制实现的功能提供功能性服务的CHES必要的测试开发和测试执行功能的软件,出色地完成编译所有的测试程序编辑、修改、调试、测试和执行。

图2 软件平台的分层功能结构模型

2.2 软件平台功能划分

在该软件平台中,将整个软件分为各个功能模块,例如测试资源管理、测试程序维护、测试系统校准、测试任务执行以及数据分析和处理。这些模块通过标准内部总线交换数据,并通过标准接口提供数据。函数调用可实现软件平台的模块化、组件化和标准化。最终交付的软件组件包括操作平台软件、测试资源管理软件、测试程序维护软件、测试系统校准软件、测试任务执行软件、数据分析处理软件、虚拟软面板软件、测试驱动程序、CHES适配器软件、系统功能。软件组件,例如自检软件,系统性能自检软件和系统计量软件[15]。每个软组件的基本功能划分如下。

(1)操作平台软件:作为人机交互的主要界面,协助用户完成功能模块的调用,例如测试资源管理、测试程序维护、测试系统校准、测试任务执行和数据分析处理。

(2)测试资源管理软件:提供仪器型号选择、接口信息配置、端口信息配置和测试驱动程序管理;支持同类仪器之间的互换以及仪器设备的升级和更新。

(3)测试程序维护软件:协助用户设计、开发和验证测试程序,提供测试参数信息库的维护功能,并帮助用户编辑、调试和执行测试参数/测试程序。

(4)系统功能自检软件:可以帮助用户进行ATE 本身的功能测试,以检查每个测试资源的功能正常性。

(5)系统性能自测软件:可以帮助用户执行ATE 自己的性能测试,以确定其是否满足性能要求。

(6)测试系统校准软件:可以帮助用户执行仪器校准和测试通道校准,并提供通道校准数据的管理功能。

(7)测试系统测量软件:测量人员可以协助ATE 对各个测试资源进行测量,以确定每个设备中的ATE指标是否合格。

(8)测试任务执行软件:根据某些规则执行配置的测试序列,并自动驱动、控制、测量、显示和存储每个测试计划的每个测试步骤,提供手动和自动测试模式。

(9)数据分析和处理软件:提供诸如测试结果信息浏览、测试报告输出和测试报告打印等功能。

(10)虚拟软面板:调用测试驱动程序库以帮助用户完成测试资源的控制和操作。

(11)CHES 适配器软件:公司完成加载、运行、暂停和重新指定的ATLAS测试程序通过调用CHES/RTS服务。

(12)测试驱动程序:对顶级软组件调用的单个测试资源的完整驱动控制。

3 PaaS平台简介和工程应用

PaaS 平台是一个开放的平台,让用户可以简单、快速地创建、部署和管理应用,提供了完善的前后台开发框架、服务总线(ESB)、调度引擎、公共组件等模块,帮助用户快速、低成本、免运维地构建支撑工具和运营系统。PaaS 平台为一个应用从创建到部署,再到后续的维护管理提供了完善的自助化和自动化服务,如日志查询、监控告警等,从而使用户可以将全部精力投入到应用的开发之中。PaaS 平台的主要功能有:支持多语言的开发框架/样例、免运维托管、SaaS运营数据可视化、企业服务总线(API Gateway)、可拖拽的前端服务(MagicBox)等。基于PaaS 开发的自动化测评平台主要包括以下几部分内容。

(1)测试系统需求文件(TRD):应用程序使用表和帮助用户创建测试策略文件和测试程序结构的工具。

(2)测试程序集开发系统(Developer'sStudio):主要为开发人员在Windows 环境中编辑、编译、调试和模拟记录可视化工具和语言测试程序的手段。

(3)运行系统(RTS):主要用于完成测试程序的执行。在操作员和测试设备之间提供接口。其可以执行二者生成的目标代码和数据文件,以及实际的测试结果和测试程序调试功能。

通常,在测试环境中,测试程序主要由测试模块、设备数据库模块、交换机数据库模块、接口适配器数据库模块、WCEM 模块和总线配置模块组成。测试程序是从数据库信息(例如描述设备、开关、接口适配器和子集(词汇库))编译而成的,以生成目标文件和数据文件。该RTS 执行系统负责执行ATLAS 对象的代码和数据,并通过CIIL、宏代码、或WCEM 等可选驱动程序与ATE 硬件平台进行交互[15],如图3所示。

图3 软件的功能结构示意图

(1)制定测试程序

测试管理软件平台的测试开发功能直接在开发环境PaaS平台软件中调用。平台软件首先以命令行参数传递模式将测试程序文件的传递信息传递给PaaS平台软件,然后从动态加载控件到相应的测试程序的工作方式,以便用户可以直接使用其进行编辑、测试程序、编译、调试和仿真。

该软件平台支持测试程序的开发过程如图4 所示。开发人员首先需要分析测试需求,确定UUT功能性能测试参数的特定需求,并优化测试资源以构建测试平台;然后选择合适的子集,编写测试程序;进行ATE 建模,并进行测试驱动程序的集成开发;最后是集成工作,主要是测试程序的仿真,调试和执行。

测试程序不包含对实际物理资源的任何控制操作,因此,测试程序开发人员可以在硬件资源尚未完全准备就绪时使用现有的配置资源来开发和调试测试程序。准备好目标硬件资源后,可以直接移植测试程序。

(2)测试驱动程序开发

采用WDSL 将测试程序层的内容抽象并通过WCEM 在CHES中集成开发,这允许测试程序开发人员与繁琐的设备驱动程序进行交互。同时,借助软件平台中的资源管理软件,开发人员可以维护测试资源信息文件。

WDSL不再使设备驱动程序成为更换仪器后困扰软件更新的问题,因为测试资源信息清楚地描述了每种类型的测试驱动程序的功能,而标准接口声明也清楚地描述了每种测试类型。驱动程序的接口实现规范。另外,由于使用的I/O驱动程序功能库基于VISA规范,因此设备驱动程序从根本上独立于程序控制的接口总线。这样,仪器互换性和可编程接口总线独立性的完美结合使测试参数/测试仪/应用程序与硬件无关。

(3)功能服务接口设计

基于ATS 的测试程序开发和基于WDSL 的驱动程序开发使软件平台开发的测试程序能够实现与特定测试资源硬件的独立性。要扩展软件平台的应用范围,还必须使用功能服务接口的标准规范。在一定的ATS 软件平台,建立了一个CHES/RTS适配器插件作为一个软件平台来执行的交互界面测试程序,并提供测试资源信息。根据测试程序提供信息测试结果数据文件。这样,软件平台可以通过统一的规范接口实现所需的定制功能,包括调用CHES/RTS服务以完成测试项目的加载、卸载、执行、停止和重置。设置属性信息包括校准数据文件名、校准数据使能开关、调试信息输出开关、模拟测试开关等;获取属性信息包括版本信息和工作状态。

CHES/RTS 适配器的设计主要利用COM(组件对象模型)组件技术,并努力提供具有标准接口的CHES/RTS功能服务调用。所述的示意图CHES/RTS 适配器界面中显示CHES/RTS适配器主要与交互CHES/RTS服务器。该RTS服务器充当所述的执行引擎测试程序。提供的服务包括RtsMachine、lSubsystem、DataLogger 和 Debugger。其中,RtsMachine 被用来完成测试程序的执行和监测的执行状态;lOSubsystem 被用于数据信息的输入/输出操作;DataLogger 提供数据记录功能;调试器用于调试测试程序的开发。

图4 测试软件开发流程示意图

TYX 为RTS 服务器提供了3 个通用接口,即RTSActiveX控件集、RTSCom适配器和TPS服务器。这3个公共接口既是RTS 服务器的客户端,也是软件平台的服务器。每个接口都包含特定的功能和服务,这些功能和服务使软件平台能够轻松调用RTS服务器的功能和服务,以实现和监视测试程序。

(4)人机交互界面的定制

为了给用户提供友好而一致的人机交互界面,完善CHES的全英文界面,难以实现信号参数的独立修改和测试程序的手动执行,在开发软件平台时采用了混合编程设计方法。充分利用PaaS平台丰富可靠的功能库和图形控件,为用户提供快捷键、工具栏按钮、下拉菜单、弹出菜单、功能按钮等人机交互界面,使操作方式简单明了,用户界面风格统一。图5所示为测试任务执行界面的示意图。

图5 测试任务执行界面示意图

4 结束语

在目前特定的功能测试案例中,引入了基于PaaS云平台开发的自动化测试系统来解决测试程序移植和复用的问题,并结合了开放系统软件体系结构的层次架构,测试程序的开发、驱动程序的开发、功能服务接口的设计、人机交互界面的定制等都已经实现了测试开发和测试执行功能,并在实际应用中达到了预期的效果。

基于PaaS云平台,建立了一个开放的架构和成熟的先进自动化测试平台,并遵循模块化、组件化和标准化的设计原则,实现了测试程序的可移植性和可测试性,有效地增强了自动测试系统的灵活性,可用于支持开放式通用测试软件在功能性能测试领域的应用以及对复杂系统的维护支持。

猜你喜欢

测试程序适配器驱动程序
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
基于Castle型机械手的三温量产测试平台实现
基于3D打印的轻型导弹适配器
潜空导弹垂直发射出筒适配器受载变形仿真研究
手机APP交互界面人因适合性测试程序的设计与实现
电源适配器怎么选
美国麦格普公司新型M—LOK相机三脚架适配器
电气自动化控制设备可靠性测试探讨
妙用鼠标驱动