一种进路相关状态转换的测试方法及相关组件技术

技术编号:39832258 阅读:14 留言:0更新日期:2023-12-29 16:15
本发明专利技术公开了一种进路相关状态转换的测试方法及相关组件,涉及测试领域,预先根据进路相关状态转换的正交表确定了输入函数与输出函数的依赖关系,基于依赖关系对输入函数及其对应的函数指针传值进行重定义并进行编码,对重定义后的代码赋初值就可以得到输入函数的返回值,在后续测试的过程中无需再构造输入函数的返回值

【技术实现步骤摘要】
一种进路相关状态转换的测试方法及相关组件


[0001]本专利技术涉及测试领域,特别是涉及一种进路相关状态转换的测试方法及相关组件


技术介绍

[0002]白盒测试中的打桩测试是在单元测试中经常使用的一种技术,用于模拟或者替代某些依赖项的行为,也即对依赖项进行打桩,以便被测单元能够独立地进行测试,其中,这里的依赖项可以为函数等

在依赖项为函数时,被打桩的函数需要在测试时能够被直接调用或间接调用,才能采用打桩测试

[0003]在轨道交通运控系统的测试领域中,涉及到引导进路闭锁中的进路相关状态转换

在进行进路相关状态转换判断时,涉及到多个进路相关信息,当多个进路相关信息通过合取范式或析取范式描述后达到进路相关状态转换的要求时,轨道交通运控系统会进行进路相关状态转换

由于多个进路相关信息之间涉及大量信息组合,使用正交表可以最大程度覆盖所有的信息组合,其中,正交表中包括进路相关信息和进路相关信息组合后对应的进路相关状态转换的结果

但由于采用正交表会涉及到很多中间逻辑,测试的有些场景无法构造,因此需要进行打桩测试

但是,由于无法对进路相关信息对应的输入函数进行调用,所以在对正交表中的进路相关状态转换进行测试时无法进行打桩测试,进而无法得到进路相关状态转换的测试结果


技术实现思路

[0004]本专利技术的目的是提供一种进路相关状态转换的测试方法及相关组件,在测试的过程中无需再构造输入函数的返回值,直接对重定义后的输入函数进行打桩,为重定义后的输入函数赋值,就可以得到输出函数的返回值,进而确定进路相关状态转换的测试结果

[0005]为解决上述技术问题,本专利技术提供了一种进路相关状态转换的测试方法,包括:
[0006]确定进路相关状态转换的正交表,所述正交表包括进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值;
[0007]基于所述输入函数的返回值和所述输出函数的返回值确定各所述输入函数与所述输出函数的依赖关系;
[0008]根据所述依赖关系对所述输入函数及其对应的函数指针传值进行重定义并进行编码;
[0009]将所述函数指针传值重定义的代码和所述输入函数的重定义的代码写入所述输出函数的代码所在的文件中,所述函数指针传值用于将所述重定义后的输入函数赋给全局变量,以便所述输出函数在测试时调用所述全局变量;
[0010]对重定义后的输入函数进行打桩,以对所述输出函数进行测试,得到所述进路相关状态转换的测试结果

[0011]另一方面,确定进路相关状态转换的正交表,包括:
[0012]根据合取或析取的逻辑关系去除进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值中重复的组合;
[0013]在所述转换条件为
a
个,进路相关状态转换为
b
个时,确定进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值构成的
a+b
列的正交表,
a

b
均为正整数;
[0014]其中,所述正交表的第一行分别为
a
列所述进路相关信息的输入函数及
b
列所述进路相关状态转换的输出函数的定义,所述正交表的第二行分别为
a
列所述进路相关信息的输入函数的返回值的参考值及对应的
b
列所述进路相关状态转换的输出函数的返回值的参考值,所述正交表的第三行至最后一行为
a
列不同的进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值

[0015]另一方面,基于所述输入函数的返回值和所述输出函数的返回值确定各所述输入函数与所述输出函数的依赖关系,包括:
[0016]使用函数指针分别将所述输入函数的返回值赋给全局变量;
[0017]在确定所述输出函数的返回值被所述全局变量影响时,确定各所述输入函数与所述输出函数存在依赖关系,并确定所述依赖关系

[0018]另一方面,根据所述依赖关系对所述输入函数及其对应的函数指针传值进行重定义并进行编码,包括:
[0019]根据所述依赖关系对每个所述输入函数进行重命名及重定义,并给重定义后的所述输入函数赋初值,得到所述输入函数的返回值;
[0020]对每个所述输入函数对应的函数指针重命名及重定义

[0021]另一方面,所述进路相关信息的输入函数包括进路始端信号机关闭逻辑状态

进路始端信号未封锁

