CN113505061B - 自动测试软件平台 - Google Patents
自动测试软件平台 Download PDFInfo
- Publication number
- CN113505061B CN113505061B CN202110730569.3A CN202110730569A CN113505061B CN 113505061 B CN113505061 B CN 113505061B CN 202110730569 A CN202110730569 A CN 202110730569A CN 113505061 B CN113505061 B CN 113505061B
- Authority
- CN
- China
- Prior art keywords
- test
- configuration information
- communication protocol
- hardware interface
- configuration module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开的一种自动测试软件平台,旨在提供编写自动化用例更简单,用例运行更快速的平台。本发明通过下述技术方案予以实现:通信协议配置模块和硬件接口配置模块完成能被测件驱动配置模块调用的配置信息;被测件驱动配置模块选择需要的通信协议配置信息与硬件接口配置信息,组成相符的被测件配置信息;仪表配置模块生成全部仪表对象集合形式的仪表驱动模块;测试门限配置模块和测试参数配置模块选择输入参数匹配的测试门限,向方法库输送测试参数集合和测试参数列表;方法库调用测试参数集合生成的测试参数列表,形成具有可复用性的软件代码,这些软件代码的集合形成方法库,实现同一测试方法对应不同测试参数配置表,生成不同测试用例的目标。
Description
技术领域
本发明应涉及自动化测试领域一种流程自动化(SRPA,Smart Robotic ProcessAutomation)测试平台,用于开发基于流程化配置的自动测试软件平台。
技术背景
随着电子产品的现代化、科技化和复杂化程度的提高,自动测试系统凭借其优异的测试效率与准确性,越来越多地应用到各行各业中,对各种电子产品进行测试。自动测试技术通过开发自动测试软件,由软件按照测试业务逻辑完成被测件及仪表的控制,并自动采集与比对数据,得出结论并记录测试结果。自动测试系统(automatic testing systems)包含了自动测试所需的软硬件资源,自动测试系统是指在人极少参与或不参与的情况下,自动进行量测,处理数据,并以适当方式显示或输出测试结果的系统。自动化测试的本质是用程序控制测试仪表和被测产品。自动测试开发人员不仅需要具备基本的业务基础(掌握具体的测试方法),还需要具备一定的编程技能,也就是说学习“编程语言”是自动化测试的基础。而为了构建大型的测试系统,针对更为复杂的测试方法,自动测试开发人员不仅需要具备基本的软件编码能力,还需要构建合理的自动化测试软件框架和基础库,以满足系统后期的可扩展性、稳定性和可维护性要求。
近几年来,随着被测产品种类的增加、测试复杂度的提升,为减少开发成本、提升开发效率,自动测试系统正朝着通用化的方向发展,特别是自动测试软件。虽然自动测试软件可以是独立运行的应用程序,但在实际生活中,独立运行的应用程序在扩展性和复用性上都存在较大的劣势。当用户想在原有自动测试软件的基础上增加测试项目或者修改原有测试项目时,将变得非常困难。因此目前大多数的自动测试软件采用自动测试软件平台+测试用例的实现方式。
软件平台是一种针对某特定领域,用来满足该领域内相关应用需求、集成了各种应用功能、软件架构、流程、工具、标准于一身的软件工作空间。自动测试软件平台正是针对自动测试领域,用于满足自动测试用例开发、执行和测试相关数据(不仅包含测试用例代码、还包括测试结果、配置信息、技术文件等)的管理与使用需求的软件平台。它不仅可以大幅缩短测试用例的开发周期,还可以简化测试系统操作与使用。测试用例指的是由自动测试软件平台开发出来的,并在其上运行的测试程序。IDE指的是辅助程序员开发软件的工具软件,它是一个总称。例如visualstudio、pycharm都是典型的IDE。IDE的主要功能就是编码、编译、运行、调试。自动测试软件平台只是在IDE基础上增加了与测试相关的其他功能与服务,例如被测件管理、报表生成、测试计划管理等。自动测试软件平台可以理解为包含了集成开发环境(简称IDE)并提供测试相关服务的软件平台。
采用自动测试软件平台+测试用例的实现方式的核心思想是贯彻测试用例与自动测试系统硬件平台、操作系统、无关的设计思想。自动测试软件平台通用性设计的最终目标是让测试用例的编码具有独立性,即测试用例源代码中不涉及具体的软硬件资源信息,以此具备测试用例的通用性和可移植性。此外,自动测试软件平台通过抽象各种软硬件资源及并据此提供通用性服务,使得测试用例开发过程得到简化、开发效率得到提升。因此自动测试软件平台是自动测试系统实现通用性的关键所在。
目前主流的自动测试软件平台如teststand、testcenter等均存在以下缺陷:首先,自动测试软件平台没有提供测试用例开发的软件架构。软件架构指的是:为了完成特定任务的软件组件规范。测试用例为实现顶层的测试逻辑,需开发很多底层的软件组件,以提供一些基础的、可复用的基础功能供测试用例调用,例如通信协议解析功能、不同硬件接口驱动、仪表驱动等。而目前的自动测试软件平台只是提供了测试用例的开发与运行环境,并没有约束和设计如何划分软件组件功能以及各组件之间的调用关系。因此无法提供一套标准的开发步骤及与此配套的软件框架。软件框架的缺失,将大大提升开发工作的难度。用例开发完全依赖开发人员经验。不同开发者将设计出不同的软件框架,甚至不开发软件框架就直接开发测试用例。这将导致用例很难管理与维护。更致命的是,由于软件框架的缺失,不同开发人员各自开发软件组件,存在严重的重复建设问题。其次,底层驱动开发繁琐,不直观。自动测试用例开发人员关注的是如何快速实现测试逻辑,并不关心、也不擅长底层驱动开发。底层驱动屏蔽了繁琐的实现细节,使得开发人员能更加专注于实现测试逻辑。例如测试用例发送被测件参数设置命令,屏蔽了通信协议组件按控制命令帧格式组织二进制数据的细节,也屏蔽了硬件接口驱动将发送数据转换成特定硬件总线物理链路上传输的信号的细节。在现有的自动测试软件平台中,所有供底层驱动都需要开发人员编码实现。在实际开发过程中,底层驱动开发往往更为耗时,开发者仍然需要耗费很多精力去完成这部分工作。自动测试软件平台没有提供一个更为简单的方式去完成这部分繁琐的任务。
发明内容
为提高自动测试系统中测试软件的开发速度、降低开发难度,本发明针对现有自动测试软件平台无软件框架,开发难度大、可复用性差,以及底层驱动开发繁琐等不足之处,提供一种编写自动测试用例更简单,直观,流程化、可配置,更易用的自动测试软件平台,以解决现有自动测试软件平台无用例设计指导,用例开发难度大,软件组件重复建设严重、项目间差异性大,运维成本高的问题。
本发明的上述目的可以通过以下技术方案予以实现:一种自动测试软件平台,包括:基于自动测试开发流程设计的以向导化方式配置实现各个开发环节相对应的通信协议配置模块、硬件接口配置模块、仪表配置模块、测试门限配置模块和输入参数配置模块、形成支持相互调用工具链的后台软件框架以及可复用的方法库,其特征在于:通信协议配置模块和硬件接口配置模块分别通过各自的图形化界面,完成能被测件驱动配置模块调用的各种不同通信协议配置信息和硬件接口配置信息的生成,并存储在平台中;被测件驱动配置模块通过图形化界面,从上述已经生成的通信协议配置信息和硬件接口配置信息中,选择需要的通信协议配置信息与硬件接口配置信息,组成与真实被测件的通信协议和硬件接口相符的被测件配置信息,并存储在平台中;平台自动调用软件框架中的抽象设备驱动组件调用通信协议管理组件与硬件接口适配组件,对被测件配置信息进行解析,生成包含通信协议对象和硬件接口对象的抽象设备驱动;仪表配置模块通过图形化界面完成各种仪表信息的录入,生成存储在平台中能被软件框架中的可互换仪表驱动组件调用的仪表配置信息,并存储在平台中;可互换仪表驱动组件对仪表配置信息进行解析,生成配置信息中包含的全部仪表对象;测试门限配置模块和测试参数配置模块分别通过各自的图形化界面生成存储在平台中能被测试参数配置模块调用的,用于表示被测件判决门限的门限配置信息和表示需要进行遍历的数据元素的输入参数配置信息,并存储在平台中;测试参数配置模块通过图形化界面,通过选择在输入参数配置模块生成的输入参数配置信息,并根据输入参数与门限的对应关系,选择与之匹配的从测试门限配置模块生成的测试结果对象,逐行进行配置,最终生成测试参数配置信息,并存储在平台中;测试参数解析组件通过调用测试结果管理组件与输入参数解析组件,实现对测试参数配置信息的解析,并生成包含遍历输入参数列表与测试结果对象的测试参数列表;用例开发人员基于生成的抽象设备驱动,以编码的方式,通过调用抽象设备驱动中的通信协议对象和硬件接口对象实现基于应用级的被测件驱动;方法库通过编码的方式调用可互换仪表驱动获得仪表对象,并通过调用仪表对象与生成的被测件驱动,然后将测试参数作为测试用例输入参数的方式,实现了可复用的测试方法。测试方法的集合形成方法库。用例开发人员调用方法库中的测试方法,并将测试参数解析组件生成的测试参数列表作为输入参数传递进去。实现同一测试方法对应不同测试参数配置信息,生成不同测试用例的目标。
本发明相比于现有技术具有如下有益效果:
本发明基于自动测试用例开发活动,形成了通用的开发流程。开发流程适用于各种场景的自动测试用例开发,并通过一套软件框架实现基于流程的通用自动测试用例开发。软件框架中的各个软件组件,服务于流程中的相应环节,它们既可独立使用也可相互调用形成工具链。基于软件框架开发后,各环节环环相扣,最终以流程化、向导化参数配置的方式对软件框架中各软件组件的调用,实现图形化界面下配置式的用例开发。开发人员基本无需编码,只需要按照流程进行每个环节的配置,便可快速完成各种驱动的生成与测试用例的搭建,大大降低了开发难度,同时也极大提升了开发效率。配置式的软件组件调用,减少了驱动开发的难度和工作量,提升了开发效率。当与测试方法无关的外部资源发生变化时,也可以通过调整配置参数的方式,快速满足测试需要,而无需对测试用例源码进行修改。
组件相互调用形成工具链的软件框架,规范并约束了测试用例开发的方式,使得开发出来的代码具有相同的架构与调用接口,因此具有更好的可复用性与更低的维护成本。此外由于软件框架已经实现了整个测试用例的软件架构,因此开发人员无需开展软件架构设计,只需遵循架构的接口要求进行驱动的开发,因此大大降低了对开发人员技能的要求。此外,基于软件框架开发能够保证测试用例具有更好的架构,好的架构带来更好的可扩展性与稳定性。统一的架构、统一的调用接口也使得测试用例的可读性更强、维护成本更低。基于软件框架的开发方式解决了现有自动测试软件平台无用例设计指导,用例开发难度大,项目间软件架构差异性大,难以运维的问题。
配置式的软件组件即可单独使用,也可相互调用形成工具链,减少了驱动开发的难度和工作量,提升了驱动开发效率,让用例开发人员能更加专注于测试业务逻辑的实现而不是花费大量时间去开发各种驱动。而且按照流程化的开发方式,自下而上构建驱动,使得测试用例驱动的层次性更好,耦合性更低,解决现有自动测试软件平台驱动开发重复建设严重、驱动可复用性低,驱动开发效率低下的问题。
通信协议配置模块实现了即通信协议对象的生成。通信协议配置模块通过图形化界面录入控制指令的帧结构,而无需编码,更加直观,且使用门槛更低,能支持非软件开发人员使用。录入的通信协议配置信息能被通信协议组件调用,并生成通信协议对象。用例开发人员无需掌握组织帧格式的方法,只需调用通信协议对象便可实现参数与二进制流的转换。极大程度减少了通信协议驱动开发的难度、提升开发效率。
硬件接口配置模块实现了硬件接口驱动对象的生成。录入的硬件接口配置信息能被硬件接口适配组件调用,并生成硬件接口驱动对象。用例开发人员无需关心硬件底层驱动对象如何生成,便可直接调用该对象实现接口上的数据收发。极大程度减少硬件接口驱动开发的难度、提升开发效率。
被测件驱动配置模块通过图形化界面选择已经生成好的通信协议配置信息与硬件接口配置信息,并组合成被测件配置信息,此种通过配置与组合的开发方式更为灵活、简便。被测件驱动配置模块通过抽象设备驱动组件后台调用通信协议组件与硬件接口适配组件,实现了对通信协议配置模块与硬件接口配置模块的整合。使得用例开发者可以更为简便的直接获得抽象设备驱动,而无需关心底层的通信协议驱动与硬件接口驱动如何生成。并将有限精力用于从派生抽象设备驱动派生出基于业务需求的被测件驱动。
仪表配置模块实现了仪表对象的生成。仪表配置模块通过图形化界面录入仪表配置信息。录入的仪表配置信息能被可互换仪表驱动组件解析,并生成仪表对象。用例开发人员无需关心具体仪表型号,也无需查询复杂的英文仪表手册去获取程控命令,便可使用仪表驱动。极大程度减少仪表驱动开发的难度、提升开发效率。而且基于IVI(可互换虚拟仪器)标准建立的仪表驱动接口,使得即使仪表具有可互换性,即使仪表型号发生了变化也无需修改测试用例代码。
测试门限配置模块实现了测试结果对象的生成。测试门限配置模块通过图形化界面录入门限配置信息。录入的门限配置信息能被测试结果管理组件解析,并生成测试结果对象。测试结果对象具备自动门限判定与测试结果数据记录功能。用例开发人员只需对测试结果对象赋值即可完成门限判定与测试结果记录,而无需编码实现上功能,极大程度减少开发工作量、提升开发效率。使用测试结果对象后,减少了测试用例的冗余代码,使得测试用例更加聚焦测试逻辑,具有更好的可读性与可维护性。
输入参数配置模块实现了遍历输入参数列表的生成。输入参数配置模块按照设计的语法规则,通过图形化界面录入测试用例需要遍历的输入参数,并形成输入参数配置信息。生成的输入参数配置信息能被输入参数解析组件解析,并生成输入参数列表。输入参数配置模块以一种灵活、直观的方式实现了测试用例遍历输入参数的组织、获取与组合,用例开发人员在开发测试用例时候无需通过编码方式实现各种测试需求下,情况多样、差异又很大的遍历输入参数的组织与获取工作,极大程度减少开发工作量、提升开发效率,且输入参数配置模块实现了参数与测试用例的解耦,即使输入参数发生变化也无需修改测试用例源码,只需通过图形化界面重新配置输入参数即可,极大增加了测试用例的可复用性和可维护性。
测试参数配置模块通过图形化界面选择已经生成好的门限配置信息与输入参数配置信息,并组合成测试参数配置信息。测试参数配置模块通过测试参数解析组件后台调用测试就结果管理组件与输入参数解析组件,实现了对测试门限配置模块与输入参数配置模块的整合。使得用例开发者可以一次性的获得遍历输入参数以及与之对应的门限,而无需通过代码组织两者之间的对应关系,极大程度减少开发工作量、提升开发效率。
方法库开发环节中,测试用例开发人员在编码过程中,通过调用上述环节中生成的被测件驱动、仪表对象实现测试逻辑。由于差异性部分都以输入参数的形式传递,而剩余部分(即测试流程与测试逻辑)是不会发生变化的,因此实现了测试方法的可复用性,极大程度减少开发工作量、提升开发效率。
在用例开发阶段,用例开发人员/使用人员,只需按流程,调用通过图形化界面以选取配置方式生成的各种驱动、对象便可完成测试用例的开发,极大程度降低了测试用例的开发难度、减少开发工作量、提升了开发效率。
附图说明
图1是本发明自动测试系统可配置化自动测试软件平台的工作原理示意图。
具体实施方式
参阅图1。在以下描述的优选实施例中,一种自动测试软件平台,包括:基于自动测试开发流程设计的以向导化方式配置实现各个开发环节相对应的通信协议配置模块、硬件接口配置模块、仪表配置模块、测试门限配置模块和输入参数配置模块、形成支持相互调用工具链的后台软件框架以及可复用的方法库,其特征在于:通信协议配置模块和硬件接口配置模块分别通过各自的图形化界面,完成能被测件驱动配置模块调用的各种不同通信协议配置信息和硬件接口配置信息的生成,并存储在平台中;被测件驱动配置模块通过图形化界面,从上述已经生成的通信协议配置信息和硬件接口配置信息中,选择需要的通信协议配置信息与硬件接口配置信息,组成与真实被测件的通信协议和硬件接口相符的被测件配置信息,并存储在平台中;平台自动调用软件框架中的抽象设备驱动组件调用通信协议管理组件与硬件接口适配组件,对被测件配置信息进行解析,生成包含通信协议对象和硬件接口对象的抽象设备驱动;仪表配置模块通过图形化界面完成各种仪表信息的录入,生成能被软件框架中的可互换仪表驱动组件调用的仪表配置信息,并存储在平台中;可互换仪表驱动组件对仪表配置信息进行解析,生成配置信息中包含的全部仪表对象;测试门限配置模块和测试参数配置模块分别通过各自的图形化界面生成存储在平台中能被测试参数配置模块调用的,用于表示被测件判决门限的门限配置信息和表示需要进行遍历的数据元素的输入参数配置信息,并存储在平台中;测试参数配置模块通过图形化界面,通过选择在输入参数配置模块生成的输入参数配置信息,并根据输入参数与门限的对应关系,选择与之匹配的从测试门限配置模块生成的测试结果对象,逐行进行配置,最终生成测试参数配置信息,并存储在平台中;测试参数解析组件通过调用测试结果管理组件与输入参数解析组件,实现对测试参数配置信息的解析,并生成包含遍历输入参数列表与测试结果对象的测试参数列表;用例开发人员基于生成的抽象设备驱动,以编码的方式,通过调用抽象设备驱动中的通信协议对象和硬件接口对象实现基于应用级的被测件驱动;方法库通过编码的方式调用可互换仪表驱动获得仪表对象,并通过调用仪表对象与生成的被测件驱动,然后将测试参数作为测试用例输入参数的方式,实现了可复用的测试方法;测试方法的集合形成方法库;用例开发人员调用方法库中的测试方法,并将测试参数解析组件生成的测试参数列表作为输入参数传递进去。实现同一测试方法对应不同测试参数配置信息,生成不同测试用例的目标。
通信协议配置模块通过图形化界面,录入通信协议,通信协议按控制命令进行划分,每条控制命令以二维表数据结构表示该控制命令的帧格式,用于描述帧格式的要素包括:数据元素名称、数据存储时使用的单位(字节或者比特位),存储数据的长度。控制命令集合形成通信协议,不同协议配置信息对应不同通信协议。通信协议配置模块允许配置多个协议存储在平台中供被测件驱动配置模块选取,协议配置信息在平台中的存储形式可以是文本文件也可以是数据库;
通信协议管理组件可单独使用也可被抽象设备驱动组件调用,用于对通信协议配置信息中包含的控制命令帧格式进行解析,并生成以控制命令名称为键,控制指令序列化对象为值的键值对形式的包含了与控制命令一一对应的控制指令序列化对象的通信协议对象。通信协议对象通过控制命令名称能索引到对应的控制指令序列化对象。控制指令序列化对象包含了控制命令帧格式,能根据帧格式组织数据在内存中及传输数据流中的存储地址、存储方式,并对外提供序列化与反序列化方法,用例开发人员通过调用序列化与反序列化方法实现测试用例中的变量与二进制流的相互转换。
硬件接口配置模块通过图形化界面录入硬件接口配置信息,配置信息包括接口类型以及初始化信息。接口类型代表了一种特定的硬件接口类型,例如RS422、RS485、RS429、UDP、TCP、RapidIO等,初始化信息根据接口类型,其数据要素与数据要素的个数都不相同。初始化信息采用自定义语法字符串进行表示:将数据要素与数据要素以“=”进行连接,将数据元素与数据元素采用“,”进行分割,例如RS422的初始化字符串为:“port=com1,baudrate=115200”。硬件接口配置信息按接口进行划分,每个接口的信息以一维数组表示,代表测试系统中一个真实存在的,且后续将与被测件对接的硬件接口。硬件接口配置模块允许配置多个硬件接口配置信息存储在系统中供被测件驱动配置模块选择。硬件接口配置信息在平台中的存储形式可以是文本文件也可以是数据库;
硬件接口适配组件可单独使用也可被抽象设备驱动组件调用,用于对硬件接口配置信息进行解析,并生成以硬件接口名称为键,硬件接口驱动对象为值的键值对形式的硬件接口对象。硬件接口对象具有数据发送与数据接收方法,实现了数据在特定类型硬件物理层的传输。硬件接口适配组件根据硬件接口配置信息中的硬件接口类型在平台硬件接口驱动库中索引到对应的硬件接口驱动,并通过硬件接口配置信息中的初始化信息完成初始化,生成硬件接口对象。当平台硬件接口驱动库中无此类型硬件接口驱动时,用例开发人员需要以编码的方式进行扩展。所有类型的硬件接口驱动均派生自抽象硬件接口驱动。抽象硬件接口驱动作为所有不同类型硬件接口驱动的父类,具有初始化、打开、关闭、发送数据和接收数据方法。各种不同类型硬件接口驱动作为抽象硬件接口驱动派生子类,使用各自的底层驱动重载上述接口,实现了驱动的兼容性和一致性,使得平台能够识别、使用和扩展硬件接口驱动。
被测件驱动配置模块据实际被测产品的通信协议以及被测件与测试系统连接的硬件接口,从已经生成的通信协议配置信息和硬件接口配置信息中选择与之匹配的通信协议配置信息和硬件接口配置信息,并将两者组合形成被测件配置信息,如被测件存在多个硬件接口,则需在被测件驱动配置信息中添加多个硬件接口配置信息。被测件配置信息不记录具体配置数据,而是通过引用的方式连接到对应的通信协议配置信息和硬件接口配置信息,引用的方式可以是文件名也可以是数据库索引,通过引用的方式可灵活的组合通信协议与硬件接口,适配不同的被测件。被测件配置信息在平台中的存储形式可以是文本文件也可以是数据库;被测件驱动配置模块整合了通信协议对象与硬件接口对象的生成过程,并提供更便于用例开发使用的抽象设备驱动,从而无需单独生成通信协议对象与硬件接口对象。被测件驱动配置模块生成被测件配置信息后,平台将自动调用抽象设备驱动组件调用通信协议管理组件与硬件接口适配组件,对当前生成的被测件配置信息进行解析,并生成源码形式的抽象设备驱动。抽象设备驱动将通信协议对象与硬件接口对象以字典的数据类型作为两个属性进行保存。用例开发人员通过通信协议对象属性字典,能以控制命令名称索引到对应的控制指令序列化对象,通过硬件接口对象属性字典,能以硬件接口名称索引到对应的硬件接口对象。用例开发人员基于平台自动生成的抽象设备驱动源码,按照测试需求,以编码的方式,通过特定硬件接口收发特定控制命令的方式,派生出基于测试业务应用调用接口的被测件驱动:用例开发人员通过按控制命令名称、硬件接口名称索引到对应的控制指令序列化对象与硬件接口对象,并通过硬件接口对象的发送方法,实现对控制指令序列化对象序列化方法产生数据的发送功能以及通过硬件接口对象的接收方法将收到的数据交控制指令序列化对象使用其反序列化方法进行解析实现数据接收功能的方式实现被测件驱动的开发。
仪表配置模块通过图形化界面录入包含仪表名称、仪表类型、连接字符串的仪表配置信息。仪表配置信息按仪表进行划分,每条配置信息以一维数据结构表示,对应了一台仪表,多条配置信息代表多个仪表。仪表配置模块允许配置多个仪表配置信息存储在平台中;可互换仪表驱动组件对配置信息进行解析获取到仪表类型与连接字符串,并调用VISA(虚拟仪器软件结构)库,将连接字符串作为参数传入VISA库的初始化方法,该方法将返回仪表的控制句柄。互换仪表驱动组件通过控制句柄能调用VISA库的标准查询指令,进而获取到仪表的ID信息。仪表的ID信息包含了仪表的型号、厂家等信息。可互换仪表驱动组件通过仪表ID信息结合通过可互换仪表驱动组件解析获取到的仪表类型信息,可以在已有的仪表驱动库中检索出对应的具体型号仪表的驱动,并通过调用具体型号仪表的驱动的构造函数,生成对应的仪表对象。可互换仪表驱动组件最终将生成仪表配置信息中包含的全部仪表对象,并以仪表名称为键,仪表对象为值的键值对形式进行保存。如仪表驱动库中不包含此型号仪表驱动,则需要用例开发人员通过编码方式对仪表驱动库进行扩充。为实现仪表驱动的兼容性与可互换性,仪表驱动开发需要遵循IVI标准,即同类型的不同型号仪表驱动的调用接口必须完全一致。根据IVI标准,可互换仪表驱动组件一共定义了8类标准仪表,包括:电源、示波器、频谱仪、信号源、功率计、数字万用表、开关、函数发生器。在可互换仪表驱动组件中,同类仪表均派生自同一父类。父类不仅定义了基于方法级的调用接口,还通过抽象方法的形式实现了不同型号仪表驱动调用接口必须完全一致的约束。各种不同型号仪表驱动作为其派生子类,使用各自的底层驱动重载上述接口,实现了仪表驱动的兼容性和一致性,使得平台能够识别、使用和扩展仪表驱动。
输入参数配置模块通过图形化界面,以二维表数据结构形式,逐条录入需要遍历的输入参数。每条配置信息代表了一种输入参数所有数据元素遍历组合的情况的集合。由于遍历参数主要是改变被测件的工作状态,而被测件的工作状态又是由通信协议(即控制命令)进行控制的,因此为了能被控制指令序列化对象/通信协议对象/抽象设备驱动直接调用,遍历参数录入的格式与信息与通信协议配置参数保持一致(即录入的遍历参数以控制命令为单位划分为不同的集合,集合的名称即为控制命令名称。每个集合中的需要遍历的数据元素名称与控制命令中的数据元素名称相同)。每个数据元素的遍历取值通过自定义的语法予以表示。主要的遍历方式包括:循环方式、枚举方式、随机方式以及用于实现多方式的交际、并集、合集操作的操作符。输入参数解析组件可单独使用也可被测试参数解析组件调用,用于解析输入参数配置信息,并生成输入参数列表。输入参数解析组件能够按照自定义语法规则对输入配置参数信息中的每条配置信息进行解析,并将每条配置信息生成为对应的包含了全部配置信息中每个集合中的全部元素的不同组合情况的遍历输入参数列表。由于遍历输入参数列表包含了全部配置信息中每个集合中的全部元素的不同组合情况,因此测试用例可通过循环函数,逐一调用集合中的每种输入参数组合情况实现遍历测试。全部遍历输入参数列表组成输入参数列表,并以列表为数据结构进行存储。
测试门限配置模块以图形化界面,以一维数组数据结构形式逐条录入门限配置信息。每条配置信息对应了一种测试指标门限,配置多条信息代表存在多种判决门限。每条配置信息的主要内容包括:门限名称、门限类型、门限模式、门限取值、门限单位。测试结果管理组件可单独使用也可被测试参数解析组件调用,用于解析门限配置信息,并生成测试结果对象。测试门限配置模块生成门限配置信息后,用例开发人员通过调用测试结果管理组件能对门限配置信息中的每条配置信息进行解析,并将每条配置信息生成为对应的测试结果对象。测试结果对象以属性的形式存储了门限名称、门限类型、门限模式、门限取值、门限单位信息,并通过上述信息能够实现门限类型的识别以及门限判定。测试结果对象通过将测试系统采集到的测试数据作为输入参数传入测试结果对象的赋值方法的同时触发门限判定操作,并通过调用以属性保存的门限类型、门限模式、门限取值等信息,对传入的测试数据进行逻辑判定,并获得代表是否合格的测试结论的返回值。此外还支持在此判决过程中增加对测试数据、测试结果的记录操作。测试结果管理组件最终将生成门限配置信息中包含的全部测试结果对象,并以门限名称为键,以测试结果对象为值的键值对进行存储。
测试参数配置模块通过图形化界面,选择在输入参数配置模块生成的输入参数配置信息,并根据输入参数与门限的对应关系,选择与之匹配的从测试门限配置模块生成的门限配置信息,逐行进行配置,最终生成测试参数配置信息。测试参数配置模块整合了测试结果对象与输入参数列表的生成过程,并提供更便于用例开发使用的测试参数列表,从而无需单独生成测试结果对象与输入参数列表,也无需在测试用例中组织两者的匹配关系,进一步减少开发工作量、提升开发效率。测试参数配置模块生成测试参数配置信息后,测试参数解析组件调用测试结果管理组件与输入参数解析组件对测试参数配置信息进行解析,并生成包含测试结果对、遍历输入参数列表以及其两者匹配关系的以列表数据结构进行存储的测试参数列表。
方法库通过编码的方式调用可互换仪表驱动获得仪表对象,并结合已经生成的被测件驱动,同时将测试参数作为输入参数的方式开发测试用例,实现了针对某一测试项目与测试参数无关且具有可复用性的测试用例代码,即测试方法。用例开发人员针对不同测试项目开发出对应的测试方法,测试方法的集合形成方法库。方法库以文件目录结构存储测试方法,支持自定义目录结构用于管理测试方法。
测试用例开发人员以编码的方式调用方法库中的测试方法,并通过调用测试参数解析组件对测试参数配置信息进行解析,获取到测试参数列表,并使用循环调用的方式,依次将测试参数作为输入参数传递给测试方法实现遍历测试。用例开发人员通过配置不同的测试参数实现同一测试方法对应不同测试参数配置信息,生成不同测试用例的目标。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种自动测试软件平台,包括:基于自动测试开发流程设计的,以向导化方式配置实现各个开发环节相对应的通信协议配置模块、硬件接口配置模块、仪表配置模块、测试门限配置模块和输入参数配置模块、形成支持相互调用工具链的后台软件框架以及可复用的方法库,其特征在于:通信协议配置模块和硬件接口配置模块分别通过各自的图形化界面,完成能被测件驱动配置模块调用的通信协议配置信息和硬件接口配置信息的生成,并存储在平台中;被测件驱动配置模块通过图形化界面,从上述已经生成的通信协议配置信息和硬件接口配置信息中,选择需要的通信协议配置信息与硬件接口配置信息,组成与真实被测件的通信协议和硬件接口相符的被测件配置信息,并存储在平台中;后台软件框架中的抽象设备驱动组件调用通信协议管理组件与硬件接口适配组件,对被测件配置信息进行解析,生成包含通信协议对象和硬件接口对象的抽象设备驱动程序,以用于被测件驱动开发;仪表配置模块通过图形化界面完成各种仪表信息的录入,生成能后台被软件框架中的可互换仪表驱动组件调用的仪表配置信息,并存储在平台中;可互换仪表驱动组件对仪表配置信息进行解析,生成配置信息中包含的全部仪表对象,以用于开发库开发;测试门限配置模块和测试参数配置模块分别通过各自的图形化界面生成能被测试参数配置模块调用的,用于表示被测件判决门限的门限配置信息和表示需要进行遍历的数据元素的输入参数配置信息,并存储在平台中;测试参数配置模块通过图形化界面,选择在输入参数配置模块生成的输入参数配置信息,并根据输入参数与门限的对应关系,选择与之匹配的从测试门限配置模块生成的测试结果对象,逐行进行配置,最终生成测试参数配置信息,并存储在平台中;测试参数解析组件通过调用测试结果管理组件与输入参数解析组件,实现对测试参数配置信息的解析,并生成包含遍历输入参数列表与测试结果对象的测试参数列表,送入方法库,供后续用测试例开发;用例开发人员基于生成的抽象设备驱动,以编码的方式,通过调用抽象设备驱动中的通信协议对象和硬件接口对象实现基于应用级的被测件驱动;方法库通过编码的方式调用可互换仪表驱动获得仪表对象,并通过调用仪表对象与生成的被测件驱动,然后将测试参数作为测试用例输入参数的方式,实现了可复用的测试方法,测试方法的集合形成方法库。
2.如权利要求1所述的自动测试软件平台,其特征在于:通信协议配置模块通过图形化界面录入通信协议,通信协议中的每条控制命令以二维表数据结构表示,控制命令的集合形成通信协议;通信协议管理组件可单独使用也可被抽象设备驱动组件调用,用于对通信协议配置信息中包含的控制命令帧格式进行解析,并生成由控制指令序列化对象集合组成的通信协议对象;通信协议对象能索引到对应的控制指令序列化对象,控制指令序列化对象对外提供序列化与反序列化方法,以供用例开发人员通过调用序列化与反序列化方法实现测试用例中的变量与二进制流的相互转换。
3.如权利要求1所述的自动测试软件平台,其特征在于:硬件接口配置模块通过图形化界面录入包含接口类型以及初始化信息的,每个接口信息以一维数组表示的硬件接口配置信息;硬件接口适配组件可单独使用或被抽象设备驱动组件调用用于对硬件接口配置信息进行解析,并生成具有数据发送与数据接收功能的硬件接口对象,以实现数据在特定类型硬件物理层的传输。
4.如权利要求1所述的自动测试软件平台,其特征在于:被测件驱动配置模块据实际被测产品的通信协议以及被测件与测试系统连接的硬件接口,从已经生成的通信协议配置信息和硬件接口配置信息中选择与之匹配的通信协议配置信息和硬件接口配置信息,整合通信协议对象与硬件接口对象的生成过程,生成被测件配置信息后,平台将自动调用抽象设备驱动组件对当前生成的被测件配置信息进行解析,并生成抽象设备驱动;以供用例开发人员通过调用抽象设备驱动,以编码的方式,开发出被测件驱动。
5.如权利要求1所述的自动测试软件平台,其特征在于:仪表配置模块通过图形化界面录入仪表配置信息;仪表配置信息按仪表进行划分,每条配置信息对应了一台仪表,多条配置信息代表多个仪表;可互换仪表驱动组件对仪表配置信息进行解析并生成仪表配置信息中包含的全部仪表对象。
6.如权利要求1所述的自动测试软件平台,其特征在于:测试门限配置模块以图形化界面,以一维数组数据结构形式逐条录入门限配置信息,每条门限配置信息对应了一种测试指标门限或多条信息代表存在多种判决门限;测试结果管理组件可单独使用或可被测试参数解析组件调用用于解析门限配置信息,并生成测试结果对象;测试结果对象通过将测试系统采集到的测试数据作为输入参数,传入测试结果对象的赋值方法,即可获得代表是否合格的测试结论的返回值。
7.如权利要求1所述的自动测试软件平台,其特征在于:输入参数配置模块通过图形化界面,逐条录入需要遍历的输入参数;每条配置信息代表了一种输入参数所有数据元素遍历组合的情况的集合;输入参数解析组件可单独使用也可被测试参数解析组件调用,用于解析输入参数配置信息,并生成输入参数列表。
8.如权利要求1所述的自动测试软件平台,其特征在于:测试参数配置模块通过图形化界面,选择在输入参数配置模块生成的输入参数配置信息,并根据输入参数与门限的对应关系,从测试门限配置模块生成的门限配置信息,选择与之匹配的门限配置信息,逐行进行配置,最终生成测试参数配置信息;测试参数解析组件对测试参数配置信息进行解析,并生成包含测试结果、遍历输入参数列表以及两者匹配关系的以列表数据结构进行存储的测试参数列表。
9.如权利要求1所述的自动测试软件平台,其特征在于:测试用例开发人员基于生成的抽象设备驱动,以编码的方式,通过调用抽象设备驱动中的通信协议对象和硬件接口对象实现基于应用级的被测件驱动;用例开发人员通过编码的方式调用可互换仪表驱动获得仪表对象,并结合已经生成的被测件驱动,同时将测试参数作为输入参数的方式开发测试用例,形成各种与测试参数无关的,且可复用的测试方法的集合组成的方法库。
10.如权利要求1所述的自动测试软件平台,其特征在于:测试用例开发人员以编码的方式调用方法库中的测试方法,并通过调用测试参数解析组件对测试参数配置信息进行解析,获取到测试参数列表,并使用循环调用的方式,依次将测试参数作为输入参数传递给测试方法实现遍历测试;测试用例开发人员通过配置不同测试参数,实现同一测试方法对应不同测试参数配置信息,生成不同测试用例的目标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110730569.3A CN113505061B (zh) | 2021-06-30 | 2021-06-30 | 自动测试软件平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110730569.3A CN113505061B (zh) | 2021-06-30 | 2021-06-30 | 自动测试软件平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505061A CN113505061A (zh) | 2021-10-15 |
CN113505061B true CN113505061B (zh) | 2023-03-21 |
Family
ID=78010899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110730569.3A Active CN113505061B (zh) | 2021-06-30 | 2021-06-30 | 自动测试软件平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505061B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706376B (zh) * | 2022-06-06 | 2022-08-26 | 南京宏泰半导体科技有限公司 | 一种基于软件解耦的硬件控制装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407971A (zh) * | 2014-11-18 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 自动化测试嵌入式软件的方法 |
CN107807878A (zh) * | 2016-09-09 | 2018-03-16 | 北京航空航天大学 | 基于关键字的自动化测试引擎 |
-
2021
- 2021-06-30 CN CN202110730569.3A patent/CN113505061B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407971A (zh) * | 2014-11-18 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 自动化测试嵌入式软件的方法 |
CN107807878A (zh) * | 2016-09-09 | 2018-03-16 | 北京航空航天大学 | 基于关键字的自动化测试引擎 |
Non-Patent Citations (1)
Title |
---|
基于LoadRunner自动化应用程序接口的舰船装备软件测试系统设计与实现;韩新宇等;《计算机测量与控制》;20160925(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113505061A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807878B (zh) | 基于关键字的通用测试资源驱动与执行管理方法 | |
US5045994A (en) | Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems | |
US6507842B1 (en) | System and method for importing and exporting test executive values from or to a database | |
CN111782539B (zh) | 一种基于国产操作系统的测试诊断一体化开发平台 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN103955371B (zh) | 对串口仪表进行数据采集的通用软件模块的设计开发方法 | |
CN113706110B (zh) | 一种fpga测试工具一体化测试管理平台 | |
CN110928783A (zh) | 基于RobotFramework自动化测试数据化改造的平台 | |
US20110137820A1 (en) | Graphical model-based debugging for business processes | |
US20030069876A1 (en) | System and method for configuring database result logging for a test executive sequence | |
CN104484267A (zh) | 一种测试系统及方法 | |
Filipovikj et al. | Integrating pattern-based formal requirements specification in an industrial tool-chain | |
Müller et al. | Towards an open source stack to create a unified data source for software analysis and visualization | |
CN113505061B (zh) | 自动测试软件平台 | |
CN116680885A (zh) | 一种基于SysML和Tango的复杂装置控制软件建模与验证方法 | |
Vicente-Chicote et al. | Applying MDE to the development of flexible and reusable wireless sensor networks | |
McInnes et al. | Formalizing functional flow block diagrams using process algebra and metamodels | |
Rahman et al. | A DSL for importing models in a requirements management system | |
CN115391174A (zh) | 一种自动化软件测试平台 | |
Kirchhof et al. | Web-Based Tracing for Model-Driven Applications | |
Issa | Utilising Refactoring To Restructure Use-Case Models. | |
Düdder | Automatic synthesis of component & connector software architectures with bounded combinatory logic | |
Liu et al. | Quality metrics of object oriented design for software development and re-development | |
CN117806980B (zh) | 一种基于大语言模型的测试用例自动生成装置 | |
CN117234480B (zh) | 基于本体的多编程语言组件规范和工作流系统及使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |