CN111221728A - 用于轨道交通自动控制软件的自适应测试脚本系统及方法 - Google Patents
用于轨道交通自动控制软件的自适应测试脚本系统及方法 Download PDFInfo
- Publication number
- CN111221728A CN111221728A CN201911416139.3A CN201911416139A CN111221728A CN 111221728 A CN111221728 A CN 111221728A CN 201911416139 A CN201911416139 A CN 201911416139A CN 111221728 A CN111221728 A CN 111221728A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- test data
- data
- 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.)
- Granted
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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L27/00—Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
- B61L27/50—Trackside diagnosis or maintenance, e.g. software upgrades
-
- 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)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于轨道交通自动控制软件的自适应测试脚本系统及方法,该系统包括:测试脚本解析模块M1,用于解析以预定义的语法格式编写的测试脚本,识别并记录脚本中描述测试数据的抽象点或区域,并生成测试数据的搜索表达式;测试数据预处理模块M2,用于根据测试数据的描述格式,预处理测试数据,识别并记录测试数据中的各种奇点和区域的属性,形成该测试数据的数据字典;测试数据查找匹配模块M3,用于根据测试脚本解析模块M1产生的搜索表达式,在测试数据预处理模块M2生成的数据字典中查找匹配对应的数据模式;结果提示模块M4。与现有技术相比,本发明具有提高了测试脚本复用率和可读性等优点。
Description
技术领域
本发明涉及轨道交通信号控制领域,尤其是涉及一种用于轨道交通自动控制软件的自适应测试脚本系统及方法。
背景技术
在轨道交通领域,大部分产品都是基于嵌入式系统开发的,为了获得高可信、高质量的嵌入式自动控制软件,依靠传统的手工测试不仅难于全面覆盖,并且成本可观,高效的自动化测试已成为不可或缺的重要环节。
自动化测试是提高测试效率和质量,降低测试成本的有效手段。而脚本技术是实现软件测试自动化的重要方法。然而,传统的脚本技术融合了测试数据、被测软件的业务逻辑以及脚本本身,对于数据复杂、业务和数据耦合度高的专业软件,尤其是本领域的嵌入式自动控制软件的测试而言,不具备很好的适应性。
传统的测试脚本存在以下不足:
(1)测试脚本与测试数据高度耦合;传统的测试脚本往往是从现有的测试数据出发,与测试数据高度关联,脚本的正确性与可执行性高度依赖测试数据,这样不仅限制了测试人员的测试设计广度与深度,同时由于对数据的高敏感度,也限制了脚本的可复用性;
(2)测试脚本不便于理解;不便于理解表现在的脚本的个体差异性大,测试人员往往无法准确理解其他测试人员编写的脚本,不利于组织过程资产的继承和发展;
(3)测试脚本的维护成本高;维护成本高体现在两方面,一方面,由于传统测试脚本的可读性差,测试人员不易修改、升级他人编写的脚本;另一方面,当测试数据或是配置数据发生变化时,由于传统脚本对数据的高依赖性,需要重新调整原有的脚本。
发明内容
本发明的目的就是为了克服上述现有技术存在的测试脚本与测试数据耦合度高、维护成本高、可移植性差的缺陷而提供一种用于轨道交通自动控制软件的自适应测试脚本系统及方法,从而提高了测试脚本复用率和可读性,对于降低轨道交通自动控制软件的测试验证成本、提高测试效率有极大的帮助。
本发明的目的可以通过以下技术方案来实现:
一种用于轨道交通自动控制软件的自适应测试脚本系统,包括:
测试脚本解析模块M1,用于解析以预定义的语法格式编写的测试脚本,识别并记录脚本中描述测试数据的抽象点或区域,并根据脚本中测试动作的时序以及测试数据的抽象点或区域的先后关系和相对位置,生成测试数据的搜索表达式;
测试数据预处理模块M2,用于根据测试数据的描述格式,预处理测试数据,识别并记录测试数据中的各种奇点和区域的属性,形成该测试数据的数据字典;
测试数据查找匹配模块M3,用于根据测试脚本解析模块M1产生的搜索表达式,在测试数据预处理模块M2生成的数据字典中查找匹配对应的数据模式;
结果提示模块M4,用于对通过测试数据查找匹配模块M3的匹配成功的数据,显示匹配成功并返回匹配的具体信息;对于测试脚本与测试数据没有匹配成功的情况,提示匹配失败并返回对应的脚本行信息。
优选地,所述的测试脚本解析模块M1在解析过程中若识别出脚本语法错误或测试数据描述错误则不能生成搜索表达式并提示报错。
优选地,所述的测试数据预处理模块M2识别的各种奇点和区域的属性包括位置和方向信息。
优选地,所述的测试数据查找匹配模块M3若能找到唯一匹配,则直接返回给测试脚本;若能找到多处匹配则返回给脚本编写终端,由其自行选择,再返回给测试脚本;若不能匹配则返回给结果提示模块M4。
一种采用所述的用于轨道交通自动控制软件的自适应测试脚本系统的方法,包括以下步骤:
步骤S1:以软件需求以及相关经验场景为基础,依照预先定义的脚本语法,设计、编写测试脚本;
步骤S2:解析步骤S1中的测试脚本;
步骤S3:判断步骤S2是否解析成功,若成功,则记录测试脚本中描述测试数据的抽象点或区域及其先后关系和相对位置,若失败,则将失败结果和原因返回到步骤S1;
步骤S4:将步骤S3记录的相关信息转换为搜索表达式;
步骤S5:根据测试据的描述格式,预处理测试数据,识别并记录测试数据中的各种奇点和区域的属性,形成该测试数据的数据字典,其中属性包括位置和方向信息;
步骤S6:以通过步骤S5预处理的测试数据产生的数据字典为输入,以步骤S4生成的搜索表达式对其查找匹配;
步骤S7:判断步骤S6中的数据匹配是否成功,若成功,则将相关数据信息返回给脚本并执行步骤S8,若失败,则具体信息返回并执行步骤S9;
步骤S8:将结合了具体测试数据信息的测试脚本解析为机器可读的被测软件的测试激励数据,并执行步骤S9;
步骤S9:将匹配成功的具体信息或是匹配失败的具体原因进行返回提示。
优选地,所述的脚本中涉及到的测试数据都进行抽象。
优选地,当所述的步骤S3提示错误并返回时,则根据相应的错误提示,修改测试脚本。
优选地,所述的步骤S4的相关信息包括测试数据中抽象点或区域的性质、抽象点或区域的先后关系和相对位置以及测试动作时序信息。
与现有技术相比,本发明具有以下优点:
1、相较于高度依赖测试数据的测试脚本技术,本发明能提高能够显著减少对测试数据的依赖,提高测试脚本的可复用性以及测试设计的广度和深度。
2、相较于与测试数据紧耦合的测试脚本技术,本发明有利于提高测试场景覆盖率,同时便于维护和移植。
3、本发明中的脚本操作友好、上手简单、便于掌握,不需要测试人员有编程基础。
附图说明
图1为本发明测试脚本系统的结构示意图;
图2为本发明测试脚本方法的工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,是本发明用于轨道交通自动控制软件的自适应的测试脚本系统的结构示意图。本实施例中用于轨道交通自动控制软件的自适应的测试脚本系统包括:测试脚本解析模块M1,测试数据预处理模块M2,测试数据查找匹配模块M3以及结果提示模块M4。
其中,测试脚本解析模块M1解析以预定义的语法格式编写的测试脚本,此处设计的脚本如下:
INITIALIZED TRAINFE in rear of BEACON_A,5000
BEACON_A is in rear of BEACON_B
BEACON_A‘s next beacon is BEACONA_B
RUN at 10
STOP TRAINFE in rear of SSP_A,500
识别并记录脚本中描述测试数据的抽象点或区域,包括BEACON_A,BEACON_B,SSP_A以及其在脚本中的相对位置关系,解析生成后的搜索表达式如下:
(BEACON_A,BEACON_B,SSP_A)AND
NEIBOUR(BEACON_A,BEACON_B)
其中,分别描述了BEACON_A,BEACON_B,SSP_A的关系以及BEACON_A和BEACON_B的关系。
测试数据预处理模块M2根据测试据的描述格式,预处理测试数据,在此示例中,M2处理了3组测试数据,对每组测数据都生成了对应的数据字典,其中包括BEACON和SSP两种类型的数据。
测试数据查找匹配模块M3根据脚本解析模块M1产生的上述搜索表达式,在测试数据预处理模块M2生成的3组数据字典中查找匹配对应的数据模式。这里,模块M3共查找到85出匹配。
结果提示模块M4显示匹配成功,并返回匹配的具体信息,包括找到85处匹配的位置,以及被选择的匹配位置。
如图2所示,本实施例用于轨道交通自动控制软件的自适应的测试脚本系统用于设计车载控制器软件的列车停车与屏蔽门关系的测试场景的一具体过程,包括以下步骤:
步骤S1,根据测试场景设计脚本,该场景中列车停车时车头车尾在两个不同的屏蔽门区域,脚本如下:
INITIALIZED TRAINFE in rear of
BEACON_A,5000
BEACON_A is in rea of BEACON_B
BEACON_A‘s next beacon is
BEACONA_B
RUN at 15
STOP,TRAINHEAD is INTERSECT
WITH PSD_A and TRAINTAIL is
INTERSECT with PSD_B
步骤S2:解析步骤S1中的测试脚本,识别并记录脚本中描述测试数据的抽象点或区域,包括BEACON_A,BEACON_B,PSD_A,PSD_B以及其在脚本中的相对位置关系;
步骤S3:判断步骤S2是否解析成功,此示例中解析成功,进入步骤S4;
步骤S4:将解析后的抽象点或区域以及其在脚本中的相对位置关系生成搜索表达式如下:
(BEACON_A,BEACON_B,PSD_B,PSD_A)
AND NEIBOUR(BEACON_A,BEACON_B)
AND DIS(PSD_B,PSD_A)<TRAINLENGTH
步骤S5:预处理测试数据,此示例中,有3组测试数据,对每组测数据都生成了对应的数据字典,其中包括BEACON和PSD两种类型的数据;
步骤S6:以步骤S4产生的搜索表达式,对步骤S5生成的3组数据字典进行查找匹配。这里,对应的数据模式没有在数据字典中找到;
步骤S7:判断步骤S6中的搜索结果,这里,将结果送到步骤S9。
步骤S9:给出具体的查找失败原因并返回提示:这里导致查找失败的脚本行为:
STOP,TRAINHEAD is INTERSECT WITH
PSD_A and TRAINTAIL is INTERSECT with
PSD_B
本实施例中,测试脚本的设计是从需求和测试场景的角度出发的,而现有的测试数据不能满足测试需求,所以没有执行步骤S8。在说明本发明的系统结构图的示例中,测试数据和测试脚本成功匹配,进而能够执行步骤S8,系统根据解析、匹配后的脚本和数据,产生被测车载控制器软件的激励。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种用于轨道交通自动控制软件的自适应测试脚本系统,其特征在于,包括:
测试脚本解析模块M1,用于解析以预定义的语法格式编写的测试脚本,识别并记录脚本中描述测试数据的抽象点或区域,并根据脚本中测试动作的时序以及测试数据的抽象点或区域的先后关系和相对位置,生成测试数据的搜索表达式;
测试数据预处理模块M2,用于根据测试数据的描述格式,预处理测试数据,识别并记录测试数据中的各种奇点和区域的属性,形成该测试数据的数据字典;
测试数据查找匹配模块M3,用于根据测试脚本解析模块M1产生的搜索表达式,在测试数据预处理模块M2生成的数据字典中查找匹配对应的数据模式;
结果提示模块M4,用于对通过测试数据查找匹配模块M3的匹配成功的数据,显示匹配成功并返回匹配的具体信息;对于测试脚本与测试数据没有匹配成功的情况,提示匹配失败并返回对应的脚本行信息。
2.根据权利要求1所述的一种用于轨道交通自动控制软件的自适应测试脚本系统,其特征在于,所述的测试脚本解析模块M1在解析过程中若识别出脚本语法错误或测试数据描述错误则不能生成搜索表达式并提示报错。
3.根据权利要求1所述的一种用于轨道交通自动控制软件的自适应测试脚本系统,其特征在于,所述的测试数据预处理模块M2识别的各种奇点和区域的属性包括位置和方向信息。
4.根据权利要求1所述的一种用于轨道交通自动控制软件的自适应测试脚本系统,其特征在于,所述的测试数据查找匹配模块M3若能找到唯一匹配,则直接返回给测试脚本;若能找到多处匹配则返回给脚本编写终端,由其自行选择,再返回给测试脚本;若不能匹配则返回给结果提示模块M4。
5.一种采用权利要求1所述的用于轨道交通自动控制软件的自适应测试脚本系统的方法,其特征在于,包括以下步骤:
步骤S1:以软件需求以及相关经验场景为基础,依照预先定义的脚本语法,设计、编写测试脚本;
步骤S2:解析步骤S1中的测试脚本;
步骤S3:判断步骤S2是否解析成功,若成功,则记录测试脚本中描述测试数据的抽象点或区域及其先后关系和相对位置,若失败,则将失败结果和原因返回到步骤S1;
步骤S4:将步骤S3记录的相关信息转换为搜索表达式;
步骤S5:根据测试据的描述格式,预处理测试数据,识别并记录测试数据中的各种奇点和区域的属性,形成该测试数据的数据字典,其中属性包括位置和方向信息;
步骤S6:以通过步骤S5预处理的测试数据产生的数据字典为输入,以步骤S4生成的搜索表达式对其查找匹配;
步骤S7:判断步骤S6中的数据匹配是否成功,若成功,则将相关数据信息返回给脚本并执行步骤S8,若失败,则具体信息返回并执行步骤S9;
步骤S8:将结合了具体测试数据信息的测试脚本解析为机器可读的被测软件的测试激励数据,并执行步骤S9;
步骤S9:将匹配成功的具体信息或是匹配失败的具体原因进行返回提示。
6.根据权利要求5所述的方法,其特征在于,所述的脚本中涉及到的测试数据都进行抽象。
7.根据权利要求5所述的方法,其特征在于,当所述的步骤S3提示错误并返回时,则根据相应的错误提示,修改测试脚本。
8.根据权利要求5所述的方法,其特征在于,所述的步骤S4的相关信息包括测试数据中抽象点或区域的性质、抽象点或区域的先后关系和相对位置以及测试动作时序信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416139.3A CN111221728B (zh) | 2019-12-31 | 2019-12-31 | 用于轨道交通自动控制软件的自适应测试脚本系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416139.3A CN111221728B (zh) | 2019-12-31 | 2019-12-31 | 用于轨道交通自动控制软件的自适应测试脚本系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221728A true CN111221728A (zh) | 2020-06-02 |
CN111221728B CN111221728B (zh) | 2022-08-23 |
Family
ID=70832795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911416139.3A Active CN111221728B (zh) | 2019-12-31 | 2019-12-31 | 用于轨道交通自动控制软件的自适应测试脚本系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221728B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003512A (zh) * | 2021-12-30 | 2022-02-01 | 卡斯柯信号(北京)有限公司 | 一种基于列车自动控制集成验证平台脚本生成方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066620A1 (en) * | 2009-09-11 | 2011-03-17 | IntelljResponse Systems Inc. | Automated Boolean Expression Generation for Computerized Search and Indexing |
CN102541730A (zh) * | 2011-12-08 | 2012-07-04 | 北京空间飞行器总体设计部 | 一种航天器测试脚本语义识别与自动生成方法 |
CN104063314A (zh) * | 2014-05-20 | 2014-09-24 | 中国工商银行股份有限公司 | 一种测试数据自动生成装置及方法 |
CN105068927A (zh) * | 2015-08-04 | 2015-11-18 | 株洲南车时代电气股份有限公司 | 基于关键字驱动的城轨传动控制单元自动化测试方法 |
CN105912469A (zh) * | 2016-04-11 | 2016-08-31 | 卡斯柯信号有限公司 | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 |
JP2018116496A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 差異検出装置及びプログラム |
CN108508867A (zh) * | 2018-03-23 | 2018-09-07 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试系统及方法 |
-
2019
- 2019-12-31 CN CN201911416139.3A patent/CN111221728B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066620A1 (en) * | 2009-09-11 | 2011-03-17 | IntelljResponse Systems Inc. | Automated Boolean Expression Generation for Computerized Search and Indexing |
CN102541730A (zh) * | 2011-12-08 | 2012-07-04 | 北京空间飞行器总体设计部 | 一种航天器测试脚本语义识别与自动生成方法 |
CN104063314A (zh) * | 2014-05-20 | 2014-09-24 | 中国工商银行股份有限公司 | 一种测试数据自动生成装置及方法 |
CN105068927A (zh) * | 2015-08-04 | 2015-11-18 | 株洲南车时代电气股份有限公司 | 基于关键字驱动的城轨传动控制单元自动化测试方法 |
CN105912469A (zh) * | 2016-04-11 | 2016-08-31 | 卡斯柯信号有限公司 | 用于轨道交通车载控制器软件的测试脚本自动化检测方法 |
JP2018116496A (ja) * | 2017-01-18 | 2018-07-26 | 日本電信電話株式会社 | 差異検出装置及びプログラム |
CN108508867A (zh) * | 2018-03-23 | 2018-09-07 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试系统及方法 |
Non-Patent Citations (2)
Title |
---|
T. KOAL ET AL: "Exploring diagnostic capabilities of software-based self-tests for production and in-field applications", 《2015 IEEE INTERNATIONAL WORKSHOP OF ELECTRONICS, CONTROL, MEASUREMENT, SIGNALS AND THEIR APPLICATION TO MECHATRONICS (ECMSM)》 * |
崔岩: "脚本测试技术在列控中心开发测试中的运用", 《铁路通信信号工程技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003512A (zh) * | 2021-12-30 | 2022-02-01 | 卡斯柯信号(北京)有限公司 | 一种基于列车自动控制集成验证平台脚本生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111221728B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101719278B1 (ko) | 비주얼 콘텐츠기반 영상 인식을 위한 딥러닝 프레임워크 및 영상 인식 방법 | |
US8799868B2 (en) | Method and apparatus for the performing unit testing of software modules in software systems | |
CN109035041A (zh) | 电子装置、车险智能理赔方法及存储介质 | |
CN109446107B (zh) | 一种源代码检测方法及装置、电子设备 | |
US20040049768A1 (en) | Method and program for compiling processing, and computer-readable medium recoding the program thereof | |
US20100325492A1 (en) | Identification Of Elements Of Currently-Executing Component Script | |
CN113271237B (zh) | 工控协议的解析方法、装置、存储介质及处理器 | |
CN113886232A (zh) | 接口测试数据和测试脚本生成方法、终端设备及存储介质 | |
CN111694746A (zh) | 面向编译型语言AS3的Flash缺陷模糊测评工具 | |
CN112732576B (zh) | 基于用户界面的自动化测试方法、装置及设备 | |
CN111221728B (zh) | 用于轨道交通自动控制软件的自适应测试脚本系统及方法 | |
CN112306841B (zh) | 轨道业务的自动化测试方法、装置及设备 | |
CN112084802A (zh) | 一种rfid标签芯片验证系统 | |
CN112860587B (zh) | Ui自动测试方法和装置 | |
CN108334441A (zh) | 一种软件开发工具包的自动化测试方法和系统 | |
CN109889482A (zh) | 一种车辆协议解析方法及系统 | |
CN111737933A (zh) | 一种soc原型验证方法、系统、设备及介质 | |
CN114842847B (zh) | 一种车载用语音控制方法以及装置 | |
US8412180B2 (en) | Method for generating a signal train which can be played back on a tester for testing a mobile radio | |
CN116306479A (zh) | 基于uvm的以太网phy通用验证平台及验证方法 | |
CN114064486B (zh) | 一种接口自动化测试方法 | |
CN112346957B (zh) | 车载语音系统自动测试设备和方法 | |
KR101475921B1 (ko) | 시험 및 운영 절차 검증 방법과 시스템 | |
WO2015083178A1 (en) | Tools of advanced model of software engineering and software testing management | |
CN117973280A (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 |