进路终端信号未封锁

进路始端信号未收到跨压信号

进路内所有区段都未封锁

进路内所有区段的进路锁闭或保护锁闭的方向与进路方向一致或未锁闭

进路内所有道岔均未封锁

进路内所有道岔均未锁闭至与进路要求不一致的位置

进路内所有道岔均未被单独操纵或进路选动至与进路要求不一致的位置

进路内所有道岔的位置都与进路要求的位置一致

与车辆段和其它场段联系的车站是否满足条件

进路内紧急停车按钮是否按下

进路内人工作业开关是否被按下

进路内的防淹门是否开门且锁闭且无关门请求

是否不存在当前进路的敌对进路

进路是否不存在锁闭且被连续式列车控制占压的计轴区段

列车转引导条件是否满足

是否收到人工解锁引导进路命令及当前进路的互斥信号是否未开放,所述进路相关状态转换的输出函数包括判断是否通过保护进路模板检查规则;
[0022]其中,所述输入函数的返回值包括是或否,所述输出函数的返回值包括是或否

[0023]另一方面,对所述输出函数进行测试,得到所述进路相关状态转换的测试结果,包括:
[0024]获取用户输入的预期输出结果及重定义后的输入函数的赋值;
[0025]根据重定义后的输入函数的赋值得到所述输出函数的实际输出结果;
[0026]判断所述实际输出结果与所述预期输出结果是否相同;
[0027]若相同,则确定所述进路相关状态转换的测试通过;
[0028]若不相同,则确定所述进路相关状态转换的测试不通过

[0029]另一方面,对重定义后的输入函数进行打桩,以对所述输出函数进行测试,得到所述进路相关状态转换的测试结果之后,还包括:
[0030]将所述预期输出结果

重定义后的输入函数的赋值及所述实际输出结果生成测试日志,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种进路相关状态转换的测试方法,其特征在于,包括:确定进路相关状态转换的正交表,所述正交表包括进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值;基于所述输入函数的返回值和所述输出函数的返回值确定各所述输入函数与所述输出函数的依赖关系;根据所述依赖关系对所述输入函数及其对应的函数指针传值进行重定义并进行编码;将所述函数指针传值重定义的代码和所述输入函数的重定义的代码写入所述输出函数的代码所在的文件中,所述函数指针传值用于将所述重定义后的输入函数赋给全局变量,以便所述输出函数在测试时调用所述全局变量;对重定义后的输入函数进行打桩,以对所述输出函数进行测试,得到所述进路相关状态转换的测试结果
。2.
如权利要求1所述的进路相关状态转换的测试方法,其特征在于,确定进路相关状态转换的正交表,包括:根据合取或析取的逻辑关系去除进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值中重复的组合;在所述转换条件为
a
个,进路相关状态转换为
b
个时,确定进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值构成的
a+b
列的正交表,
a

b
均为正整数;其中,所述正交表的第一行分别为
a
列所述进路相关信息的输入函数及
b
列所述进路相关状态转换的输出函数的定义,所述正交表的第二行分别为
a
列所述进路相关信息的输入函数的返回值的参考值及对应的
b
列所述进路相关状态转换的输出函数的返回值的参考值,所述正交表的第三行至最后一行为
a
列不同的进路相关信息的输入函数的返回值及多个进路相关信息组合下,进路相关状态转换的输出函数的返回值
。3.
如权利要求1所述的进路相关状态转换的测试方法,其特征在于,基于所述输入函数的返回值和所述输出函数的返回值确定各所述输入函数与所述输出函数的依赖关系,包括:使用函数指针分别将所述输入函数的返回值赋给全局变量;在确定所述输出函数的返回值被所述全局变量影响时,确定各所述输入函数与所述输出函数存在依赖关系,并确定所述依赖关系
。4.
如权利要求3所述的进路相关状态转换的测试方法,其特征在于,根据所述依赖关系对所述输入函数及其对应的函数指针传值进行重定义并进行编码,包括:根据所述依赖关系对每个所述输入函数进行重命名及重定义,并给重定义后的所述输入函数赋初值,得到所述输入函数的返回值;对每个所述输入函数对应的函数指针重命名及重定义
。5.
如权利要求1所述的进路相关状态转换的测试方法,其特征在于,所述进路相关信息的输入函数包括进路始端信号机关闭逻辑状态

进路始端信号未封锁

进路终端信号未封锁

进路始端信号未收到跨压信号

进路内所有区段都未封锁

进路内所有区段的进路锁闭或保护锁闭的方向与进路方向一致或未锁闭
、<...

【专利技术属性】
技术研发人员:徐姗姗徐刚
申请(专利权)人:新誉集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1