CN117056199A - 一种基于禁忌搜索的列车运行控制系统测试用例生成方法 - Google Patents
一种基于禁忌搜索的列车运行控制系统测试用例生成方法 Download PDFInfo
- Publication number
- CN117056199A CN117056199A CN202310394843.3A CN202310394843A CN117056199A CN 117056199 A CN117056199 A CN 117056199A CN 202310394843 A CN202310394843 A CN 202310394843A CN 117056199 A CN117056199 A CN 117056199A
- Authority
- CN
- China
- Prior art keywords
- constraint
- test
- fault
- test case
- algorithm
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 69
- 239000000243 solution Substances 0.000 claims abstract description 42
- 238000002347 injection Methods 0.000 claims abstract description 32
- 239000007924 injection Substances 0.000 claims abstract description 32
- 230000000670 limiting effect Effects 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000009467 reduction Effects 0.000 claims abstract description 15
- 238000010845 search algorithm Methods 0.000 claims abstract description 12
- 230000002829 reductive effect Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 11
- 238000004088 simulation Methods 0.000 description 15
- 239000011159 matrix material Substances 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000001808 coupling effect Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013100 final test Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 241001580935 Aglossa pinguinalis Species 0.000 description 1
- 241001225883 Prosopis kuntzei Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 208000027697 autoimmune lymphoproliferative syndrome due to CTLA4 haploinsuffiency Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/3676—Test management for coverage analysis
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)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本发明公开了一种基于禁忌搜索的列车运行控制系统测试用例生成方法,该方法包括以下步骤:S1、提取临时限速场景的设备故障特征作为故障注入输入参数,分析设备间的约束关系,建立约束满足模型;S2、依据信号设备的特点,改进禁忌搜索算法的初始解生成方式和邻域搜索过程,生成满足约束关系的测试用例。本发明改进了禁忌搜索算法,将其成功应用在组合测试中,解决了初始解质量低、约束致使产生无效测试用例等问题,能够高效减少测试用例生成个数与覆盖组合,可有效缩短测试时间;本发明所提算法在覆盖维度较大、参数较多时,测试用例约简能力和故障检测能力更高,更节约测试成本,测试效率更高。
Description
技术领域
本发明属于高速铁路列车智能化控制技术领域,尤其涉及一种基于禁忌搜索的列车运行控制系统测试用例生成方法。
背景技术
近年来,人工智能、物联网、大数据、云计算、北斗卫星导航、BIM(BuildingInformation Modeling,建筑信息模型)等一系列先进信息技术的发展对高速铁路产生了积极的影响。新兴信息技术加速了高速铁路列车控制系统智能化发展,智能高速铁路装备了CTCS(Chinese Train Control System,中国列车控制系统)3级和ATO(Automatic TrainOperation,列车自动驾驶),有效确保列车安全、高效运行。
随着系统自动化等级的提升,智能高速铁路CTCS的安全性也面临更加严峻的挑战。作为保证列车安全运行的关键系统,CTCS的安全性达到SIL(Safety Integrity Level,安全完整性等级)4级。CTCS结构复杂,系统故障的发生、发展和演变机理形式多变,并且多个故障之间的耦合作用使得其结果更加难以预料。故障注入是检测系统内核漏洞、实施系统安全测试的有效途径。针对CTCS的故障注入,从功能模型和场景模式等角度已经有大量研究,验证了系统的安全性。然而现有研究大多是针对单个故障注入的情况,随着CTCS的安全性措施越来越完善,严重的系统故障往往是由多个故障导致的。因此,研究多故障间的组合关系能够准确应对多故障耦合情况。
针对多输入参数的故障组合,组合测试能在保证故障检测能力的前提下,用较少测试用例高效完成测试工作。Xi等通过分析浏览器处理多媒体的主要流程以及网页开发人员的工作需求,使用组合测试方法,发现可能影响浏览器处理的复杂组合错误。Arrieta等为了响应信息物理系统用户的不同需求,分析了测试不同功能所需的配置并设计了一个组合测试系统,指导信息物理系统的测试,降低了实验成本[1]。Shu等将汽车自动驾驶测试的参数离散化,将组合测试分别与动态测试和静态测试相结合,获得关键测试用例,以避免漏失发生概率低的场景[2]。赵通等针对混合交通环境下大规模、多车效率类场景仿真测试,提出复杂度激励的组合测试案例生成方法,提高了测试案例的多样性和覆盖度[3]。组合测试不仅在上述领域的研究证实了其方法的有效性,也成功应用于铁路信号领域。饶畅等针对车载ATP(Automatic Train Protection,列车自动防护)系统输入复杂且存在约束的问题,提出利用间接覆盖数组来约简测试用例[4]。文献[5]提出了一种适用于CTCS故障降级场景的测试用例生成方法,将故障类型使用矩阵化的方式描述,并用IRM-COM(Initial ReductionMatrix and Combined Omission Matrix,初始约简矩阵—组合遗漏矩阵)算法约简了测试用例。
上述研究为CTCS故障注入组合测试提供了一定的基础,但是对于存在约束关系的复杂系统如何注入系统级故障的研究较少。
随着组合测试的发展,启发式算法中的TS(Tabu Search,禁忌搜索)算法,由于本身计算量小,过程简单,并且在覆盖表生成方面取得了非常好的效果[6-7],正在逐步成为约简测试用例、提高故障检测能力的重要方法[8]。
发明内容
为实现CTCS存在约束关系下的多故障注入组合测试,本发明的目的在于提供一种基于禁忌搜索的列车运行控制系统测试用例生成方法。
本发明是这样实现的,一种基于禁忌搜索的列车运行控制系统测试用例生成方法,该方法包括以下步骤:
S1、提取临时限速场景的设备故障特征作为故障注入输入参数,分析设备间的约束关系,建立约束满足模型;
S2、依据信号设备的特点,改进禁忌搜索算法的初始解生成方式和邻域搜索过程,生成满足约束关系的测试用例。
优选地,在步骤S1中,依据CTCS结构特点总结临时限速场景下故障注入测试时存在的约束。
优选地,所述约束包括:
禁止元组,用于表示在测试用例中不能同时出现的故障类型,如修改临时限速数据和EBI曲线计算错误不能同时出现;
必须元组,用于表示测试用例中必须同时出现故障类型,如因ISDN服务器故障导致CTCS降级运行时,需检查TCC和应答器传输系统的设备状态;
屏蔽元组,用于表示某些故障类型会屏蔽另一些故障类型,如当因GSM-R故障导致CTCS降级运行时,主要采用TCC和应答器传输系统实现车地通信。
优选地,在步骤S1中,所述约束满足模型为:
fi(a)∈Fj,a∈v (1)
式中,v为参数取值,fi(a)表示第i个设备按顺序排列的第a个故障,Fj表示第j种设备类型;
约束(1)和约束(2)表示在一条测试用例里每个设备的故障类型只能选择一个,约束(3)表示设备故障fi(a)的逻辑约束必须满足才能够执行,约束(4)表示fj(a)只能在fi(a)后执行。
优选地,在步骤S2中,所述满足约束关系的测试用例的生成过程包括以下步骤:
初始化,用于分析临时限速场景设备的故障特征,设置故障注入参数并提取参数间的约束关系;
CTCS约束满足数组生成,用于通过构建输入参数约束模型,生成约束满足数组,以降低后续算法的搜索空间;
测试用例约简,用于约简测试用例的数量,利用改进的禁忌算法,得到满足约束关系下约简后的测试用例。
优选地,在生成约束满足数组的覆盖表的约束处理中,使用避免约束的方法对选择排除法进行改进,每次生成一条测试用例,添加到测试用例集中,直到所有组合被全部覆盖为止。
优选地,在生成约束满足数组的测试过程中,按照优先考虑必需元组,其次考虑禁止元组,最后考虑屏蔽元组的原则,移除不满足需求的测试用例。
优选地,所述改进的禁忌算法具体为:通过贪心策略构造初始解,在保证覆盖强度的情况下,使其通过约束满足数组得到满足约束的邻域解,并在迭代过程中检验数组替换的可行性。
本发明克服现有技术的不足,提供一种基于禁忌搜索的列车运行控制系统测试用例生成方法,首先,通过研究CTCS-3+ATO相关测试标准和实施案例的过程,将每个的设备具体故障抽象为代码,选择原始的参数集中的故障类型建立组合测试模型,依据CTCS结构特点,设置禁止元组、必需元组和屏蔽元组;接着,检查生成的数组约束满足性,添加新参数并将涉及的约束组合降序排列,同时,对生成的数组进行约束检查,并且添加新参数直到所有参数都被遍历,生成新的测试用例集;然后,根据贪心算法生成初始解,并在邻域中选择移动代价最小的数组,修改参数,根据未被覆盖数组的数量更新测试用例集和禁忌表,直到生成最终测试用例;最后,依托京张智能高速铁路CTCS仿真平台,验证所提测试用例生成方法的有效性,并通过与其他方法比较,验证所提算法的测试用例约简能力和故障检测能力。
相比于现有技术的缺点和不足,本发明具有以下有益效果:
(1)建立了临时限速场景下的约束满足模型,分析了该场景下的设备以及接口间的约束,该模型为CTCS约束关系提供了通用描述方法,同时也为测试用例的设计与约简提供了条件;
(2)改进了禁忌搜索算法,将其成功应用在组合测试中,解决了初始解质量低、约束致使产生无效测试用例等问题,能够高效减少测试用例生成个数与覆盖组合,可有效缩短测试时间;
(3)本发明所提算法在覆盖维度较大、参数较多时,与其他算法相比测试用例约简能力和故障检测能力更高,更节约测试成本,测试效率更高,更适用于CTCS故障注入的测试用例的生成。
附图说明
图1是智能高速铁路CTCS结构;
图2是CTCS测试用例生成流程;
图3是CTCS约束满足数组生成伪代码;
图4是TS-C算法伪代码;
图5是临时限速场景下2-way覆盖数组的生成过程;
图6是智能高速铁路CTCS仿真平台架构;
图7是不同算法生成测试用例数量对比;
图8是在不同覆盖维度下采用不同算法的组合覆盖率对比。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为实现CTCS存在约束关系下的多故障注入组合测试,本发明选用临时限速场景,使用TS算法生成测试用例。首先,描述CTCS-3临时限速场景并总结该场景下的设备故障类型将其作为输入参数,分析参数间的约束关系,构建约束满足模型;接着,改进TS算法,降低邻域搜索空间,以约简测试用例;最后,依托京张智能高速铁路CTCS仿真平台,验证所提测试用例生成方法的有效性,并通过与其他方法比较,验证所提算法的测试用例约简能力和故障检测能力。
1、临时限速场景故障注入描述
CTCS-3是一个复杂庞大的系统,包含车载子系统和地面子系统,拥有14种运营场景、9种车载模式和191项系统功能特征[9],CTCS-3整体结构如图1所示。由于本发明研究对象为智能高速铁路,为描述方便,以下将CTCS-3简称为CTCS。临时限速场景是CTCS典型的运营场景之一,如临时限速信息未按计划下达或下达错误,可能导致重大行车事故,因此保证列车在临时限速区域的行车安全,对于保障高速铁路具有重要意义。
1.1、临时限速命令下达
在高速铁路中,由于施工或风雨雪等特殊情况下需要临时限速时,需要列车调度员发布临时限速命令,通过设备控制列车以安全的速度通过限速区域。正常情况下,调度中心的调度员在CTC(Centralized Traffic Control,调度集中)系统的终端上输入临时限速命令参数信息,确认后生成临时限速调度命令,下发给TSRS(Temporary SpeedRestriction Server,临时限速服务器)进行有效性校验。TSRS校验成功后,将临时限速调度命令存入待执行列表中,并向CTC系统返回校验成功。RBC(Radio Block Center,无线闭塞中心)在计划时间内收到临时限速信息,并通过GSM-R(GSM for Railway,铁路专用移动通信)系统的电路域,即CSD(Circuit-switched Data,电路交换数据)业务,将由列车控制信息和联锁信息生成的MA(Movement Authority,行车许可)信息送到列车上,列车通过车载ATP处理MA信息,生成列车安全制动曲线,车载ATO根据车载ATP提供的数据,进一步生成最优的列车速度控制曲线,确保列车在限速区段安全可靠运行。同时,限速命令通过DMI(Driver Machine Interface,人机界面)向司机显示目标距离、允许速度等信息。在CTCS-3故障降级情况下,TSRS校验成功后,调度员将临时限速命令下达给TCC(Train ControlCenter,列车控制中心),TCC通过应答器将限速命令传送给列车,使列车在限速区段限速运行[10]。此外,智能高速铁路车载ATO与TSRS之间通过GSM-R系统的GPRS(General PacketRadio Service,通用分组无线业务)技术实现ATO行车计划下达、车门与站台安全门之间的联动控制等功能。
1.2、故障注入类型描述
为了方便描述,按照临时限速命令下达的顺序以及信息传递过程,从设备、功能和数据通信三个方面分析各设备故障现象。CTCS限速命令拟定与执行中主要涉及到的设备有CTC行车调度台、TSRS、RBC、车载设备,降级的情况下还涉及到TCC和应答器。
将每个具体的设备故障抽象为一个代码,形成CTCS故障注入元素表,如表1和表2所示。函数F1-F6表示涉及临时限速命令的设备,fi(a)表示第i个设备按顺序排列的第a个故障。
表1智能高速铁路CTCS故障注入元素表
表2降级情况下CTCS故障注入元素表
2、组合测试约束满足模型建立
采用故障注入的方法对CTCS进行组合测试时,由于故障设备间存在大量约束条件,在生成测试用例的过程中会产生无效测试用例,无法用于实际测试,因此为满足这些约束条件,本发明建立了CTCS故障注入约束满足模型。
2.1、组合测试相关定义
为了更好的利用组合测试深入研究CTCS的多故障注入情况,给出组合测试相关定义如下,其中定义1至定义4已在文献[11]中定义。
(1)覆盖表:CA(N,t,k,v,C)在组合测试中使用CA(Covering Arrays,覆盖表)表示一个N×k的矩阵。其中,N为测试用例集大小,t为覆盖维度,k为参数个数,v为参数取值,C为约束条件。CA(N;t,|V1|,|V2|,…,|Vk|)表示混合覆盖表,CA(N;t,|Vi|k)表示水平覆盖表。
(2)测试用例:n元组[v1,…,vi,…,vn]为SUT(System Under Test,待测系统)的一条测试用例,CTCS的测试用例是从F1-Fn各取一个参数,可表示为[f1(a),f2(a),…,fi(a),…,fn(a)]。
(3)t-way覆盖表:在覆盖表中,若元素vi和元素vj的二元有序对至少出现一次,则该覆盖表被称为2-way覆盖表;同理,t-way覆盖表则表示在该表中覆盖t个参数的取值组合至少出现一次。
(4)k值模式:在组合测试用例集中,[v1,-,…,vi,-,…,vk]被称为k值模式,vi表示参数Vi中的固定值,“-”表示其对应参数可以取任意值。当k=n时,k值模式自身就是一个测试用例。
(5)禁止元组:为满足约束条件,禁止在测试用例中出现的k值模式。如禁止元组{(a,b)|(1,2)}表示参数a和b的取值组合(1,2)禁止出现在同一测试用例中。
(6)必需元组:表示当某些参数的取值满足一定条件时,其他参数必须选取特定的值。如必需元组{a|1}→{b|2}表示当参数a的取值为1时,参数b的取值必须为2。
(7)屏蔽元组:表示当某些参数的取值满足一定条件时,其他一些参数被屏蔽,不再出现在场景中。如屏蔽约束{a|3}→{c}表示当参数a的取值为3时,参数c被屏蔽。
(8)约束满足数组:测试用例生成过程中,满足约束条件的n元组。
2.2、约束满足模型
由于测试环境等条件限制,组合测试模型往往是有缺陷的,参数之间存在不可忽略的约束[12]。依据CTCS结构特点,总结了临时限速场景下故障注入测试时存在的约束,如表3所示。
表3CTCS组合测试故障约束
为了避免CTCS设备之间信息传递过程中故障耦合关系对测试用例生成产生严重影响,设置禁止元组,如{F2,F6|(f2(5),f6(5))},表示修改临时限速数据和EBI曲线计算错误不能同时出现,由于两者之间存在耦合作用,临时限速数据变化会影响EBI曲线的生成。考虑CTCS降级运行,设置必须元组,如{F3|f3(2)}→{F7,F8},表示因ISDN服务器故障导致CTCS降级运行时,需检查TCC和应答器传输系统的设备状态。此外,为了提升测试用例生成效率,设置屏蔽元组,如{F5|f5(4)}→{F3},表示当因GSM-R故障导致CTCS降级运行时,主要采用TCC和应答器传输系统实现车地通信,因此无需检查RBC设备状态。
对于CTCS临时限速场景下的约束问题,将fi(a)和v视为变量,建立约束满足模型如下:
fi(a)∈Fj,a∈v (1)
约束(1)和约束(2)表示在一条测试用例里每个故障类型只能选择一个,约束(3)表示设备故障fi(a)的逻辑约束必须满足才能够执行,约束(4)表示fj(a)只能在fi(a)后执行。
3、CTCS测试用例生成方法
在CTCS测试用例生成过程中,结合临时限速场景的具体情况,通过故障注入元素表得到测试用例集。带有约束组合的测试用例生成方法如图2所示。
该方法共分为初始化、CTCS约束满足数组生成和测试用例约简三个阶段。第一阶段分析临时限速场景设备的故障特征,设置故障注入参数并提取参数间的约束关系,第二阶段通过构建输入参数约束模型,生成约束满足数组,以降低后续算法的搜索空间。第三阶段的约简目标为测试用例的数量,利用改进的禁忌算法,得到满足约束关系下约简后的测试用例。
3.1、约束满足数组生成
对于覆盖表的约束处理策略目前有四种方法,分别为综合模型法、子模型法、替换法和选择排除法[13]。其中,选择排除法在生成测试用例的过程中检查参数的约束一致性,这种策略虽然原理简单,但是更适用于每次只生成一个取值的情况。本发明使用避免约束的方法对选择排除法进行改进,每次生成一条测试用例,添加到测试用例集中,直到所有组合被全部覆盖为止。此种方法虽然会使测试用例的数量增多,但生成时间短,在实际应用中更加具有可行性。
测试过程考虑到禁止元组、必需元组和屏蔽元组对测试用例的影响,按照优先考虑必需元组,其次考虑禁止元组,最后考虑屏蔽元组的原则,移除不满足需求的测试用例,算法伪代码如图3所示。
在约束求解阶段,不苛求测试用例数量,而是侧重于在可接受时间内搜索足够较优的可行解。CTCS约束满足数组生成伪代码主要包括3个步骤:1-3行初始化数组,并且生成前t个参数的全约束组合;4-7行检查生成的数组是否满足约束需求,若不满足需求则删除该参数;8-18行表示在全约束组合中添加新参数时,将涉及的约束组合降序排列,即将未被覆盖的参数fi+1(a),加入到i元组[f1(a),…,fi(a)]中,生成新的i+1元组,若该组合中未被覆盖的t-way模式数量最多,则优先选择该参数。同时,对生成的数组进行约束检查,若满足条件则保留该参数,并且添加新参数直到所有参数都被遍历,生成新的测试用例集。
约束满足数组的生成不仅为CTCS之间的约束关系提供了通用的描述方法,同时也为测试用例的设计与约简提供了条件。
3.2、禁忌搜索算法改进
针对CTCS临时限速场景,不考虑各个故障发生的时间顺序,则组合空间为45×52×7=179200,即需要179200条测试用例。分析实际测试情况,引入TS算法可减少计算量,缩小测试用例的数目,从而降低测试成本。
TS算法从一个初始可行解出发,向特定方向搜索,选择让目标函数值变化最多的移动。为了避免陷入局部最优解,TS采用禁忌表记录已经进行的约简过程,指导下一步的搜索方向[14]。然而,在CTCS大规模的搜索空间还存在初始解质量低、约束致使产生无效测试用例等情况,同时,禁忌表长度固定也会影响算法效率,因此需要对TS算法改进,简称为TS-C(Tabu Search with Constraint,具有约束关系的禁忌搜索)算法。该算法通过贪心策略构造初始解,在保证覆盖强度的情况下,使其通过约束满足数组得到满足约束的邻域解,并在迭代过程中检验数组替换的可行性,算法伪代码如图4所示。
TS-C算法伪代码主要包括4个步骤:1-3行初始化数组,生成初始解,4-23行为算法的主体;4-8行选择邻域A1中移动代价最小的数组,9-16行判断禁忌表中的数组是否满足特赦准则,若满足则解禁,17-23行通过修改参数改变原始数组,如果最终解A中包含的未被覆盖数组的数量小于中间解A2,则更新测试用例集和禁忌表,直到生成最终测试用例。
该算法主要包含初始解、禁忌表、邻域解、特赦准则和终止条件5部分。
(1)初始解
初始解的优劣影响禁忌搜索算法的性能,较优的初始解可以显著提高最终解的质量。矩阵的第一行即CTCS故障注入测试的第一条测试用例随机生成,然后基于贪心策略生成初始解。
(2)禁忌表
TS算法的核心思想是利用禁忌表封锁被禁止的移动来防止迂回搜索,同时为了防止陷入局部最优,经过一定迭代次数后的禁忌解可被解禁。本发明采用动态禁忌长度,设置初始禁忌长度Li=9000,若测试用例中某一元素的修改使其回到最近9000步搜索过的任一测试用例,则禁止该修改;若修改后的解优于当前解,则增加禁忌长度。
(3)邻域解
在禁忌搜索算法中,初始解通过移动产生新解,所有的移动构成邻域。邻域结构与算法的局部搜索能力有关,因此,邻域结构的设计是决定禁忌搜索算法性能优劣的关键。使用表3约束满足算法生成满足约束的邻域解,选择参数新值,并将其未被覆盖组合的数量降序排列,其中,计算覆盖新的t元组的所有移动,选择最小移动代价yi修改。
(4)特赦准则
在算法搜索过程中,若当前邻域中的被禁移动将产生历史最好解,即数组覆盖的t-way组合比未被禁忌移动的覆盖数组多时破禁。
(5)终止条件
使用最大迭代步数作为停止准则,实验表明,最大迭代步数与t、v、k相关,参考文献[15]的参数调优结果,设置最大迭代次数为Min(N×k×vmax×30,1000000)。
以临时限速场景2-way组合为例,分析CTCS测试用例生成过程,如图5所示。首先,通过贪心算法生成初始解A0,A0的每一行都代表一条测试用例,如第1行测试用例为{CTC应用服务器故障,TSRS服务器故障,ISDN服务器故障,路由器配置错误,BSC接口故障,ATO单元故障,TCC安全计算机故障,应答器组故障}。然后,在邻域A1选择移动代价最小的数组形成中间解A2,同时将此参数变化添加到禁忌表中,“102→103”表示在不满足特赦准则的情况下,9000步内禁止数据库服务器主备机信息不同步转变为无线调度命令无法下达。最后,生成临时限速场景下的最终解A,共生成36条测试用例。
4、实验及结果分析
为了充分验证所提算法的有效性,依托兰州交通大学“国家级轨道交通信息与控制虚拟仿真实验教学中心”,利用京张智能高速铁路CTCS仿真平台,结合现场线路数据和实际设备信息,使用TS-C算法,生成满足输入特征的测试用例,同时,与其他方法对比,验证所提算法的有效性。
CTCS仿真平台在Windows系统中运行,使用虚拟机技术实现与仿真软件运行环境的隔离,保证仿真平台各个子系统的独立性。CTCS仿真平台主要包含智能CTC、TSRS、RBC、联锁、车载ATP、车载ATO等。CTCS仿真平台将实时信号送到故障注入仿真模块,数据采集单元将当前状态反映到故障注入操作界面,测试人员从操作界面下达故障注入指令,通过故障信号生成器,将故障信号注入到待测系统中,CTCS仿真平台架构如图6所示。对于表1中的故障类型,部分故障可通过改变设备的工作状态来模拟故障现象,如维护终端故障、基站收发台故障等;部分故障需在故障注入操作界面中输入错误参数,通过程序接口将故障数据发送到CTCS仿真平台的相关仿真模块,如应答器报文错误。
4.1、测试用例生成结果
临时限速场景下,覆盖数组CA(N,t,45527)引入约束前与引入约束后测试用例生成结果对比如表4所示。
表4CTCS测试用例生成结果分析
结果表明,测试用例生成个数与覆盖组合明显减少,t=2、t=3、t=4时生成的测试用例分别比加约束前少了7.6%、6.9%和4.5%,引入约束后测试用例平均减少了5.04%。在利用TS-C算法生成测试用例集的过程中,引入约束削减了无效组合,使最终生成的测试用例集规模减小。因此,生成测试用例时,考虑输入参数之间的约束关系能够精简测试用例。
4.2、测试用例约简能力分析
选择水平覆盖表和混合覆盖表验证所提算法的测试用例约简能力,水平覆盖表用例规模表如表5所示,来源于Charlie Colbourm维护的覆盖表网站(http://www.public.asu.edu/~ccolbou/src/tabby/catable.html)。混合覆盖表用例规模表如表6中所示,来源于文献[16],CTCS各设备故障类型不同,因此,临时限速场景下测试用例规模情况与混合覆盖表相似。
表5水平覆盖表用例规模表
表6混合覆盖表用例规模表
将本发明所提算法与主流工具算法IPOG(In Parameter Order General,一般参数序)、IPOG-F、mAETG(Automatic Efficient Test Generator,自动高效测试用例生成器)以及TS算法进行比较。其中IPOG及IPOG-F是来自美国NIST(National Institute ofStandards and Technology,国家标准与技术研究院)的测试用例生成工具ACTS 3.0的方法,mAETG是来自美国贝尔实验室Cohen等提出一种测试数据启发式生成工具中的方法。不同覆盖维度下的测试用例数量生成情况如图7所示。
由水平覆盖表图7(a)和图7(b)可得,在覆盖维度较低、参数较少时,本发明算法与其他算法相比,生成的测试用例数量相差不大;对于CA(N,t,320),当t=2时,采用mAETG、IPOG、IPOG-F、TS和TS-C算法生成的测试用例数量分别为24、24、22、15和15;当覆盖维度较大、参数较多时,与其他算法相比,TS-C算法生成的测试用例数量明显减少;对于CA(N,t,79),当t=3时,采用mAETG、IPOG、IPOG-F、TS和TS-C算法生成的测试用例数量分别为802、780、711、636和589。混合覆盖表生成的测试用例如图7(c)所示,其中,对于S1、S2和S3,t=2;对于S4、S5和S6,t=3。与其他算法相比,采用TS-C算法生成S1~S6的测试用例比mAETG、IPOG、IPOG-F、TS算法分别减少0、4.6%、5.7%、7.2%和6.1%。由此可得,随着覆盖维度增大、参数增多,即当CTCS测试设备数量较多时,TS-C算法相比其他算法生成的测试用例数量明显减少。
4.3、故障检测能力分析
为了评估TS-C算法生成测试用例的有效性,使用组合覆盖率对测试用例的故障检测能力进行比较。组合覆盖率可以科学地衡量一个测试用例集的故障检测能力,可以为质量评估提供重要的依据。测试用例集的组合覆盖率c如式(5)。
式中,表示T中包含的τ值模式,ti(τ)表示ti中包含所有τ值模式的集合,SUT(τ)表示SUT中包含的应该检测τ值模式的集合。覆盖t-way值模式越多,c(τ)越大,测试用例的故障检测能力越强。对于临时限速场景下的覆盖数组CA(N,t,45527),由表5可知,t=2、t=3和t=4时,T(τ)分别为587、5414、22167,SUT(τ)分别为595、5435、22752。分别计算5种方法生成的测试用例集的c(τ)。结合CTCS安全性高的特点,对2-way组合、3-way组合和4-way组合的覆盖率进行对比,结果如图8所示。
测试用例数量相同的情况下,分别计算5种测试方法在不同覆盖维度下的覆盖率。由图8可得,在t=2、3、4时(对应图8a、8b、8c),使用随机测试的c(τ)分别为94%、88%、85%,使用自适应随机测试的c(τ)分别为98%、94%、92%,均小于使用组合测试时的覆盖率。在使用组合测试的三种算法中,IPOG算法达到覆盖率100%时使用的测试用例数量分别为65、250、1304,TS算法达到覆盖率100%时使用的测试用例数量分别为39、229、1082,TS-C算法在测试用例为36、213、1033时,其覆盖率达到稳定值99%、99%、97%,比随机测试和自适应随机测试平均高9.5%和3.7%,使用TS-C算法在保证CTCS故障检测能力的情况下,更节约测试成本,因此更适用于CTCS故障注入的测试用例的生成。
5、结论
为了验证对CTCS多故障注入组合测试时,各设备间存在约束的情况下,系统仍能够有效的生成测试用例,本发明构建了临时限速场景约束满足模型,利用改进的禁忌搜索算法生成测试用例,最终得到如下结论。
(1)本发明对CTCS临时限速场景的设备进行分类,将设备故障作为测试参数,分析参数组合间的约束关系,得到该场景下的约束满足模型,该模型为CTCS约束关系提供了通用描述方法。
(2)增加约束条件后,改进禁忌搜索算法的初始解生成方式与邻域移动方式,能够有效减少无效测试用例的产生。使用京张智能高速铁路仿真平台验证本发明所提方法,测试用例比增加约束前中在覆盖维度为2、3和4时分别减少了7.6%、6.9%和4.5%。
(3)通过与IPOG算法、IPOG-F算法、mAETG算法和TS算法对比,本发明所提算法测试用例约简能力和故障检测能力更高,可有效降低CTCS故障注入组合测试成本、提高测试效率。
该研究成果对高速铁路CTCS安全性验证及系统约简可提供一定参考,后续研究将拓展到CTCS的其他运营场景,并考虑故障工况仿真过程。
本发明参考文献:
[1]ARRIETA A,SAGARDUI G,ETXEBERRIA L,et al.Automatic Generation ofTest System Instances for Configurable Cyber-physical Systems[J].SoftwareQuality Journal,2017,25(3):1041-1083.
[2]SHU H,LV H,LIU K,et al.Test Scenarios Construction Based onCombinatorial Testing Strategy for Automated Vehicles[J].IEEE Access,2021,9:115019-115029.
[3]赵通,上官伟,柴琳果,等.车路协同混合交通场景要素解析与测试案例生成[J].交通运输工程学报,2022,22(03):263-276.
[4]饶畅,郭进,张亚东,等.CTCS-2级列控车载ATP组合测试用例集生成方法[J].铁道学报,2020,42(11):110-117.
[5]ZHANG Y P,ZHAO Y L,MENG N.A Method of Fault Localization forChinese Train Control Systems Based on Relationship Matrix with FrequentTerms[J].IEEJ Transactions on Electrical and Electronic Engineering,2022,17(6):823-832.
[6]ZHANG D,CAI S,YE F,et al.A Hybrid Algorithm for A Vehicle RoutingProblem with Realistic Constraints[J].Information Sciences,2017,394-395:167-182.
[7]KUNG L C,LIAO Z Y.Optimization for a Joint Predictive Maintenanceand Job Scheduling Problem with Endogenous Yield Rates[J].IEEE Transactionson Automation Science and Engineering,2022,1-12.
[8]ZAMLI K Z,DIN F,KENDALL G,et al.An Experimental Study of Hyper-Heuristic Selection and Acceptance Mechanism for Combinatorial T-way TestSuite Generation[J].Information Sciences,2017,399(2017):121-153.
[9]国家铁路局.TB/T3530-2018.CTCS-3级列车运行控制系统系统需求规范[S].北京:中国铁道出版社,2019.
[10]颜罡,赵斐然,叶锋,吴俊博,游科友.基于元强化学习的自动列车定速控制[J/OL].控制理论与应用.https://kns.cnki.net/kcms/detail/44.1240.tp.20220216.1729.016.html.
[11]国家市场监督管理总局,中国国家标准化管理委员会.GB/T38639-2020.系统与软件工程—组合测试方法[S].北京:中国标准出版社,2020.
[12]GOUDA R,V.C,Optimization Driven Constraints Handling in Combinatorial Interaction Testing[J].International Journal of Open SourceSoftwa re and Processes,2019,10(3):19-37.
[13]TSAI W T,QI G.Combinatorial Testing in Cloud Computing[M].Berlin:SPINGER,2017:27-42.
[14]Xue X,Chen J.Using Compact Evolutionary Tabu Search Algorith mfor Matching Sensor Ontologies[J].Swarm And Evolutionary Computation,2019,48:25-30.
[15]王燕,聂长海,钮鑫涛,等.覆盖表生成的禁忌算法[J].软件学报,2018,29(12):3665-3691.
[16]ESFANDYARI S,RAFE V.A Tuned Version Of Genetic Algorith m ForEfficient Test Suite Generation In Interactive T-Way Testing Strategy[J].Information And Software Technology,2018,94:165-185.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于禁忌搜索的列车运行控制系统测试用例生成方法,其特征在于,该方法包括以下步骤:
S1、提取临时限速场景的设备故障特征作为故障注入输入参数,分析设备间的约束关系,建立约束满足模型;
S2、依据信号设备的特点,改进禁忌搜索算法的初始解生成方式和邻域搜索过程,生成满足约束关系的测试用例。
2.如权利要求1所述的方法,其特征在于,在步骤S1中,依据CTCS结构特点总结临时限速场景下故障注入测试时存在的约束。
3.如权利要求2所述的方法,其特征在于,所述约束包括:
禁止元组,用于表示在测试用例中不能同时出现的故障类型,如修改临时限速数据和EBI曲线计算错误不能同时出现;
必须元组,用于表示测试用例中必须同时出现故障类型,如因ISDN服务器故障导致CTCS降级运行时,需检查TCC和应答器传输系统的设备状态;
屏蔽元组,用于表示某些故障类型会屏蔽另一些故障类型,如当因GSM-R故障导致CTCS降级运行时,主要采用TCC和应答器传输系统实现车地通信。
4.如权利要求3所述的方法,其特征在于,在步骤S1中,所述约束满足模型为:
fi(a)∈Fj,a∈v (1)
式中,v为参数取值,fi(a)表示第i个设备按顺序排列的第a个故障,Fj表示第j种设备类型;
约束(1)和约束(2)表示在一条测试用例里每个设备的故障类型只能选择一个,约束(3)表示设备故障fi(a)的逻辑约束必须满足才能够执行,约束(4)表示fj(a)只能在fi(a)后执行。
5.如权利要求4所述的方法,其特征在于,在步骤S2中,所述满足约束关系的测试用例的生成过程包括以下步骤:
初始化,用于分析临时限速场景设备的故障特征,设置故障注入参数并提取参数间的约束关系;
CTCS约束满足数组生成,用于通过构建输入参数约束模型,生成约束满足数组,以降低后续算法的搜索空间;
测试用例约简,用于约简测试用例的数量,利用改进的禁忌算法,得到满足约束关系下约简后的测试用例。
6.如权利要求5所述的方法,其特征在于,在生成约束满足数组的覆盖表的约束处理中,使用避免约束的方法对选择排除法进行改进,每次生成一条测试用例,添加到测试用例集中,直到所有组合被全部覆盖为止。
7.如权利要求5所述的方法,其特征在于,在生成约束满足数组的测试过程中,按照优先考虑必需元组,其次考虑禁止元组,最后考虑屏蔽元组的原则,移除不满足需求的测试用例。
8.如权利要求5所述的方法,其特征在于,所述改进的禁忌算法具体为:通过贪心策略构造初始解,在保证覆盖强度的情况下,使其通过约束满足数组得到满足约束的邻域解,并在迭代过程中检验数组替换的可行性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394843.3A CN117056199B (zh) | 2023-04-13 | 2023-04-13 | 一种基于禁忌搜索的列车运行控制系统测试用例生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394843.3A CN117056199B (zh) | 2023-04-13 | 2023-04-13 | 一种基于禁忌搜索的列车运行控制系统测试用例生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056199A true CN117056199A (zh) | 2023-11-14 |
CN117056199B CN117056199B (zh) | 2024-10-18 |
Family
ID=88668060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310394843.3A Active CN117056199B (zh) | 2023-04-13 | 2023-04-13 | 一种基于禁忌搜索的列车运行控制系统测试用例生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056199B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135937A (zh) * | 2011-03-15 | 2011-07-27 | 西安邮电学院 | 一种两两覆盖组合软件测试用例集生成方法 |
CN107368408A (zh) * | 2017-05-31 | 2017-11-21 | 中国船舶工业综合技术经济研究院 | 一种面向接口的软件故障注入自动化测试方法 |
US20200064444A1 (en) * | 2015-07-17 | 2020-02-27 | Origin Wireless, Inc. | Method, apparatus, and system for human identification based on human radio biometric information |
CN111934948A (zh) * | 2020-07-20 | 2020-11-13 | 浙江理工大学 | 基于蒙特卡洛树搜索的efsm可执行测试序列生成方法 |
CN113572500A (zh) * | 2021-06-25 | 2021-10-29 | 西安电子科技大学 | 一种混合贪婪和禁忌搜索策略的noma多用户检测算法 |
-
2023
- 2023-04-13 CN CN202310394843.3A patent/CN117056199B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135937A (zh) * | 2011-03-15 | 2011-07-27 | 西安邮电学院 | 一种两两覆盖组合软件测试用例集生成方法 |
US20200064444A1 (en) * | 2015-07-17 | 2020-02-27 | Origin Wireless, Inc. | Method, apparatus, and system for human identification based on human radio biometric information |
CN107368408A (zh) * | 2017-05-31 | 2017-11-21 | 中国船舶工业综合技术经济研究院 | 一种面向接口的软件故障注入自动化测试方法 |
CN111934948A (zh) * | 2020-07-20 | 2020-11-13 | 浙江理工大学 | 基于蒙特卡洛树搜索的efsm可执行测试序列生成方法 |
CN113572500A (zh) * | 2021-06-25 | 2021-10-29 | 西安电子科技大学 | 一种混合贪婪和禁忌搜索策略的noma多用户检测算法 |
Also Published As
Publication number | Publication date |
---|---|
CN117056199B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lijie et al. | Verification of the safety communication protocol in train control system using colored Petri net | |
CN106802862A (zh) | 列车运行控制系统安全关键软件自动测试平台 | |
CN103955556A (zh) | 高速铁路列车运行控制车载系统故障逻辑建模方法 | |
CN113326040B (zh) | 一种轨道交通联锁系统的开发与实现方法 | |
Cheng et al. | Model-based verification method for solving the parameter uncertainty in the train control system | |
Du et al. | Finding diverse failure scenarios in autonomous systems using adaptive stress testing | |
CN105678022B (zh) | 面向方面的联锁系统安全需求形式化建模及验证方法 | |
Lan et al. | Crucial states estimation in radio block center handover using Petri nets with unobservable transitions | |
CN117056199B (zh) | 一种基于禁忌搜索的列车运行控制系统测试用例生成方法 | |
Hong et al. | Fuzzing digital twin with graphical visualization of electronic AVs provable test for consumer safety | |
Gao et al. | A dynamic fault tree based CBTC onboard ATP system safety analysis method | |
CN116633787A (zh) | 一种双系统通信形式化设计与验证方法 | |
CN103888460A (zh) | 基于状态空间搜索的控制器局域网协议验证方法 | |
Cheng et al. | Intelligent quantitative safety monitoring approach for ATP using LSSVM and probabilistic model checking considering imperfect fault coverage | |
Huang et al. | A novel method on probability evaluation of ZC handover scenario based on SMC | |
CN109492689A (zh) | 一种电动汽车故障诊断方法 | |
Si et al. | A method of generating engineering test sequence for urban rail transit CBTC system based on formalization | |
Zhang et al. | Mutation model-based test case generation of chinese train control system with automatic train operation function | |
Xiaorong et al. | Research on intelligent network auto software testing technology | |
Yang et al. | Modeling and verification of train departure scenario for next generation train control system | |
Zhang et al. | Modeling and Verification of Radio Broadcast Communication Scenario for CTCS-3 High-Speed Railway Circuity System | |
Li et al. | Model-based generation of safety test-cases for Onboard systems | |
Cheng et al. | Intelligent quantitative safety monitoring approach for ATP system by neural computing and probabilistic model checking | |
Zhang et al. | Simulation of CTCS-3 protocol with temporal logic programming | |
CN106850270B (zh) | 一种iec61850关键逻辑节点辨识方法 |
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 |