CN106502882B - 适用于城轨软件自动化测试的测试脚本设计方法 - Google Patents

适用于城轨软件自动化测试的测试脚本设计方法 Download PDF

Info

Publication number
CN106502882B
CN106502882B CN201610847971.9A CN201610847971A CN106502882B CN 106502882 B CN106502882 B CN 106502882B CN 201610847971 A CN201610847971 A CN 201610847971A CN 106502882 B CN106502882 B CN 106502882B
Authority
CN
China
Prior art keywords
test
script
data
message
emulator
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
Application number
CN201610847971.9A
Other languages
English (en)
Other versions
CN106502882A (zh
Inventor
欧阳敏
熊坤鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casco Signal Ltd
Original Assignee
Casco Signal Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casco Signal Ltd filed Critical Casco Signal Ltd
Priority to CN201610847971.9A priority Critical patent/CN106502882B/zh
Publication of CN106502882A publication Critical patent/CN106502882A/zh
Application granted granted Critical
Publication of CN106502882B publication Critical patent/CN106502882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

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

适用于城轨软件自动化测试的测试脚本设计方法
技术领域
本发明涉及一种城轨软件测试平台,尤其是涉及一种适用于城轨软件自动化测试的测试脚本设计方法。
背景技术
城轨软件测试平台主要用于城市轨道交通安全产品的软件测试、子系统测试和系统测试,包括iTC(intelligent Train Control)产品测试、ATS(Automatic TrafficSupervision)产品测试、联锁(Computer-based Interlocking system,CI)产品测试、轨旁安全平台(Trackside Safety Platform,TSP)测试、通用模块(General Module,GM)安全协议测试。
现有测试脚本普遍存在描述复杂难懂、实时性差、无法扩展等问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种适用于城轨软件自动化测试的测试脚本设计方法。
本发明的目的可以通过以下技术方案来实现:
一种适用于城轨软件自动化测试的测试脚本设计方法,包括以下步骤:
用于配置各种测试接口的测试环境描述脚本设计;
测试激励数据脚本设计;
测试结果的分析脚本设计;
脚本的时序性和实时性测试。
所述的测试环境描述脚本设计具体为:
步骤S1、描述本地网络信息,关键字段包括编号、IP地址和端口号;
步骤S2、描述远端网络信息,关键字段包括编号、IP地址和端口号;
步骤S3、描述网络通道信息,关键字段包括通道编号、本地网络编号和远端网络编号;
步骤S4、描述本地网络监听信息,关键字段包括编号、对应的本地网络编号和消息回调处理方法;
步骤S5、描述串口通道信息,关键字段包括编号、本段串口号、远端串口号和消息回调处理方法;
步骤S6、描述IO端口信息,关键字段包括编号、IO端口编号和消息回调处理方法;
步骤S7、描述仿真设备信息,关键字段为对应仿真设备具有的功能组件。
所述的步骤S7具体为:
步骤S71、在仿真设备信息描述脚本中,依次添加具有的功能组件,关键字段包括功能组件名称和功能组件对应的配置文件;
步骤S72、若该仿真设备添加了消息组件,则需要在组件配置文件中描述对应的消息格式,关键字段包括消息名称和消息格式描述;
步骤S73、若该仿真设备添加了变量控制组件,则需要在组件配置文件中描述对应的变量,关键字段包括消息名称和变量类型。
所述的测试激励数据脚本设计具体为:
步骤S8、描述仿真设备输出的数据信息,关键字段包括周期号和变量值;仿真设备将网络消息、串口消息和IO状态对被测对象进行激励。
所述的测试结果的分析脚本设计具体为:
步骤S9、描述数据源,关键字段包括数据源的类型和读取方式;
步骤S10、描述数据的格式,关键字段包括名称、数据格式和数据大小;
步骤S11、描述分析规则,采取“@A:B@”去定义,其中2个@是标识符,标明这之间的变量是需要通过诊断数据进行获取;A是数据源,标识数据是从数据源A中获取的;B是该数据源中的对应格式中的字段名;
通过这种描述从测试数据记录中获取该数据的值,进行相关规则的检查和分析。
所述的脚本的时序性和实时性测试具体为:
步骤S12、在测试平台用同源时钟的两块实时嵌入式系统板,标记为A和B;
步骤S13、测试平台初始启动后,A每隔50ms向所有的仿真设备广播UDP时钟同步命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S14、B收到第一个来自A的时钟同步命令后,开始每个100ms向所有的仿真设备广播UDP时钟命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S15、仿真设备收到时钟消息后,进行时钟校验,若校验成功则更新本仿真设备的周期值;若校验不成功,则发送错误消息,停止本次用例的执行;
步骤S16、仿真设备成功更新周期值后,根据当前周期值,执行本周期需执行的脚本内容。
所述的步骤S15中仿真设备使用的时钟校验算法如下:
步骤S151、初始化收到A的时钟命令计数ta=0,初始化收到B的时钟命令计数tb=0;
步骤S152、开启网络消息监听任务,并绑定回调函数fa和fb,分别处理来自A和B的时钟命令;
步骤S153、fa的处理为,校验消息中的源地址,若源地址为A,则设置ta为时间戳的值;
步骤S154、fb的处理为,校验消息中的源地址,若源地址为B,则设置tb为时间戳的值,且判断条件tb=2ta+1or tb=2ta-1,若条件满足则,周期校验成功,若不满足则周期校验失败。
与现有技术相比,本发明具有以下优点:
1、易于实现,采取了领域语言的描述方式,测试人员可以从业务的角度去描述测试环境,测试激励和结果分析;
2、时序性和实时性好,测试脚本可以分布式的在每个仿真设备上运行,且测试平台能保证所有仿真设备的时序性和实时性;
3、结果分析脚本可以采取伪代码的方式编写,易于扩展;
具体实施方式
下面结合具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种测试环境描述脚本,可以配置各种测试接口,包括网络,串口,IO接口,以及仿真设备。测试环境脚本包括:
步骤S1、描述本地网络信息,关键字段为,编号,IP地址,端口号;
步骤S2、描述远端网络信息,关键字段为,编号,IP地址,端口号;
步骤S3、描述网络通道信息,关键字段为,通道编号,本地网络编号,远端网络编号;
步骤S4、描述本地网络监听信息,关键字段为,编号,对应的本地网络编号,消息回调处理方法;
步骤S5、描述串口通道信息,关键字段为,编号,本段串口号,远端串口号,消息回调处理方法;
步骤S6、描述IO端口信息,关键字段为,编号,IO端口编号,消息回调处理方法;
步骤S7、描述仿真设备信息,关键字段为该仿真设备具有的功能组件,及该仿真设备为一些功能组件的集合;
所述的步骤S7具体为:
步骤S71、在仿真设备信息描述脚本中,依次添加具有的功能组件,关键字段为功能组件名称,功能组件对应的配置文件;
步骤S72、若该仿真设备添加了消息组件,则需要在组件配置文件中描述对应的消息格式,关键字段为,消息名称,消息格式描述;
步骤S73、若该仿真设备添加了变量控制组件,则需要在组件配置文件中描述对应的变量,关键字段为,消息名称,变量类型;
测试激励数据脚本包括:
步骤S8、描述仿真设备输出的数据信息,关键字段为周期号,变量值;仿真设备将该信息网络消息,串口消息和IO状态对被测对象进行激励;
测试结果的分析脚本包括:
步骤S9、描述数据源,关键字段为,数据源的类型和读取方式,网络消息或者为本地数据;
步骤S10、描述数据的格式,关键字段为,名称,数据格式,数据大小;
步骤S11、描述分析规则,采取“@A:B@”去定义,其中2个@是标识符,标明这之间的变量是需要通过诊断数据进行获取;A是数据源,标识数据是从数据源A中获取的;B是该数据源中的对应格式中的字段名。通过这种描述可以从测试数据记录中获取该数据的值,进行相关规则的检查和分析;
所述的脚本的时序性和实时性测试具体为:
步骤S12、在测试平台用同源时钟的两块实时嵌入式系统板,标记为A和B;
步骤S13、测试平台初始启动后,A每隔50ms向所有的仿真设备广播UDP时钟同步命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S14、B收到第一个来自A的时钟同步命令后,开始每个100ms向所有的仿真设备广播UDP时钟命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S15、仿真设备收到时钟消息后,进行时钟校验,若校验成功则更新本仿真设备的周期值;若校验不成功,则发送错误消息,停止本次用例的执行;
步骤S16、仿真设备成功更新周期值后,根据当前周期值,执行本周期需执行的脚本内容。
所述的步骤S15中仿真设备使用的时钟校验算法如下:
步骤S151、初始化收到A的时钟命令计数ta=0,初始化收到B的时钟命令计数tb=0;
步骤S152、开启网络消息监听任务,并绑定回调函数fa和fb,分别处理来自A和B的时钟命令;
步骤S153、fa的处理为,校验消息中的源地址,若源地址为A,则设置ta为时间戳的值;
步骤S154、fb的处理为,校验消息中的源地址,若源地址为B,则设置tb为时间戳的值,且判断条件tb=2ta+1or tb=2ta-1,若条件满足则,周期校验成功,若不满足则周期校验失败。
本发明具体实现过程如下:
1、网络配置脚本
2、添加UDP服务组件
<Item Ref='udp'ClassName="UDPServer"confile="./setting/simulator/simulator_networks.xml"OnMethod="startServer"
OffMethod="stopServer"ModuleFile=""/>
3、描述消息格式
3、数据激励脚本
3、结果分析脚本
验证车载定位功能的分析脚本示例如下。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,包括以下步骤:
用于配置各种测试接口的测试环境描述脚本设计;
测试激励数据脚本设计;
测试结果的分析脚本设计;
脚本的时序性和实时性测试;
所述的脚本的时序性和实时性测试具体为:
步骤S12、在测试平台用同源时钟的两块实时嵌入式系统板,标记为A和B;
步骤S13、测试平台初始启动后,A每隔50ms向所有的仿真设备广播UDP时钟同步命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S14、B收到第一个来自A的时钟同步命令后,开始每个100ms向所有的仿真设备广播UDP时钟命令,时钟同步命令中包含了时钟源地址和时间戳,时间戳为从1开始累加的整数;
步骤S15、仿真设备收到时钟消息后,进行时钟校验,若校验成功则更新本仿真设备的周期值;若校验不成功,则发送错误消息,停止本次用例的执行;
步骤S16、仿真设备成功更新周期值后,根据当前周期值,执行本周期需执行的脚本内容。
2.根据权利要求1所述的一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,所述的测试环境描述脚本设计具体为:
步骤S1、描述本地网络信息,关键字段包括编号、IP地址和端口号;
步骤S2、描述远端网络信息,关键字段包括编号、IP地址和端口号;
步骤S3、描述网络通道信息,关键字段包括通道编号、本地网络编号和远端网络编号;
步骤S4、描述本地网络监听信息,关键字段包括编号、对应的本地网络编号和消息回调处理方法;
步骤S5、描述串口通道信息,关键字段包括编号、本段串口号、远端串口号和消息回调处理方法;
步骤S6、描述IO端口信息,关键字段包括编号、IO端口编号和消息回调处理方法;
步骤S7、描述仿真设备信息,关键字段为对应仿真设备具有的功能组件。
3.根据权利要求2所述的一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,所述的步骤S7具体为:
步骤S71、在仿真设备信息描述脚本中,依次添加具有的功能组件,关键字段包括功能组件名称和功能组件对应的配置文件;
步骤S72、若该仿真设备添加了消息组件,则需要在组件配置文件中描述对应的消息格式,关键字段包括消息名称和消息格式描述;
步骤S73、若该仿真设备添加了变量控制组件,则需要在组件配置文件中描述对应的变量,关键字段包括消息名称和变量类型。
4.根据权利要求1所述的一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,所述的测试激励数据脚本设计具体为:
步骤S8、描述仿真设备输出的数据信息,关键字段包括周期号和变量值;仿真设备将网络消息、串口消息和IO状态对被测对象进行激励。
5.根据权利要求1所述的一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,所述的测试结果的分析脚本设计具体为:
步骤S9、描述数据源,关键字段包括数据源的类型和读取方式;
步骤S10、描述数据的格式,关键字段包括名称、数据格式和数据大小;
步骤S11、描述分析规则,采取“@C:D@”去定义,其中2个@是标识符,标明这之间的变量是需要通过诊断数据进行获取;C是数据源,标识数据是从数据源C中获取的;D是该数据源中的对应格式中的字段名;
通过这种描述从测试数据记录中获取该数据的值,进行相关规则的检查和分析。
6.根据权利要求1所述的一种适用于城轨软件自动化测试的测试脚本设计方法,其特征在于,所述的步骤S15中仿真设备使用的时钟校验算法如下:
步骤S151、初始化收到A的时钟命令计数ta=0,初始化收到B的时钟命令计数tb=0;
步骤S152、开启网络消息监听任务,并绑定回调函数fa和fb,分别处理来自A和B的时钟命令;
步骤S153、fa的处理为,校验消息中的源地址,若源地址为A,则设置ta为时间戳的值;
步骤S154、fb的处理为,校验消息中的源地址,若源地址为B,则设置tb为时间戳的值,且判断条件tb=2ta+1or tb=2ta-1,若条件满足则,周期校验成功,若不满足则周期校验失败。
CN201610847971.9A 2016-09-23 2016-09-23 适用于城轨软件自动化测试的测试脚本设计方法 Active CN106502882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610847971.9A CN106502882B (zh) 2016-09-23 2016-09-23 适用于城轨软件自动化测试的测试脚本设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610847971.9A CN106502882B (zh) 2016-09-23 2016-09-23 适用于城轨软件自动化测试的测试脚本设计方法

Publications (2)

Publication Number Publication Date
CN106502882A CN106502882A (zh) 2017-03-15
CN106502882B true CN106502882B (zh) 2019-02-01

Family

ID=58290379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610847971.9A Active CN106502882B (zh) 2016-09-23 2016-09-23 适用于城轨软件自动化测试的测试脚本设计方法

Country Status (1)

Country Link
CN (1) CN106502882B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108508867B (zh) * 2018-03-23 2020-09-01 卡斯柯信号有限公司 基于行为驱动脚本的车载控制器软件测试系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100056338A (ko) * 2008-11-19 2010-05-27 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
CN102075372A (zh) * 2009-11-23 2011-05-25 财团法人工业技术研究院 时间还原方法及应用其的网络仿真系统
CN103235756A (zh) * 2013-04-22 2013-08-07 北京航空航天大学 一种面向嵌入式系统分区应用程序软件的仿真测试方法
US8739131B2 (en) * 2007-05-04 2014-05-27 International Business Machines Corporation Completing functional testing
CN105912469A (zh) * 2016-04-11 2016-08-31 卡斯柯信号有限公司 用于轨道交通车载控制器软件的测试脚本自动化检测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739131B2 (en) * 2007-05-04 2014-05-27 International Business Machines Corporation Completing functional testing
KR20100056338A (ko) * 2008-11-19 2010-05-27 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
CN102075372A (zh) * 2009-11-23 2011-05-25 财团法人工业技术研究院 时间还原方法及应用其的网络仿真系统
CN103235756A (zh) * 2013-04-22 2013-08-07 北京航空航天大学 一种面向嵌入式系统分区应用程序软件的仿真测试方法
CN105912469A (zh) * 2016-04-11 2016-08-31 卡斯柯信号有限公司 用于轨道交通车载控制器软件的测试脚本自动化检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"STAMP-based analysis on the railway accident and accident spreading: Taking the China–Jiaoji railway accident for example";Min Ouyang等;《Safety Science》;20100104;第544-555页
"城轨嵌入式软件自动化测试框架的设计与实现";刘锦峰等;《铁路计算机应用》;20150731;第24卷(第7期);第49-52页

Also Published As

Publication number Publication date
CN106502882A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
EP3032425B1 (en) Integrated automated test case generation for safety-critical software
US7908518B2 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
CN107704393B (zh) 数据测试方法、装置及电子设备
CN103109275A (zh) 在半导体测试环境中使用虚拟仪器的系统、方法和设备
US8904321B1 (en) System and method for automatically generating coverage constructs and constraint solver distributions
CN108052744A (zh) 航空软件仿真综合测试验证平台
US11449414B2 (en) Mapping test parameter data elements during heterogeneous component-based testing in a portable automation framework in both API mode and UI mode
CN103246770A (zh) 一种基于活动图模型的系统行为仿真方法
CN103699385A (zh) 一种代码持续集成的方法
CN103810090B (zh) 核电站数字化规程安装调试验证的方法、升版方法和平台
WO2009144826A1 (ja) 検査用ファイル生成プログラム、検査用ファイル生成装置および検査用ファイル生成方法
CN106502882B (zh) 适用于城轨软件自动化测试的测试脚本设计方法
US12013777B2 (en) Controlling heterogeneous component-based testing in a portable automation framework with test scripts in both API mode and UI mode
US11269712B1 (en) Customized categorial error handling framework for heterogeneous component-based testing in a portable automation framework
CN101673200B (zh) 用户输入模型的检测方法及装置
US9373077B1 (en) System and method for identifying constraint solver calls
US11734134B2 (en) Automatically locating resources using alternative locator expressions during heterogeneous component-based testing in a portable automation framework
CN107688539A (zh) 一种BMC Web测试系统
US11960385B2 (en) Automatic generation of integrated test procedures using system test procedures
US11310680B2 (en) Reusing provisioned resources during heterogeneous component-based testing in a portable automation framework
US6502232B1 (en) Electronic circuit design environmentally constrained test generation system
Litterick et al. Pragmatic Verification Reuse in a Vertical World
US9886538B1 (en) System and method for using heterogeneous hierarchical configurations for electronic design reuse
CN109814852A (zh) 一种分区实时操作系统的分区配置方法
Hwang et al. Interoperability test methodology for a train control system using interface channels

Legal Events

Date Code Title Description
C06 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