基于关键位置抽取与随机位置融合的cbtc场景测试方法
技术领域
1.本发明涉及铁路系统运检测试技术领域,具体的,涉及基于关键位置抽取与随机位置融合的cbtc场景测试方法。
背景技术:2.目前的cbtc系统测试用例自动生成算法多为面向代码层的白盒测试方法和基于模型的黑盒测试方法。白盒测试方法主要通过基于符号执行的自动测试技术,核心技术通过程序插桩、路径探索、约束传播和约束求解,发现在cbtc系统软件的代码错误。基于模型的黑盒测试方法主要将需求规格书抽象成模型,再通过抽象出的模型的路径搜索生成相应的测试用例,并根据不同的建模语言在特定工具中执行测试,将运行结果与预期结果进行比较。
3.基于符号执行的自动测试技术主要用于cbtc系统开发阶段代码可获取的静态、动态测试、回归测试。基于模型的测试用例自动生成技术主要是对开发早期对cbtc系统的功能验证方面,且需要专用的测试工具,测试人员需要对系统非常熟悉,当功能复杂时通过搜索路径实现测试用例,常常产生路径不可达或者状态空间爆炸情况,还无法适用于测试功能复杂的工程测试系统,导致面向工程验收的测试大量依靠人工来进行测试用例编写,同时测试用例执行过程,带有随机性无法实现根据精确的列车所在位置来操作测试用例。
技术实现要素:4.本发明基于关键位置抽取与随机位置融合的cbtc场景测试方法应用于cbtc系统的工程测试,通过对cbtc系统的控制关键特征进行抽取,结合场景测试的随机特性生成匹配特定位置的测试用例,寻找最优的随机场景注入时机,能够大量消减非必要测试用例量,显著提高cbtc系统的测试效率。
5.为实现上述技术目的,本发明提供的一种技术方案是,基于关键位置抽取与随机位置融合的cbtc场景测试方法,包括如下步骤:将参与cbtc系统速度控制各因素xi分别设定相应的权重值θi;将影响cbtc系统速度控制的频度与广度作为参与cbtc系统控制的评价函数s;提取列车轨道的组成因素构建轨道数据库,根据各公里标轨道线路所包含的权重值信息,通过公里标的l距离内列车控制触发因素的加权值计算评价函数s数值,并结合各线路位置点的权重值形成多维曲线图;将多维曲线图的峰值点划分为若干位置类型,采用随机取样算法对位置集合d进行扩充后得到随机位置类,将随机位置类作为列车控制测试场景的注入时机;采用启发式搜索算法对测试用例进行训练得到最优组合测试用例集,所述最优组合测试用例作为并发场景测试用例;在列车自动跑圈测试过程中,当列车行驶至取值位置点时,自动加载并发场景测试用例对与cbtc系统进行场景测试。
6.作为优选,l距离内参与控制因素xi的加权值m作为参与cbtc系统速度控制的评价函数s,公式如下:其中,m=θ1x1+θ2x2+
…
+θixi+
…
+θ8x8。
7.作为优选,多维曲线图中三维曲线表征列车真实行驶路线,x轴表示由西向东方向,y轴表示由南向北方向,z坐标为高度,曲线线路的高低表征坡度。
8.作为优选,位置类型包括但不限于:道岔侧股区位置类型、直通高速点位置类型、入站点位置类型,出站点位置类型、站台停车点位置类型、zc交接区位置类型、折返点位置类型以及弯道区域位置类型。
9.作为优选,随机取样算法包括kennard-stone算法、分层抽样发、蒙特卡洛随机抽样法的一种。
10.作为优选,采用kennard-stone算法对位置集合d进行扩充,包括如下步骤:依据目标控制曲线所提取的关键控制点,利用等价分类法对全线关键控制点按照位置类型进行等价分类经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值;将所有关键控制位置抽取的若干位置类别数据作为位置全集u,耦合控制位置要素的集合a作为初始的训练样本集;集合c为集合d在全集u中的补集c=cud,从c集合中选取距离a集合中各数据的最小距离中的最大距离作为集合d的扩充数据对集合d进行持续扩充得到集合d0;同步扩充集合a得到集合a0;并将集合a0取值位置点作为随机场景注入时机。
11.作为优选,所述将多维曲线图的峰值点划分为若干位置类型,采用随机取样算法对位置集合d进行扩充后得到随机位置类,将随机位置类作为列车控制测试场景的注入时机,包括如下步骤:将多维曲线图的峰值点与列车轨道线路平面图的布置属性进行匹配,依据等价分类方法将轨道数据参与控制的峰值点划分为若干位置类型,得到cbtc系统控制参数与位置的曲线;采用随机取样算法对位置集合d进行扩充,获取列车所行驶的不同位置集合d0的位置取值集合v0,取值位置点作为随机位置类,将随机位置类作为列车控制测试场景的注入时机。
12.作为优选,采用启发式搜索算法对测试用例进行训练得到最优组合测试用例集,包括:输入cbtc系统测试场景的参数取值集合t和覆盖强度t;按照覆盖强度t,对参数取值进行组合配对,生成待覆盖的组合表;利用启发式算法生成测试用例;根据待覆盖表是否覆盖完全,每一次生成覆盖组合数最多的一条用例作为该位置点对应的最佳用例;利用粒子群算法持续搜寻得到测试用例集合,测试用例集合作为最优组合测试用例集。
13.作为优选,所述启发式搜索算法包括遗传算法、蚁群算法、模拟退火、禁忌算法、粒
子群算法的一种。
14.本发明的有益效果:本发明基于关键位置抽取与随机位置融合的cbtc场景测试方法应用于cbtc系统的工程测试,通过对cbtc系统的控制关键特征进行抽取,结合场景测试的随机特性生成匹配特定位置的测试用例,考虑参与列车控制的因素,寻找最优的随机场景注入时机,能够大量消减非必要测试用例量,显著提高cbtc系统的测试效率。
附图说明
15.图1为本发明的基于关键位置抽取与随机位置融合的cbtc场景测试方法流程图。
16.图2为轨道数据库的数据构建结构图。
17.图3为行车路线上行位置点权重值对应的多维曲线图。
18.图4为行车路线上行位置点权重值对应的多维曲线图。
19.图5为列车跑圈测试图。
20.图6为粒子群算法生成测试用例算法框架图。
21.图7加载测试用例流程图。
具体实施方式
22.为使本发明的目的、技术方案以及优点更加清楚明白,下面结合附图和实施例对本发明作进一步详细说明,应当理解的是,此处所描述的具体实施方式仅是本发明的一种最佳实施例,仅用以解释本发明,并不限定本发明的保护范围,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.实施例:如图1所示,基于关键位置抽取与随机位置融合的cbtc场景测试方法流程图,包括如下步骤:将参与cbtc系统速度控制各因素xi分别设定相应的权重值θi,权重值θi根据线路因素的取值范围进行线性插值、二次插值及三次样条曲线插值。
24.cbtc系统是高安全苛求系统,常常通过大量的完备测试确保cbtc系统高质量交付。然而对cbtc系统进行自动化测试过程中,无论是自动化测试还是手工测试都无法精确地寻找到最佳的测试时机。其实列车在轨道线路运行的过程是周期性地获取移动授权并周期性进行速度-距离曲线计算的追踪预期速度运动的过程,同时还需随机接受远程ats的运营操作场景控制及随机进行故障场景防护,确保系统安全地按照ats设定列车时刻表运行。为寻找最优的随机场景注入时机,需详细分析参与列车控制的因素,经分析cbtc系统控制列车运行除自身的列车控制算法之外,还受到以下八种因素影响,见表1。
25.表1为列车运行影响因素表。
26.将影响cbtc系统速度控制的频度与广度作为参与cbtc系统控制的评价函数s;s数字越大,说明cbtc系统在特定时间内同时调用的软件功能越多,对cbtc软件的测试就越充分,也越容易发现问题。
27.提取列车轨道的组成因素构建轨道数据库,根据各公里标轨道线路所包含的权重值信息,计算所在公里标的l距离,计算评价函数s数值,并结合各线路位置点的权重值形成多维曲线图。
28.列车运行过程中每个周期信标时刻都在参与列车速度的运算,轨旁计轴、道岔、信号机以移动授权形式在每个周期参与列车的速度计算,所以将信标、计轴、道岔、信号机作为场景测试的取样序列。同时定义θ为列车行进过程中各参数参与信号系统控制权重值,考虑到通讯具有一定的延时性及位置精度的误差,取一定l距离内参与控制因素的加权值m作为参与cbtc系统速度控制的评价函数s,其中l为可配置项:m=θ1x1+θ2x2+
…
+θixi+
…
+θ8x8列车轨道复杂,为便于列车控制,通常采用轨道数据库来表示由道岔区域、弯道曲率、基础数据、限速、坡度、停车点等因素组成。
29.如图2所示为轨道数据库的数据构建结构图,其中,道岔区域包括有设备名、定位通过限速、反位通过限速、行车方向;弯道曲率包括:开始工务里程标、结束工务里程标、曲率半径、行车方向;基础数据包括:名称、线号名、工务里程标、类型;限速包括:开始工务里程标、结束工务里程标、限速值、线号名;坡度包括:开始工务里程标、结束工务里程标、坡度值(0.1/1000m)、线号名;停车点包括设备名、线号名、基准设备、间距。
30.生成轨道线路与列车控制系统控制权重的多维曲线图,如图3和4所示,其中多维曲线图中三维曲线表征列车真实行驶路线,x轴表示由西向东方向,y轴表示由南向北方向,z坐标为高度,即曲线的线路的高低变化表征坡度。线路的控制权重值以颜色来区分,可采用标准的颜色或者rgb颜色来设定,设定某个颜色为控制权重的下限,某个颜色为控制权重至的上限,中间为过度色,通过颜色标尺的标识便于测试人员观测列车某个行驶点参与控制的频度与广度,从而进行人工决策。
31.将多维曲线图的峰值点与列车轨道线路平面图的布置属性进行匹配,依据等价分类方法将轨道数据参与控制的因素峰值点划分为八种位置类型,道岔侧股区位置类型、直通高速点位置类型、入站点位置类型,出站点位置类型、站台停车点位置类型、zc交接区位置类型、折返点位置类型、弯道区域位置类型。当某个位置点属于多个位置类型时,根据专家决策优先级判断标准,确定其属于哪种类性。
32.具体的,如图5所示,假设列车出发点位于折返点a点,按依据上、下行方向行驶的拓扑关系为,经由转辙机行驶至道岔侧股区b点位置;列车根据相应区段限速和弯道曲率信息,调整行车速度继续向前行驶;根据站台前c点信号机指示,经过入站区,站台停车区,出站区驶出;列车继续行驶至折返位置d点,驶入折返轨,改变行车方向,经转辙机驶入下行路线至e点,根据站台前f点信号机指示,经过入站区,站台停车区,出站区驶出,行驶至道岔g点,沿着侧股至h点,经转辙机改变行车线路驶回折返点a。为此上行的拓扑图为abcd,下行的拓扑关系为defgha,根据该上下行的数据可以生成行车路线与列车控制权重的多维图。
33.将多维曲线图的峰值点与列车轨道线路平面图的布置属性进行匹配,依据等价分类方法将轨道数据参与控制的因素峰值点划分为八种位置类型,得到cbtc系统控制参数与位置的曲线;采用kennard-stone算法对位置集合d进行扩充,获取列车所行驶的不同位置集合d0的位置取值集合v0,取值位置点作为随机场景注入时机。
34.具体的,根据列车控制权重值得到cbtc系统控制参数与位置的曲线,峰值点代表该位置处参与cbtc信号系统控制的频度与广度最高,将其作为随机场景注入的时间点会更容易发现系统潜在的问题。将该多维曲线与列车轨道地图相结合并分类发现,由于这些峰值点位于道岔侧股位置、高速区域、入站区域、站台停车点、出站区域、zc交接区域、折返区域、弯道区域,说明当列车行驶到上述时,尤其是列车读取信标信息的关键通讯点或者列车自动开放进路的通讯点时,若向列车下达远程控车命令、cbtc系统设备故障,导致多种因素相互制约,更容易发现cbtc系统的潜在问题。由于不可能实现穷举测试,可以从大量的可能数据中选取一部分具有代表性的数据作为测试用例,依据目标控制曲线所提取的关键控制点,利用等价分类法对全线关键控制点按照八类位置进行等价分类经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。设表示位置集合为d={d1,d2,d3,
…
,dk,
…
,dn},n=8,其中第k个因素有m个取值,其位置取值集合为v={v1,v2,v3,
…
,vk,
…
,vm}。
35.根据列车在行驶过程中的真实工况,ats操作、设备故障的场景、防护场景是偶发的,为了体现随机性,还需在场景测试用例生成中引入随机因素,从而利于发现cbtc测试软件的随机故障。列车随机位置选择要充分兼顾与位置集合d的差异度,与其在轨道地图位置异度越高,越体现其代表性。为此采用kennard-stone算法,形成随机位置样本集,将所有关键控制位置抽取的若干位置类别数据作为位置全集u(本发明包括八大位置类别),将a记作耦合控制位置要素的集合a={d
11
,d
21
,d
31
,
…
,d
k1
,
…
,d
n1
},n=8,作为初始的训练样本集;集合c为集合d在全集u中的补集c=cud,从c集合中选取距离a集合中各数据的最小距离中的最大距离作为集合d的扩充数据d9,具体计算方法为:δ(k)=min{l
kd11
,l
kd21
,
…
,l
kdk1
,
…
,l
kdn1
},k∈cd
91
={max{δ(k)}}
d0={d1,d2,d3,
…
,dk,
…
,dn},n=9a0={d
11
,d
21
,d
31
,
…
,d
k1
,
…
,d
n1
,d
12
,d
22
,d
32
,
…
,d
k2
,
…
,d
n2
},n=9依次计算d
92
,并持续扩充集合d与集合a,直至完成d8取值集合v={v1,v2,v3,
…
,vk,
…
,vm}。
36.这样获取了列车所行驶的不同位置集合d0,分别表示道岔反位位置点、高速点、入站点、站台停车点、出站点、折返点及随机位置点的位置取值集合v分别为v1,v2,
…
,v9,分别以1-9的数字替代,该位置点作为随机场景注入时机。为此得到了控制特征与随机特性融合的cbtc系统场景测试注入时机。值得说明的是:针对随机操作场景的选取除了kennard-stone算法之外,还可以采用分层抽样方法进行等价替代,将线路分为各个区段从各个区段类别中随机抽取距离数据,或者针对线路数据进行等距划分抽样,也可以采用蒙特卡洛随机抽样法,依据约定的权重进行随机抽样。
37.由于列车行驶过程中会发生很多测试场景,如表2所示为测试场景表;采用并发场景组合测试的方法比单一场景测试更容易发现cbtc系统的测试问题,对cbtc系统运行场景测试,其主要方法是组合覆盖表的生成方法。
38.表2为测试场景表。
39.依据具体场景的测试要求,可以采用单因素测试覆盖表生成测试用例或者多因素测试覆盖表生成测试用例。
40.具体的定义为:假设a为n
×
m的矩阵,其第j列表示第j个参数,其元素取自有穷符合集合tj(j=1,2,
…
,m),即{a
ij
|i=1,2,
…
,n}∈tj,如果a的任l列(2≤l≤m)第i列和第j列都满足:第i1列,第i2列,
…
,第i
l
列都满足,t
i1
的符号,t
i2
的符号,
…
,t
il
的符号全部组合都在第i1列,第i2列,
…
,第i
l
列形成的l元有序对中出现,那么称a为l因素覆盖矩阵,也称为l维组合覆盖测试用例矩阵。当l=2时记作2-way组合测试表,也称为成对覆盖测试表(pairwise covering array)。kuhn dr与reilly mj曾经在研究中指出70%的软件缺陷可以由两个参数组合触发,超过90%的软件错误可以3个参数相互作用检出,如果要检出100%的软件设计缺陷,则需要采用6个参数组合触发。
41.采用启发式搜索算法对测试用例进行训练得到最优组合测试用例集,所述最优组合测试用例作为并发场景测试用例。
42.组合测试用例生成方法可采用数学构造方法、贪心算法、启发式搜索算法等;本文采用的本发明采用启发式搜索算法,启发式搜索算法是根据自然界中的演化规律以及解决问题的经验而得到的。启发式搜索算法是在已有的测试用例集的基础上,对测试用例进行引导变换得到更优的组合测试用例集。
43.目前用于组合测试用例生成的启发式算法有以下几种:遗传算法、蚁群算法、模拟退火、禁忌算法、粒子群算法。本发明以粒子群算法为例说明,如图6为粒子群算法生成测试
用例算法框架图。
44.具体步骤包括:输入cbtc系统测试场景的参数取值集合t和覆盖强度t;按照覆盖强度t,对参数取值进行组合配对,生成待覆盖的组合表;利用启发式算法生成测试用例;根据待覆盖表是否覆盖完全,每一次生成覆盖组合数最多的一条用例作为该位置点对应的最佳用例;利用粒子群算法持续搜寻得到测试用例集合(粒子群算法的搜索位置更新策略作为本领域技术人员的公知技术,不再累述),测试用例集合作为最优组合测试用例集。
45.根据组合测试生成的测试用例可以在列车自动跑圈测试过程中,当列车行驶至相应位置时,自动加载并发场景测试用例,便于更有效地发现cbtc系统软件的测试问题。
46.基于关键位置抽取与随机位置融合的算法获取的位置信息,代表着列车控制系统的控制频度、广度以及随机性,可将该位置作为列车测试用例注入的关键位置点,测试用例的选择不局限于并发组合测试用例,也适用于人工编写测试用例、以及利用人工方法从需求书中提取的测试用例;本发明除组合测试方法之外,也可以采用人工智能的方法通过将需求转换成自然语言提取生成cbtc系统的测试用例,不管是那种测试用例的生成方法,其测试用例的执行时机决定了测试用例的有效性。本发明根据通过列车的自动跑圈测试根据列车所在行驶位置,自动匹配该位置类型所关联测试用例,并根据优先级顺序进行执行,自动测试的终止条件为所需测试用例执行完毕。
47.如图7所示,加载测试用例流程图,包括如下步骤:真实列车或者仿真列车沿着既定测试线路进行遍历测试,列车实时更新其所在行驶位置;测试系统自动判断列车对应的位置类别属性信息;根据位置类别属性信息筛选可执行的测试用例类别;通过启发式算法挑选与该位置属性优先级最高的测试用例作为优先测试用例;当所有测试用例执行完毕,测试停止。
48.以上所述之具体实施方式为本发明基于关键位置抽取与随机位置融合的cbtc场景测试方法的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明之形状、结构所作的等效变化均在本发明的保护范围内。
技术特征:1.基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,包括如下步骤:将参与cbtc系统速度控制各因素x
i
分别设定相应的权重值θ
i
;提取列车轨道的组成因素构建轨道数据库,根据各公里标轨道线路所包含的权重值信息,通过公里标的l距离内列车控制触发因素的加权值m计算评价函数s数值,并结合各线路位置点的权重值形成多维曲线图;以多维曲线图的峰值点作为关键位置类,将关键位置类作为列车控制测试场景的注入时机;采用启发式搜索算法对测试用例进行训练得到最优组合测试用例集,所述最优组合测试用例作为并发场景测试用例;在列车自动跑圈测试过程中,当列车行驶至取值位置点时,自动加载并发场景测试用例对与cbtc系统进行场景测试。2.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,还包括:将多维曲线图的峰值点划分为若干位置类型,采用随机取样算法对位置集合d进行扩充后得到随机位置类,将随机位置类作为列车控制测试场景的注入时机。3.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,l距离内参与控制因素x
i
的加权值m作为参与cbtc系统速度控制的评价函数s,公式如下:其中,m=θ1x1+θ2x2+
…
+θ
i
x
i
+
…
+θ8x8。4.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,多维曲线图中三维曲线表征列车真实行驶路线,x轴表示由西向东方向,y轴表示由南向北方向,z坐标为高度,曲线线路的高低表征坡度。5.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,位置类型包括但不限于:道岔侧股区位置类型、直通高速点位置类型、入站点位置类型,出站点位置类型、站台停车点位置类型、zc交接区位置类型、折返点位置类型以及弯道区域位置类型。6.根据权利要求2所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,随机取样算法包括kennard-stone算法、分层抽样发、蒙特卡洛随机抽样法的一种。7.根据权利要求6所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,采用kennard-stone算法对位置集合d进行扩充,包括如下步骤:依据目标控制曲线所提取的关键控制点,利用等价分类法对全线关键控制点按照位置类型进行等价分类经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类
中的其他值;将所有关键控制位置抽取的若干位置类别数据作为位置全集u,耦合控制位置要素的集合a作为初始的训练样本集;集合c为集合d在全集u中的补集c=c
u
d,从c集合中选取距离a集合中各数据的最小距离中的最大距离作为集合d的扩充数据对集合d进行持续扩充得到集合d0;同步扩充集合a得到集合a0;并将集合a0取值位置点作为随机场景注入时机。8.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,所述将多维曲线图的峰值点划分为若干位置类型,采用随机取样算法对位置集合d进行扩充后得到随机位置类,将随机位置类作为列车控制测试场景的注入时机,包括如下步骤:将多维曲线图的峰值点与列车轨道线路平面图的布置属性进行匹配,依据等价分类方法将轨道数据参与控制的峰值点划分为若干位置类型,得到cbtc系统控制参数与位置的曲线;采用随机取样算法对位置集合d进行扩充,获取列车所行驶的不同位置集合d0的位置取值集合v0,取值位置点作为随机位置类,将随机位置类作为列车控制测试场景的注入时机。9.根据权利要求1所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,采用启发式搜索算法对测试用例进行训练得到最优组合测试用例集,包括:输入cbtc系统测试场景的参数取值集合t和覆盖强度t;按照覆盖强度t,对参数取值进行组合配对,生成待覆盖的组合表;利用启发式算法生成测试用例;根据待覆盖表是否覆盖完全,每一次生成覆盖组合数最多的一条用例作为该位置点对应的最佳用例;利用粒子群算法持续搜寻得到测试用例集合,测试用例集合作为最优组合测试用例集。10.根据权利要求9所述的基于关键位置抽取与随机位置融合的cbtc场景测试方法,其特征在于,所述启发式搜索算法包括遗传算法、蚁群算法、模拟退火、禁忌算法、粒子群算法的一种。
技术总结本发明公开了基于关键位置抽取与随机位置融合的CBTC场景测试方法,包括如下步骤:将参与CBTC系统速度控制各因素X
技术研发人员:刘丹丹 凌祝军 陈锬 杨志宇 孙炳 黄剑雄
受保护的技术使用者:浙江众合科技股份有限公司
技术研发日:2022.05.27
技术公布日:2022/11/1