CN108521350A - 一种基于xml驱动脚本的工业网关设备自动化测试方法 - Google Patents
一种基于xml驱动脚本的工业网关设备自动化测试方法 Download PDFInfo
- Publication number
- CN108521350A CN108521350A CN201810216852.2A CN201810216852A CN108521350A CN 108521350 A CN108521350 A CN 108521350A CN 201810216852 A CN201810216852 A CN 201810216852A CN 108521350 A CN108521350 A CN 108521350A
- Authority
- CN
- China
- Prior art keywords
- test
- xml
- scripts
- equipment
- register
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于XML测试脚本驱动的工业网关设备自动化测试方法,所属领域为测试技术领域。针对工业测试系统测试系统的复用性低、扩展性差、整体测试流程冗杂,提出一种基于XML测试脚本驱动的高扩展性自动化测试方法。本发明将复杂的测试流程抽象封装为一系列测试动作,并按照XML描述格式对整个测试动作进行分层描述,测试步骤通过解析输入的XML测试脚本来驱动测试整个测试流程中各个测试步骤的进行。本发明将多个测试设备进行统一建模分组,利用XML描述测试设备输出的多个测试设备的复杂组合数据类型。将测试流程与测试程序相互分离,增加测试系统扩展性、灵活性和可维护性。
Description
技术领域
本发明属于测试技术领域,涉及一种基于XML驱动脚本的工业网关自动化测试方法。
背景技术
自动化测试(AutomatedTest)是运用软件系统将特定仪器设备或运行平台衔接起来,集成一个测试系统平台,根据预先设定的测试流程和目标对测试对象进行检测并返回检测结果以供参考。由于其涉及到待测设备、测量仪器、测试软件平台、测试数据等诸多方面,是一项复杂的系统集成工程。系统测试作为验证设计的产品是否能达到预期性能一项重要技术手段,现已被广泛应用于各种领域:诸如通信设备、航空航天领域、集成电路、精密仪器等设计制造。自动化测试作为提高系统测试水平及效率的一种方法,其应用领域随着其技术的不断完善和成熟仍在不断扩大。
在整个的工业网关测试阶段,测试工程师都需要定时或者不定时的对网关设备系统执行相关的数据收集及事件触发命令,借此观察及判断工业网关设备是否符合的要求。测试过程中通常采用基于XML的测试例对测试项和测试步骤进行描述。
目前工业中的网关设备自动化测试系统的测试要素都有所不同,不同测试对象也可能有许多测试要素存在差异。所以存在以下问题:
(1)测试系统的复用性、数据共享等低下;
(2)每个XML测试脚本仅仅只是对某一测试项的过程进行描述,而与测试流程无关, XML使用范围小;
(3)需要结合辅助测试设备的测试系统对于硬件的耦合性性高;
(4)增加或者减少测试内容是测试流程和测试脚本会改动很大。
本发明针对以上问题提出了一种基于XML脚本驱动的网关设备测试方法,有如下特点:
(1)将整个测试系统的测试流程利用XML语言进行层次化设计,利用XML脚本作为系统的输入并且驱动测试流程的进行,提高了整个系统的灵活性和可扩展性;
(2)对于需要结合硬件工业现场设备进行测试的系统,提出一种硬件测试设备的XML 描述方法,将硬件和软件分别进行模型化描述,进一步模块化了测试模型,增加测试系统的灵活性和通用性。
运用XML描述测试数据和测试流程,并驱动测试系统自动完成各项测试,提高自动化测试系统的灵活性,得以灵活应对各种测试数据、测试方法、测试执行过程及测试期待结果的变更,而不需要修改程序代码的处理逻辑。
发明内容
本发明提供了一种基于XML测试脚本驱动的高扩展性自动化测试方法,通过将测试流程与测试执行逻辑相互分离,构建一个由XML测试脚本作为系统输入本发明的XML文件描述了所有的驱动关键字、测试数据、期待测试结果以及测试错误时输出的错误信息,并依次通过脚本管理容器、测试执行单元、测试输出单元的自动化测试系统,以完成对测试脚本的读入解析、执行测试、输入测试结果等操作。
本发明中的测试系统主要任务是解析、验证XML文件,并将XML文件各对象保存到测试脚本管理容器中。XML测试脚本是独立于系统的,它是分析测试需求后,用XML格式描述测试用例、测试数据以及期待测试结果的文件。完成对XML的测试配置脚本后,通过解析测试测试设备配置脚本对应的测试设备的所有寄存器,配置脚本存储预期结果的值。
本发明以输入的XML文档驱动测试程序,从测试脚本管理容器中依次得到测试数据对象,然后自动执行测试指令,获取多组测试设备寄存器的值,并比较测试结果与预期测试结果是否一致。
对于结合硬件测试设备的测试系统,对现测试设备所有寄存器的信息用可扩展的标记语言XML描述,进行统一建模将测试设备所有寄存器都按功能分组,每组都有不同类型和数目的工业测试设备寄存器,建模依据寄存器的类型,uint型,float型和bool型,适用用于测试读取多个不同寄存器时描述复杂的组合数据类型。
本发明将复杂的测试流程抽象封装为一系列测试动作,并按照XML对测试动作进行描述。将测试命令、期望测试结果等测试数据与测试执行方法逻辑相互分离,以达到只需要修改或者增加XML测试脚本就能实现测试系统的测试数据、测试流程、测试结果的修改。测试执行单元是利用XML中定义的关键字,根据关键字选择相应的测试执行逻辑。根据测试要求的不同,可以随意增减XML描述脚本来增减测试活动,本发明采用测试流程模块化设计,不仅仅是测试代码与测试逻辑的分离,而且将测试流程与测试内容相互分离,进一步降低系统耦合性,提升了测试系统扩展性和灵活性。
将基于XML描述测试流程测试脚本的总体描述分成了四层结构。
进一步,Device_Test是根部结点,表示这XML文档是一个测试设备所专用的测试脚本。 Device_Test结点中可以包含多个测试项目,但是为了清楚划分各个测试项目,每个测试项目都有一个独立的XML文件,所以一般只包含一个Test结点。
进一步,Test结点是Device_Test的子结点,可以包含一个或多个Test结点,例如可以分为功能测试的Test结点和性能测试的Test结点。但是通常情况下,每个测试项目都有独立的XML 文件,所以其中只有一个Test结点。其子结点是Configuration结点和Test_Action结点。当自动化测试系统启动时读入XML脚本,可以根据这个属性显示出这次的测试项目是测试项目名称。
进一步,Configuration结点主要是系统配置定义,其子结点有许多,大致可以分为两类:一类是系统运行时所需要的配置参数,例如数据库相关的用户名、密码、数据库名、链接驱动关键字、系统界面输入合法性判断的正则表达式等等。另一类是测试脚本中的一些通用全局参数的定义,这类结点作为命令表达式或是期待测试结果值的参数。
进一步,Test_Action结点对应一个测试子项目,统称其为测试活动,其父结点Test中可以包含多个测试活动。一个测试活动是为了实现某一特定测试目的,由一组测试命令组成,命令的具体信息全部定义在子结点CLIList中。属性title不同于Test结点的title属性,而是定义这个测试活动的名称,测试命令层测试命令层是用于定义描述执行一个命令的所有信息,是三层结构中最为复杂的一层。此层中包括:测试命令字符,测试期待结果,测试输出信息。
附图说明
图1是本发明提供的测试系统测试流程结构图。
图2是本发明提供的测试命令的XML属性描述图。
图3是本发明提供的设备的XML描述格式图。
具体实施方式
以下将结合附图1,对本发明的优选实施例进行详细的描述,下面将结合附图对本发明作进一步的详细描述:
测试命令层是用于定义描述执行一个命令的所有信息,测试命令层的XML总体描述为测试命令字符(CLI),测试期待结果,测试输出信息。
进一步:CLI结点是测试命令的实体结点,其中由测试命令,测试期待结果,测试输出消息三部分构成,属性looptimes是定义声明测试循环次数。
进一步:Message Box结点在某些情况下有时需要交互操作,需要测试人员手动按下/放开按钮操作。通过Message Box结点的定义,可以在执行命令前或执行后弹出一个消息框,提示测试人员,做某操作后再执行下一步测试。当显示消息框时,系统将停止执行任何测试命令,一直等待消息框被确认后再执行下一条命令。属性image用于定义对话框中的显示的图片文件的路径。属性audio是定义对话框显示时播放的音频文件路径。
进一步:Command结点是解析命令脚本的测试命令,系统通过发送命令报文到对应的工业测试设备并读取到相应寄存器的值。根据测试命令脚本可以分别读出一个、多个不同工业测试设备寄存器的值。
进一步:Expect Result结点是用于定义描述期待测试结果,也就是存储测试e设备中所有寄存器配置的值,一个CLI结点中可有多个Expect Result结点,也可以只有一个。通过解析XML 发送执行命令后,取得的返回值依次与Expect Result结点的值进行比较,如果全部比较相符,即表示该CLI命令测试通过,反之则表示该CLI命令测试失败,可能导致整个测试失败,如果定义为循环执行,则将进入下一次执行中。
key是用于定义比较关键字字符,属性value的期待值,属性reftype是限制属性value值的来源。
测试动作封装的步骤为:
步骤1:测试读取一个寄存器期待值的定义,当执行某命令后,返回值只是个单一寄存器值,不是多行也不需要关键字时,Expect Result结点的定义语法如下,只需要定义type属性和value属性。Type的属性包括uint、float和bool类型。。
步骤2:测试读取多种寄存器定义,当执行命令后返回值是多行并且由关键字区分开, Expect Result结点的定义语法如下,需要添加key属性以标明这个期待结果是哪个关键字对应的返回值的期待结果。
步骤3:测试期待值参照定义,Configuration的定义方法当测试期待结果的值是需要参照 Configuration结点中的全局参数时,Expect Result结点的定义语法如下。需要添加reftype属性,用来说明value属性值是一个取值关键字。
步骤4:测试结果判断逻辑,当执行完CLI命令后,即可取得CLI命令的返回值,而判断其返回值是否符合测试期待值,由测试结果判断逻辑来完成的。Expect Result结点的内容也是和CLI一样由脚本容器管理的。Expect Result结点中主要包含有测试结果比较表达式及测试结果值,测试执行单元完成执行后,依次调用这些表达式和期待值,进行字符匹配判断操作。对于一条CLI命令来说,只有当其中定义的全部判断条件都满足时才能判断其为测试通过,即 CLI中Expect Result结点都能比较匹配成功。
根据XML脚本描述的测试步骤为:
步骤1:解析XML中属性key定义的比较关键字字符,若返回值只有一个工业测试设备寄存器值,只要一个Expect Result结点定义期待值并进行比较即可,若返回值将多个不同寄存器值分成多行表示,对于这种情况,根据关键字字符来区别返回值。
步骤2:解析XML中属性value的期待值,若没有定义属性key的情况下,直接用命令的返回值和属性value的值进行比较,判断是否一致;若有属性key的情况下,需要先取得key对应的一行,去除key字符串后剩余的字符串和属性value的值进行比较。
步骤3:解析属性reftype是限制属性value值的来源,若属性reftype的值为Config,用属性 value的值作为关键字,从Configuration结点的子结点中寻找相应的结点,将其值替换原有属性value的值,再进行比较。
步骤4:当Expect Result结点定义值与实际执行结果不一致时,系统将结点中的出错信息输出到界面及日志文件中。这样可以细化出错信息,使得每个命令的每一次期待值比较都可以输出信息,帮助测试人员快速定位出错点,以便及时调查和解决问题。
Claims (5)
1.一种基于XML测试脚本驱动的工业网关设备自动化测试方法,其特征在于:测试流程抽象封装为一系列测试动作,并按照XML对测试动作进行描述将整个测试系统的测试流程利用XML语言进行层次化分类,利用对应XML脚本来驱动测试流程的进行。测试设备所有寄存器的信息通过XML描述,将测试设备所有寄存器都按功能分组,每组都有不同类型和数目的测试设备寄存器从测试脚本管理容器中依次得到测试数据对象,然后执行基于XML描述的测试指令,获取多组测试设备寄存器的值,并比较测试结果与配置脚本中的预期测试结果是否一致。
2.根据权利要求1所述的一种基于XML测试脚本驱动的工业网关设备自动化测试方法,其特征在于:利用XML脚本将整个测试流程进行建模,利用XML脚本驱动流程进行,XML模型由五部分进行描述:唯一独立测试编号ID_Test,测试内容Test,测试配置项Configuration,测试动作Test_Action;CLI为测试命令,Expect Result为预期值。
3.根据权利要求1所述的一种基于XML测试脚本驱动的工业网关设备自动化测试方法,其特征在于:对不同测试设备所有寄存器的信息用XML描述,进行统一建模,将测试设备所有寄存器都按功能分组,每组都有不同类型和数目的测试设备寄存器,建模依据寄存器的类型,uint型,float型和bool型,测试读取多个不同寄存器时描述复杂的组合数据类型。
4.根据根据权利要求1所述的一种基于XML测试脚本驱动的工业网关设备自动化测试方法,其特征在于:XML测试脚本中定义的关键字分为key是用于定义比较关键字字符;属性value是读取的数值;属性reftype是限制属性value值的来源;type是读取数据的类型,有三种类型uint,float和bool;属性looptimes是定义声明测试循环次数。
5.根据权利要求1所述的一种基于XML测试脚本驱动的工业网关设备自动化测试方法,其特征在于:对设备描述进行统一描述模型:分别为测试设备型号,标志位,输入输出,设备端口,设备IP,协议配置。对寄存器描述进行统一建模:寄存器名称,类型,数值,描述。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810216852.2A CN108521350A (zh) | 2018-03-16 | 2018-03-16 | 一种基于xml驱动脚本的工业网关设备自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810216852.2A CN108521350A (zh) | 2018-03-16 | 2018-03-16 | 一种基于xml驱动脚本的工业网关设备自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108521350A true CN108521350A (zh) | 2018-09-11 |
Family
ID=63433238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810216852.2A Pending CN108521350A (zh) | 2018-03-16 | 2018-03-16 | 一种基于xml驱动脚本的工业网关设备自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108521350A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491919A (zh) * | 2018-11-28 | 2019-03-19 | 中电科西北集团有限公司 | 一种软件测试方法及测试平台 |
CN110177030A (zh) * | 2019-06-05 | 2019-08-27 | 国家工业信息安全发展研究中心 | 工业网关控制测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514070A (zh) * | 2013-10-11 | 2014-01-15 | 上海富欣智能交通控制有限公司 | 结合xml描述进行硬件自动化测试方法 |
CN103678107A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 数据处理方法及系统 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105701014A (zh) * | 2016-01-11 | 2016-06-22 | 上海富欣智能交通控制有限公司 | 铁路信号计算机联锁系统的自动化测试方法 |
-
2018
- 2018-03-16 CN CN201810216852.2A patent/CN108521350A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678107A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 数据处理方法及系统 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN103514070A (zh) * | 2013-10-11 | 2014-01-15 | 上海富欣智能交通控制有限公司 | 结合xml描述进行硬件自动化测试方法 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105701014A (zh) * | 2016-01-11 | 2016-06-22 | 上海富欣智能交通控制有限公司 | 铁路信号计算机联锁系统的自动化测试方法 |
Non-Patent Citations (1)
Title |
---|
潘晓隽: "基于XML的自动化测试系统技术研究及实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491919A (zh) * | 2018-11-28 | 2019-03-19 | 中电科西北集团有限公司 | 一种软件测试方法及测试平台 |
CN109491919B (zh) * | 2018-11-28 | 2021-10-26 | 中电科西北集团有限公司 | 一种软件测试方法及测试平台 |
CN110177030A (zh) * | 2019-06-05 | 2019-08-27 | 国家工业信息安全发展研究中心 | 工业网关控制测试方法 |
CN110177030B (zh) * | 2019-06-05 | 2021-05-04 | 国家工业信息安全发展研究中心 | 工业网关控制测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cabasino et al. | Model Identification and Synthesis of Discrete‐Event Systems | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
US11443168B2 (en) | Log analysis system employing long short-term memory recurrent neural net works | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN109936479A (zh) | 基于差分检测的控制平面故障诊断系统及其实现方法 | |
CN108459951A (zh) | 测试方法和装置 | |
US9582406B1 (en) | Method and system for automatically generating executable system-level tests | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
CN116680885A (zh) | 一种基于SysML和Tango的复杂装置控制软件建模与验证方法 | |
CN108521350A (zh) | 一种基于xml驱动脚本的工业网关设备自动化测试方法 | |
CN114328278A (zh) | 分布式仿真测试方法、系统、可读存储介质及计算机设备 | |
CN110286882B (zh) | 一种基于模型检测的前台系统设计与验证方法 | |
Nardi et al. | A survey on test oracles | |
D’Ambrogio et al. | A method for the prediction of software reliability | |
Scherr et al. | Establishing Continuous App Improvement by Considering Heterogenous Data Sources. | |
Konur | Towards Light‐Weight Probabilistic Model Checking | |
Boucher et al. | Transforming workflow models into automated end-to-end acceptance test cases | |
CN110928761A (zh) | 需求链及其应用的系统和方法 | |
CN114297074A (zh) | 一种基于动态配置实现功能、接口、性能自动测试方法 | |
Lindsay et al. | Automation of test case generation from behavior tree requirements models | |
CN114647568A (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
Biondi et al. | Papyrus-based safety analysis automatization | |
Noroozi | Improving input-output conformance testing theories | |
JP2011154568A (ja) | 情報処理装置、プログラム検証方法およびプログラム |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180911 |
|
WD01 | Invention patent application deemed withdrawn after publication |