CN105912469B - 用于轨道交通车载控制器软件的测试脚本自动化检测方法 - Google Patents
用于轨道交通车载控制器软件的测试脚本自动化检测方法 Download PDFInfo
- Publication number
- CN105912469B CN105912469B CN201610220634.7A CN201610220634A CN105912469B CN 105912469 B CN105912469 B CN 105912469B CN 201610220634 A CN201610220634 A CN 201610220634A CN 105912469 B CN105912469 B CN 105912469B
- Authority
- CN
- China
- Prior art keywords
- test script
- test
- software
- script
- model
- 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
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
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,包括以下步骤:步骤S101,加载测试脚本并对测试脚本作初步检查;步骤S102,对通过步骤S101中的初步检查的测试脚本进行解析;步骤S103,对车载控制器软件需求进行建模,利用步骤S102解析展开后的周期性数据作为输入,对需求模型进行仿真;步骤S104,结果比对,将步骤S103中得到的模型仿真输出与步骤S101测试脚本设计的预期结果进行对比分析,以检查测试脚本的正确性。与现有技术相比,本发明具有填补了轨道交通车载软件测试脚本验证检测自动化的空白,能够真正实现计算机对测试脚本内容正确性的实质检测等优点。
Description
技术领域
本发明涉及一种测试脚本检测方法,尤其是涉及一种用于轨道交通车载控制器软件的测试脚本自动化检测方法。
背景技术
随着我国轨道交通行业高速发展,车载控制器软件的更新换代日趋频繁,其功能也日益复杂。与此同时,给相关的软件测试工作带来的压力也越来越大。基于脚本的自动化测试具有可复现性好、可复用性高,尤其适用回归测试的特点,是减轻测试执行工作压力、提高测试效率的一种有效手段。然而,测试脚本的质量和正确性是基于脚本的自动化测试的核心,将直接影响到测试的质量和可信度。目前,主要是以人工检测的手段来保证测试脚本的质量。
在现有技术中,测试人员和验证人员需要根据测试用例检测测试脚本和测试用例的一致性和正确性,以确保之后测试阶段使用的测试脚本质量的可控。因为车载控制器软件测试的特殊性,脚本的执行是没有编译的,直接解释执行,所以,目前测试脚本的检测要通过人工完成。
此种人工检测测试脚本的方式存在以下不足:(1)由于是人工检测,可能会存在检查不到位、出现遗漏的情况,导致测试脚本检查不细致,以致出现安全风险。(2)车载控制器软件测试的特点,造成了测试脚本数量多、脚本文件内容较多的情况,人工检测势必影响了工作效率,会需要大量时间,导致变更实施的成本提高。
所以,如何实现一种能解放测试人员、验证人员的人力,同时又能高效、准确地对车载控制器软件测试脚本进行自动化的检查和分析方法就变得越来越紧迫。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,能对软件测试脚本进行批量、自动检测,从而达到高效、便捷的效果。
本发明的目的可以通过以下技术方案来实现:
一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,其特征在于,包括以下步骤:
步骤S101,加载测试脚本并对测试脚本作初步检查;
步骤S102,对通过步骤S101中的初步检查的测试脚本进行解析,轨道交通车载控制器软件的测试脚本采用专业术语对测试场景和测试输入进行刻画,其中包括测试所用到的线路、地图、测试持续时间、列车速度曲线、***设备接口消息,对测试脚本的解析就是将这些专业术语描述的选定测试场景转化为物理场景,并将其展开为以车载软件周期为时间单位的周期性输入数据,作为步骤S103的输入数据;
步骤S103,对车载控制器软件需求进行建模,利用步骤S102解析展开后的周期性数据作为输入,对需求模型进行仿真;
步骤S104,结果比对,将步骤S103中得到的模型仿真输出与步骤S101测试脚本设计的预期结果进行对比分析,以检查测试脚本的正确性。
所述的测试脚本是以XML标记语言描述,所述的初步检查包括脚本语言格式检查和脚本内容前后一致性检查。
所述的步骤S101具体为:
步骤S1,加载测试脚本以及该测试脚本涉及到的相关配置文件,该文件包括线路地图;
步骤S2,对S1中加载的测试脚本进行XML语法分析以及脚本内容的一致性初步检查,如果检查通过则进入步骤S3,如果检查不通过则需要根据错误提示对测试脚本修改后返回步骤S1重新加载;
步骤S3,加载测试脚本的预期,作为与步骤S104中结果比对的依据,如果加载的测试脚本是以测试某一具体软件功能为目的,则此处的预期是该软件功能关联的具体需求中的变量,如果加载的测试脚本是用来性能或者可靠性测试的,则此处的预期是与具体性能指标关联的需求变量。
所述的步骤S102具体包括以下步骤:
步骤S4,解析测试脚本,将用专业术语描述的测试场景转换为物理条件;
步骤S5,判断步骤S4中的解析是否成功,如果解析失败,则返回步骤S1,修改测试脚本后重新加载,如果解析成功,则进入步骤S6;
步骤S6,将步骤S4中解析得到的物理条件并结合步骤S1的配置文件展开为以车载控制器软件周期为时间单位的周期性数据。
所述的步骤S103具体包括以下步骤:
步骤S7,对车载控制器软件的形式化或半形式化需求进行建模,得到可执行仿真的需求模型;
步骤S8,根据步骤S7中建立的需求模型以及步骤S3中与测试脚本预期相关的需求变量,识别出执行模型仿真所用的模型接口;
步骤S9,按步骤S8识别出的模型接口的规定,将步骤S6中展开的周期性数据作为输入,对步骤S7中建立的模型执行仿真并得到仿真结果。
所述的步骤S104具体包括以下步骤:
步骤S 10,将S9中得到的仿真结果与步骤S3中的预期进行比对,并给出比对的结果并提示不一致是否存在。
与现有技术相比,本发明具有以下优点:
1、填补了轨道交通车载软件测试脚本验证检测自动化的空白,能够真正实现计算机对测试脚本内容正确性的实质检测。
2、可以替代测试脚本的人工检测,极大地节约了人力和时间,提高工作效率。
3、使测试准备工作提前成为可能,当需求文件定稿后即可准备测试脚本,并且可以最大程度地排除测试脚本对测试有效性的影响。
附图说明
图1为本发明测试脚本自动化检测方法的流程图;
图2为本发明测试脚本自动化检测方法的具体流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1和图2所示,用本发明的测试脚本自动化检测方法检测以测试轨道交通车载控制器ATP软件处理打滑/空转状态机功能为目的测试脚本为例,具体包括下列步骤:
步骤S101,加载测试ATP软件处理打滑/空转状态机功能的测试脚本并对其作初步检查(该测试脚本模拟了车辆从无打滑发生状态进入刹车状态,继而有进入打滑状态,最后回到刹车状态的场景,该场景的持续时间为3分钟),具体包括如下S1~S3步骤:
步骤S1,加载该测试脚本以及相关的地图数据;
步骤S2,对步骤S1加载的测试脚本进行初步检查,报告XML语法检查以及脚本中关于车辆模型参数的一致性检查;如果检查通过则进入步骤S3,如果检查不通过,则提示错误,回到步骤S1重新加载测试脚本;
步骤S3,加载对应S1加载的测试脚本的预期,在该实施例中,预期是一个ATP软件中关于监控打滑空转状态机的变量,其应当从无打滑发生状态(SM0)进入刹车状态(SM1),再进入打滑状态(SM2),最后回到刹车状态(SM1);
步骤S102,对通过步骤S101中初步检查的测试脚本进行解析,具体包括如下S4~S6步骤:
步骤S4,将该实施例中的测试脚本描述的车辆打滑空转状态迁移的测试场景解析为里程计测速变化的物理输入条件;
步骤S5,检查步骤S4是否能正常解析,物理输入条件是否能正常生成,如果解析成功,则进入步骤S6;如果解析失败,则返回到步骤S1重新加载测试脚本;
步骤S6,将通过步骤S5解析后的脚本展开位周期性数据,对于该实施例是将解析后的测试脚本中描述里程计的测速变化展开为ATP软件周期为单位的数据,因为车载控制器ATP软件周期为100ms,所以该实施例的测试脚本展开后包含有1800个周期里程计测速值的数据;
步骤S103,对车载控制器ATP软件需求进行建模,利用步骤S102解析展开后的1800个周期的里程计测速值数据作为输入,对模型进行仿真:
步骤S7,对车载控制器ATP软件需求进行建模,ATP软件需求采用半形式语言描述,精确到每个软件定时中断的行为,有利于后期得到需求的精确建模;
步骤S8,根据步骤S3中的测试脚本预期以及步骤S7中建立的ATP软件需求模型,识别出软件需求中与打滑空转状态机功能的密切相关的软件接口;
步骤S9,将步骤S6展开后的1800个周期的里程计测速值作为模型的输入,通过步骤8识别出的模型接口对步骤S7建立的需求模型进行仿真并得到1800个周期的仿真输出,其中包括用于监控打滑空转状态机的软件需求变量值;
步骤S104,将仿真结果与测试脚本预期比对:
步骤S10,将步骤S9中得到的仿真结果与步骤S3中的测试脚本预期进行比对,在该实施例中,检查需求中监控打滑空转状态机的变量值是否有SM0,SM1,SM2这三种状态,同时检查是否遵循如下的迁移顺序:SM0→SM1→SM2→SM1。如果检查通过,则给出测试脚本正确的提示,如果检查失败则给出错误提示。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (4)
1.一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,其特征在于,包括以下步骤:
步骤S101,加载测试脚本并对测试脚本作初步检查;
步骤S102,对通过步骤S101中的初步检查的测试脚本进行解析,轨道交通车载控制器软件的测试脚本采用专业术语对测试场景和测试输入进行刻画,其中包括测试所用到的线路、地图、测试持续时间、列车速度曲线、***设备接口消息,对测试脚本的解析就是将这些专业术语描述的选定测试场景转化为物理场景,并将其展开为以车载软件周期为时间单位的周期性输入数据,作为步骤S103的输入数据;
步骤S103,对车载控制器软件需求进行建模,利用步骤S102解析展开后的周期性数据作为输入,对需求模型进行仿真;
步骤S104,结果比对,将步骤S103中得到的模型仿真输出与步骤S101测试脚本设计的预期结果进行对比分析,以检查测试脚本的正确性;
所述的测试脚本是以XML标记语言描述,所述的初步检查包括脚本语言格式检查和脚本内容前后一致性检查;
所述的步骤S101具体为:
步骤S1,加载测试脚本以及该测试脚本涉及到的相关配置文件,该文件包括线路地图;
步骤S2,对S1中加载的测试脚本进行XML语法分析以及脚本内容的一致性初步检查,如果检查通过则进入步骤S3,如果检查不通过则需要根据错误提示对测试脚本修改后返回步骤S1重新加载;
步骤S3,加载测试脚本的预期,作为与步骤S104中结果比对的依据,如果加载的测试脚本是以测试某一具体软件功能为目的,则此处的预期是该软件功能关联的具体需求中的变量,如果加载的测试脚本是用来性能或者可靠性测试的,则此处的预期是与具体性能指标关联的需求变量。
2.根据权利要求1所述的一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,其特征在于,所述的步骤S102具体包括以下步骤:
步骤S4,解析测试脚本,将用专业术语描述的测试场景转换为物理条件;
步骤S5,判断步骤S4中的解析是否成功,如果解析失败,则返回步骤S1,修改测试脚本后重新加载,如果解析成功,则进入步骤S6;
步骤S6,将步骤S4中解析得到的物理条件并结合步骤S1的配置文件展开为以车载控制器软件周期为时间单位的周期性数据。
3.根据权利要求2所述的一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,其特征在于,所述的步骤S103具体包括以下步骤:
步骤S7,对车载控制器软件的形式化或半形式化需求进行建模,得到可执行仿真的需求模型;
步骤S8,根据步骤S7中建立的需求模型以及步骤S3中与测试脚本预期相关的需求变量,识别出执行模型仿真所用的模型接口;
步骤S9,按步骤S8识别出的模型接口的规定,将步骤S6中展开的周期性数据作为输入,对步骤S7中建立的模型执行仿真并得到仿真结果。
4.根据权利要求3所述的一种用于轨道交通车载控制器软件的测试脚本自动化检测方法,其特征在于,所述的步骤S104具体包括以下步骤:
步骤S 10,将S9中得到的仿真结果与步骤S3中的预期进行比对,并给出比对的结果并提示不一致是否存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220634.7A CN105912469B (zh) | 2016-04-11 | 2016-04-11 | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220634.7A CN105912469B (zh) | 2016-04-11 | 2016-04-11 | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912469A CN105912469A (zh) | 2016-08-31 |
CN105912469B true CN105912469B (zh) | 2019-01-08 |
Family
ID=56744979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610220634.7A Active CN105912469B (zh) | 2016-04-11 | 2016-04-11 | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912469B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502882B (zh) * | 2016-09-23 | 2019-02-01 | 卡斯柯信号有限公司 | 适用于城轨软件自动化测试的测试脚本设计方法 |
CN106844203A (zh) * | 2017-01-04 | 2017-06-13 | 重庆长安汽车股份有限公司 | 一种模型软件测试结果分析方法及装置 |
CN109388118A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 基于列车网络设备的信号回环自动测试方法及装置 |
CN107864204B (zh) * | 2017-11-10 | 2020-12-25 | 浙江网新技术有限公司 | 一种自适应的车辆参数自动识别和共享方法 |
CN108508867B (zh) * | 2018-03-23 | 2020-09-01 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试***及方法 |
CN109375525A (zh) * | 2018-10-15 | 2019-02-22 | 中国核电工程有限公司 | 一种基于验证平台的仪控成品文件导入建模方法 |
CN111190802B (zh) * | 2019-12-22 | 2022-09-30 | 卡斯柯信号有限公司 | 一种自动生成性能测试配置的方法 |
CN111221728B (zh) * | 2019-12-31 | 2022-08-23 | 卡斯柯信号有限公司 | 用于轨道交通自动控制软件的自适应测试脚本***及方法 |
CN111581082B (zh) * | 2020-04-21 | 2021-06-04 | 东风汽车集团有限公司 | 车载控制器测试脚本生成装置及方法 |
CN112722016B (zh) * | 2021-01-14 | 2022-08-30 | 卡斯柯信号有限公司 | 用于轨道交通列车自动控制***的自动化测试***及方法 |
CN113609577B (zh) * | 2021-07-20 | 2024-02-06 | 重庆长安汽车股份有限公司 | 一种汽车电器原理检查方法 |
CN114003512B (zh) * | 2021-12-30 | 2022-05-13 | 卡斯柯信号(北京)有限公司 | 一种基于列车自动控制集成验证平台脚本生成方法及装置 |
CN115617703B (zh) * | 2022-12-20 | 2023-03-14 | 北京赛目科技股份有限公司 | 用于车辆仿真测试的方法、装置、***、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757121B1 (en) * | 2006-04-21 | 2010-07-13 | Cydone Solutions Inc. | Requirement driven interoperability/compliance testing systems and methods |
CN102073317A (zh) * | 2010-12-17 | 2011-05-25 | 清华大学 | 用于高速铁路列车控制***功能测试的建模方法 |
CN102998129A (zh) * | 2012-11-29 | 2013-03-27 | 北京交控科技有限公司 | 一种车载atp***全功能测试仪 |
CN103558767A (zh) * | 2013-01-08 | 2014-02-05 | 北京交通大学 | 一种列控***测试序列的辅助生成方法和*** |
CN104636241A (zh) * | 2015-01-20 | 2015-05-20 | 卡斯柯信号有限公司 | 基于需求建模的车载控制器日志数据自动分析方法 |
-
2016
- 2016-04-11 CN CN201610220634.7A patent/CN105912469B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757121B1 (en) * | 2006-04-21 | 2010-07-13 | Cydone Solutions Inc. | Requirement driven interoperability/compliance testing systems and methods |
CN102073317A (zh) * | 2010-12-17 | 2011-05-25 | 清华大学 | 用于高速铁路列车控制***功能测试的建模方法 |
CN102998129A (zh) * | 2012-11-29 | 2013-03-27 | 北京交控科技有限公司 | 一种车载atp***全功能测试仪 |
CN103558767A (zh) * | 2013-01-08 | 2014-02-05 | 北京交通大学 | 一种列控***测试序列的辅助生成方法和*** |
CN104636241A (zh) * | 2015-01-20 | 2015-05-20 | 卡斯柯信号有限公司 | 基于需求建模的车载控制器日志数据自动分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105912469A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912469B (zh) | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 | |
CN107562969B (zh) | 航空发动机控制***软件的集成方法和装置 | |
CN107135210B (zh) | 一种汽车模拟通讯协议解析器及其解析方法 | |
US7275184B2 (en) | Software verification method for control units and verification system | |
CN105117341B (zh) | 一种基于动态符号执行的分布式自动测试案例生成方法 | |
AU2008203256A1 (en) | A method of testing an electronic system | |
CN106155903B (zh) | 用于***设计验证的装置和方法 | |
CN107704393A (zh) | 数据测试方法、装置及电子设备 | |
Weissnegger et al. | Simulation-based verification of automotive safety-critical systems based on EAST-ADL | |
CN109726061A (zh) | 一种SoC芯片的验证方法 | |
Sousa et al. | Bounded model checking of C++ programs based on the Qt framework | |
CN117234926A (zh) | 基于autosar架构的软件组件接口检查方法及装置 | |
CN103885341B (zh) | 基于汽车性能模拟器的性能分析***和方法 | |
CN116069635A (zh) | Soc***的测试方法、装置、计算机设备及存储介质 | |
Brown et al. | Guidance for using formal methods in a certification context | |
CN107423221A (zh) | 一种web应用可持续测试方法及*** | |
US8751094B2 (en) | Method for validation of a graphically based executable control specification using model extraction | |
CN114757135A (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及*** | |
CN102184136B (zh) | 一种验证aadl模型运行状态与需求一致性的方法 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
CN109960238B (zh) | 一种车辆诊断仪自动化测试***和方法 | |
Kaijser et al. | Towards simulation-based verification for continuous integration and delivery | |
Lauber et al. | Virtual test method for complex and variant-rich automotive systems | |
Du et al. | An Automated Continuous Integration Multitest Platform for Automotive Systems | |
CN112306767A (zh) | 一种芯片信号连接关系的自动化测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1226835 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |