• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

基于EFSM模型的铁路信号安全软件单元测试技术研究

王飞, 李一楠, 孙文哲, 赵晓宇, 刘雅晴

王飞, 李一楠, 孙文哲, 赵晓宇, 刘雅晴. 基于EFSM模型的铁路信号安全软件单元测试技术研究[J]. 铁路计算机应用, 2023, 32(10): 68-73. DOI: 10.3969/j.issn.1005-8451.2023.10.14
引用本文: 王飞, 李一楠, 孙文哲, 赵晓宇, 刘雅晴. 基于EFSM模型的铁路信号安全软件单元测试技术研究[J]. 铁路计算机应用, 2023, 32(10): 68-73. DOI: 10.3969/j.issn.1005-8451.2023.10.14
WANG Fei, LI Yinan, SUN Wenzhe, ZHAO Xiaoyu, LIU Yaqing. Unit testing technology for railway signal safety software based on EFSM model[J]. Railway Computer Application, 2023, 32(10): 68-73. DOI: 10.3969/j.issn.1005-8451.2023.10.14
Citation: WANG Fei, LI Yinan, SUN Wenzhe, ZHAO Xiaoyu, LIU Yaqing. Unit testing technology for railway signal safety software based on EFSM model[J]. Railway Computer Application, 2023, 32(10): 68-73. DOI: 10.3969/j.issn.1005-8451.2023.10.14

基于EFSM模型的铁路信号安全软件单元测试技术研究

基金项目: 中国国家铁路集团有限公司科技研究开发计划(P2021G012);中国铁道科学研究院集团有限公司科研项目(2022YJ193);北京华铁信息技术有限公司科研项目(2022HT14)
详细信息
    作者简介:

    王 飞,助理研究员

    李一楠,研究员

  • 中图分类号: U284.91 : TP39

Unit testing technology for railway signal safety software based on EFSM model

  • 摘要: 铁路信号安全软件内部逻辑复杂,通过充分的单元测试能够更好地发现和排除软件内部的缺陷。文章分析单元测试常用方法,并结合铁路信号安全软件单元测试技术要求,提出一种基于扩展有限状态机(EFSM, Enhanced Finite State Machine)模型的黑白盒融合单元测试方法。使用自动化测试工具Cantata,以无线超时降级场景为实例,验证该方法是否可以满足测试场景的完备性,并且关注软件结构是否被完全覆盖。根据覆盖结果,对未覆盖原因进行分析,判断是否存在异常场景,并针对未覆盖分支补充测试场景,丰富了测试案例,从而保障了铁路信号系统的可靠性。
    Abstract: The internal logic of railway signal safety software is complex, and through sufficient unit testing, defects within the software can be better discovered and eliminated. This paper analyzed common methods of unit testing and proposed a black and white box fusion unit testing method based on the Extended Finite State Machine (EFSM) model, combined with the technical requirements of railway signal safety software unit testing. The paper used the automated testing tool Cantata as an example to verify whether the method can meet the completeness of the testing scenario and paied attention to whether the software structure was fully covered, analyzed the reasons for the lack of coverage based on the coverage results to determine whether there were abnormal scenarios, provided supplementary testing scenarios for the uncovered branches, which enriched the testing cases and ensured the reliability of the railway signal system.
  • 随着我国高速铁路的快速发展,保证列车运行安全成为铁路关注的重点[1-2]。中国列车运行控制系统3级(CTCS-3,Chinese Train Control System-3)是我国自主研发的列车运行控制系统,在投入使用之前需要对其做大量的测试工作,确保其功能的正常使用[3]。其中,单元测试是软件测试最基本、最初的阶段,也是保障铁路信号安全软件质量、防止其失效的重要手段[4]。通过对软件单元测试发现其中的缺陷,确保设计和实现软件规定的要求。目前,铁路信号领域的软件测试主要参考TJ/DW230-2020《铁路信号安全软件编程暂行技术要求》、 TJ/DW231-2020《铁路信号安全软件测试暂行技术要求》等文件[5-6]。其中,文献[6]重点强调要通过单元测试方式对软件的功能、性能、错误处理等进行测试,可发现软件内部逻辑错误缺陷,识别难达、危险分支,提高软件测试的可靠性,保证铁路信号系统的安全性。

    现阶段,铁路信号安全软件单元测试技术主要以白盒测试为主,黑盒测试为辅[7]。白盒测试主要关注软件内部结构逻辑,忽略软件的功能逻辑。黑盒测试主要从功能方面对软件进行测试,不太关注软件的内部结构逻辑,且测试案例是否完备全面依赖于测试人员对功能的理解程度,这样会导致一些复杂环境条件下产生的异常测试案例被遗漏,进而产生严重的后果。因此,需要一种既能充分考虑黑盒测试的各种场景,又能满足白盒测试的结构覆盖需求的测试方法,同时切实可行、容易操作,从而提高测试效率。

    本文提出了一种基于扩展有限状态机(EFSM, Enhanced Finite State Machine)模型的黑白盒融合单元测试方法。以软件结构中划分的最小功能模块为测试对象,利用EFSM模型准确刻画软件的各种场景,设计相关测试案例,同时使用自动化测试工具Cantata对基于EFSM模型设计的测试案例进行自动化分析,给出被测功能模块各个函数结构覆盖结果。

    单元测试是指对软件内部最小可测单元的正确性进行测试的工作。其中,对最小可测单元的大小并没有明确的规定,它可以是一个模块、一个类、一个方法、一个子系统甚至一个函数。测试人员依据软件设计规范和程序源代码,设计测试的输入和输出条件,通过编写相应的测试案例分析软件中可能存在的缺陷,验证软件功能是否符合设计规范的要求。单元测试方法包括白盒测试和黑盒测试。

    白盒测试方法中的语句覆盖、分支覆盖、条件覆盖(CC,Condition Coverage)、修正条件判定覆盖(MCDC,Modified Condition Decision Coverage)、条件组合覆盖的测试是以程序内部结构为基础的常见白盒测试方法,其覆盖程度依次增强,设计难度也逐级增加;白盒测试方法还包括路径覆盖、控制流、数据流、程序变异、程序插桩等,可以根据测试的充分性要求适当选择。

    黑盒测试方法中的功能分解、等价类划分、边界值分析是黑盒测试设计用例的常用方法[8];判定表、因果图、随机测试、猜错法和正交试验法等,可以根据测试对象和被测特性的特点适当选择。

    铁路信号安全软件单元测试的基本内容如下[9]

    (1)对每个软件单元的功能进行测试;

    (2)被测试的软件特性都与功能相关,且包含正常和异常情况;

    (3)测试用例的输入域应覆盖有效等价类、无效等价类和边界值;

    (4)软件源代码对于每个单元内部的错误处理措施是否有效;

    (5)软件源代码的每条语句都被至少一个测试用例覆盖,即语句 100%覆盖;

    (6)软件源代码的每个分支都被至少一个测试用例覆盖,即分支 100%覆盖;

    (7)软件源代码的每个分支的每个条件都被独立起作用的测试用例覆盖,即 MCDC 100%覆盖。

    EFSM能够对软件中有限个状态以及这些状态之间的转移行为进行建模。EFSM在有限状态机基础上增加了变量、操作及状态迁移的前置条件,可以更加准确地刻画软件内部的动态行为[10],是对FSM的扩展。通常EFSM模型使用状态图来表示,图中,用节点表示状态,用边表示转移条件。

    EFSM由六元组$ M $构成:

    $$ M = \left( {S,{s_0},V,I,O,T} \right) $$

    其中,$ S $为一个有限状态集合;$ {s_0} \in S $为该模型的初始状态;$ V $为内部变量的有限集合;$ I $为输入集合;$ O $为输出集合;$ T $为状态迁移的有限集合。$ T $的每个迁移 $ t $ 是一个五元组$ t = \left( {{s_s},i,g,op,{s_e}} \right) $,其中,$ {s_s} $为迁移 $ t $ 的起始状态;$ i \in I $为输入符;$ g $为当前迁移的判定条件,也被称为守卫条件;$ op $为输出或赋值等一系列操作语句;$ {s_e} $为迁移 $ t $ 的终止状态。

    Cantata测试工具的功能包含:单元和集成动态测试、AutoTest测试、覆盖率分析、静态分析、测试需求追踪、代码变更分析、Cantata Makefile等。

    Cantata进行软件测试的策略,如图1所示。

    图  1  Cantata进行软件测试的策略

    (1)编写测试脚本,设置不同的输入调用被测试单元;

    (2)将编写的测试脚本与动态测试库、函数插桩、覆盖率插桩、覆盖率采集分析等进行链接编译,生成测试可执行文件;

    (3)产生测试结果,给出覆盖率统计结果,并显示未覆盖的原因。

    传统的黑盒测试案例使用自然语言描述,由于自然语言存在模糊性和二义性,给测试人员带来了一定的困扰和挑战。测试人员由于对测试案例的含义和预期结果理解不一致,导致执行时产生歧义和误解,从而影响测试结果的准确性。

    为了解决这些问题,通过将测试案例转化为EFSM模型,可以将测试过程更加形式化和规范化,并消除了自然语言描述的模糊性和二义性。

    EFSM模型使用图形的方式表示软件的各个状态和状态间的转换关系,可以清晰地展示系统的行为和功能。测试人员可以根据EFSM模型中的状态迁移路径,准确地理解测试案例所要求的系统行为和预期结果。这种结构化和精确的表示方式使测试人员之间可以更好地共享和理解测试需求,减少了解释和执行测试用例时的歧义,提高了测试人员对测试细节的准确理解。

    该技术充分利用了黑盒测试和白盒测试各自的优点,能够全面验证软件的功能和结构,发现更多的缺陷,提高测试案例的质量,进而提升软件的安全和可靠性。

    (1)黑盒测试和白盒测试分别关注软件的功能和内部结构,通过将两者结合,能够充分覆盖测试对象的各个方面。黑盒测试注重对软件功能的正确性和需求符合性的验证,而白盒测试则关注代码覆盖率和结构的完整性。

    (2)由于黑盒测试和白盒测试都有不同的测试目标和方法,结合使用可以发现更多的缺陷。黑盒测试主要通过输入和输出验证软件功能的正确性,而白盒测试通过深入分析代码路径和逻辑来发现软件中潜在的问题。

    (3)黑盒测试用例基于功能需求的角度设计,能够充分考虑到用户的使用场景和预期结果;白盒测试着重于代码层面的覆盖和测试,能够发现逻辑错误和边界条件等问题;结合两者,既可以保证软件功能的完整性和正确性,又能够测试代码的覆盖率和结构,提高测试案例的质量。

    (4)白盒测试对于难以覆盖的关键分支和异常场景能够提供更深入的测试和分析。通过使用白盒测试方法,结合对未满足覆盖率要求的分支的设计和测试,可以进一步提升软件的安全性和可靠性。

    结合黑盒测试和白盒测试各自的优点,以功能模块为最小可测对象执行单元测试,本文提出了一种基于EFSM模型的黑白盒融合单元测试方法,如图2所示。具体实施步骤如下:

    图  2  黑白盒的融合单元测试方法

    (1)采用EFSM模型对铁路信号软件应用各场景进行形式化建模,实现功能点分解;

    (2)根据EFSM模型中各个状态迁移,建立黑盒测试用例集;

    (3)根据建立的黑盒测试用例集,编写相关测试代码,结合Cantata自动测试工具,给出覆盖率测试结果,查看各个被测函数是否满足语句、分支、MCDC覆盖率要求;

    (4)如果覆盖率测试结果不满足要求,分析未覆盖原因,判断是否存在异常场景,针对未覆盖分支使用白盒测试方法设计补充测试案例,满足覆盖率要求。

    (5)如果覆盖率测试结果满足要求,本测试步骤选择边界值分析法补充测试用例。经验表明,在边界附近很容易发生错误,为了使测试案例集更充分,该方法简单而有效。

    车载设备在CTCS-3(简称:C3)等级完全模式下,处理无线超时降级CTCS-2(简称:C2)等级的场景分析[11]

    场景1:无线超时后,在完全监控模式下应启动 C3等级向 C2等级的降级处理并输出最大常用制动命令。

    场景2:无线超时制动10 s内,列车速度不大于160 km/h,且不超过C2等级允许速度,车载自动转入C2等级。

    场景3:无线超时制动10 s内,列车速度高于160 km/h,但低于C2等级允许速度,不转入 C2 等级。

    场景4:无线超时制动10 s 后,列车速度不超过C2的允许速度,自动转入C2等级。

    场景5:无线超时制动10 s后,列车速度高于C2的允许速度,不转入C2等级。

    场景6:自动降级过程中,无线恢复,自动缓解常用制动,列车继续以C3等级运行。

    根据EFSM模型理论,建立C3等级完全模式下,处理无线超时降级C2等级的EFSM模型,如图3所示。图中,各状态、含义如表1所示;各迁移含义如表2所示。表2中主要描述了输出条件、判定条件及输出操作的含义。

    图  3  无线超时降级场景的EFSM模型
    表  1  模型中各状态含义
    状态 名称 含义
    s1 automaticLevelFallback _idle 自动降级初始状态
    s2 receive_radio_contace_loss 启动降级处理状态
    s3 set_CTCS2_level 降级到C2等级状态
    s4 receive_radio_contace_recover 终止降级处理状态
    s5 unset_CTCS2_level 维持C3等级状态
    下载: 导出CSV 
    | 显示表格
    表  2  模型中各迁移含义
    迁移 内容 含义
    t1 {s1,i1,g1,op1,s2} i1含义为无线丢失
    g1含义为当前控制等级为C3级,模式为完全模式
    op1含义为输出常用制动命令
    t2 {s2,i2,g2,op2,s3} i2含义为列车当前运行速度和C2允许速度
    g2含义为无线超时制动10 s内,列车速度不高于160 km/h,且不高于C2等级允许速度
    op2含义为执行自动降级到等级C2
    t3 {s2,i3,g3,op3,s5} i3含义为列车当前运行速度和C2允许速度
    g3含义为无线超时制动10 s内,列车速度高于160 km/h,但低于C2等级允许速度
    op3含义为不转入C2等级
    t4 {s2,i4,g4,op4,s3} i4含义为列车当前运行速度和C2允许速度
    g4含义为无线超时制动10 s 后,列车速度不高于C2等级允许速度
    op4含义为执行自动降级到等级C2
    t5 {s2,i5,g5,op5,s5} i5含义为列车当前运行速度和C2允许速度
    g5含义为无线超时制动10 s后,列车速度高于C2等级允许速度
    op5含义为不转入C2等级
    t6 {s2,i6,g6,op6,s4} i6含义为无线状态当前为恢复连接状态
    g6含义为当前控制等级为C3级,模式为完全模式
    op6含义为终止降级执行缓解常用制动
    下载: 导出CSV 
    | 显示表格

    根据表2中EFSM模型中每个迁移t的描述,建立黑盒测试用例集,其中,全局变量和桩函数设置依据迁移输入条件i,驱动参数依据迁移判定条件g,以及期望输出依据迁移输出操作op,如表3所示。

    表  3  黑盒测试用例
    场景全局变量驱动参数桩函数设置期望输出
    1模式为完全模式
    当前等级为C3等级
    无线丢失--最大常用制动
    2模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 159 km/h
    C2等级允许运行速度= 160 km/h
    降级为C2等级
    3模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 162 km/h
    保持C3等级
    4模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 11 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 162 km/h
    降级为C2等级
    5模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 11 s
    列车当前运行速度= 159 km/h
    C2等级允许运行速度= 158 km/h
    保持C3等级
    6模式为完全模式
    当前等级为C3等级
    无线恢复--缓解最大常用制动
    下载: 导出CSV 
    | 显示表格

    (1)覆盖率要求:依据铁路信号安全软件测试要求,语句、分支和MCDC覆盖率均须达到100%。

    (2)准备工作:基于以上要求,根据EFSM模型生成的测试用例集,编写测试脚本,设计桩函数,将测试脚本与Cantata建立连接,在Test Properties视图选择“Options File”> “Coverage”,勾选想要查看的覆盖率。

    (3)执行过程:执行编译,将测试脚本与Cantata软件中的库函数链接生成可执行文件后,运行生成一个后缀为cov的覆盖率文件。

    (4)查看覆盖率结果:切换到Coverage Explorer页面,点击页面右上角的倒三角,下拉选择当前工程查看覆盖率结果,如图4所示。

    图  4  覆盖率未满足测试结果截图

    (5)定位未覆盖部分:针对覆盖率不满足100%要求的函数,可以点击对应的源码,红色显示未覆盖部分,同时给出未覆盖原因,这样可以快速定位未覆盖部分。如图5所示,选择红色未覆盖代码给出的未覆盖原因,MCDC覆盖未满足,判断条件currentMode_ == FULL_SUPERVISION_A && currentLevel == ATP_LEVEL_3_A的独立影响作用没被体现,也就是未设计当判断条件不满足时的测试案例。

    图  5  未覆盖原因截图

    基于Cantata的覆盖率测试结果,分析未达分支原因,判断是否是难达分支,针对无线超时降级场景的未覆盖分支,经分析未存在复杂难以设置的场景,均为不满足限制条件进入等待处理分支,使用白盒测试方法补充以下测试案例,如表4所示。

    表  4  白盒测试用例
    用例 全局变量 驱动参数 桩函数设置 期望输出
    1 模式为完全模式
    当前等级为C2等级
    -- -- 不满足降级条件维持C2等级
    2 模式为待机模式
    当前等级为C3等级
    -- -- 保持C3等级
    下载: 导出CSV 
    | 显示表格

    针对白盒测试设计的案例,编写测试脚本,使用Cantata测试工具再次查看覆盖率结果,如图6所示,添加的补充测试案例,满足语句、分支和MCDC覆盖率均达到100%的要求,测试通过。

    图  6  覆盖率测试通过结果截图

    通过Cantata软件分析之后,已经确保了软件内部每一条语句、分支都至少被执行过一次,满足覆盖率要求。但是针对输入域有边界范围限制时,需要进一步设计案例,保障软件在边界值附近的运行逻辑的正确性。依据边界值的常用分析方法,测试数据一般选取刚好等于、稍小于和稍大于边界的数据。通过分析无线超时降级处理软件时,发现列车当前运行速度、输出制动时间和降为C2级后的允许速度都有边界值限制。针对这3个输入域利用边界值分析方法设计案例,由于在基于EFSM模型分析设计案例时已经对边界值附近大于和小于的数据进行了案例分析,因此,针对该场景补充的测试案例只针对等于边界值进行分析,如表5所示。测试过程中,未发现边界值附近有逻辑错误,测试通过。

    表  5  边界值分析测试用例
    用例 全局变量 驱动参数 桩函数设置 期望输出
    1 模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器=10 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 161 km/h
    降级为C2等级
    2 同上 无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 160 km/h
    C2等级允许运行速度= 160 km/h
    降级为C2等级
    下载: 导出CSV 
    | 显示表格

    本文详细介绍了测试案例的设计、执行和评估过程,以无线超时降级场景为例,介绍了基于EFSM模型的黑白盒融合单元测试方法的具体应用过程和结果,以及测试结果的分析和改进措施。该方法结合了黑盒测试的功能覆盖和白盒测试的结构覆盖,生成了完备的测试案例集,有助于检测出软件内部的逻辑错误和状态转换错误。本方法不仅提高了单元测试的效率和完整性,也提高了软件的可靠性。

  • 图  1   Cantata进行软件测试的策略

    图  2   黑白盒的融合单元测试方法

    图  3   无线超时降级场景的EFSM模型

    图  4   覆盖率未满足测试结果截图

    图  5   未覆盖原因截图

    图  6   覆盖率测试通过结果截图

    表  1   模型中各状态含义

    状态 名称 含义
    s1 automaticLevelFallback _idle 自动降级初始状态
    s2 receive_radio_contace_loss 启动降级处理状态
    s3 set_CTCS2_level 降级到C2等级状态
    s4 receive_radio_contace_recover 终止降级处理状态
    s5 unset_CTCS2_level 维持C3等级状态
    下载: 导出CSV

    表  2   模型中各迁移含义

    迁移 内容 含义
    t1 {s1,i1,g1,op1,s2} i1含义为无线丢失
    g1含义为当前控制等级为C3级,模式为完全模式
    op1含义为输出常用制动命令
    t2 {s2,i2,g2,op2,s3} i2含义为列车当前运行速度和C2允许速度
    g2含义为无线超时制动10 s内,列车速度不高于160 km/h,且不高于C2等级允许速度
    op2含义为执行自动降级到等级C2
    t3 {s2,i3,g3,op3,s5} i3含义为列车当前运行速度和C2允许速度
    g3含义为无线超时制动10 s内,列车速度高于160 km/h,但低于C2等级允许速度
    op3含义为不转入C2等级
    t4 {s2,i4,g4,op4,s3} i4含义为列车当前运行速度和C2允许速度
    g4含义为无线超时制动10 s 后,列车速度不高于C2等级允许速度
    op4含义为执行自动降级到等级C2
    t5 {s2,i5,g5,op5,s5} i5含义为列车当前运行速度和C2允许速度
    g5含义为无线超时制动10 s后,列车速度高于C2等级允许速度
    op5含义为不转入C2等级
    t6 {s2,i6,g6,op6,s4} i6含义为无线状态当前为恢复连接状态
    g6含义为当前控制等级为C3级,模式为完全模式
    op6含义为终止降级执行缓解常用制动
    下载: 导出CSV

    表  3   黑盒测试用例

    场景全局变量驱动参数桩函数设置期望输出
    1模式为完全模式
    当前等级为C3等级
    无线丢失--最大常用制动
    2模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 159 km/h
    C2等级允许运行速度= 160 km/h
    降级为C2等级
    3模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 162 km/h
    保持C3等级
    4模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 11 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 162 km/h
    降级为C2等级
    5模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器= 11 s
    列车当前运行速度= 159 km/h
    C2等级允许运行速度= 158 km/h
    保持C3等级
    6模式为完全模式
    当前等级为C3等级
    无线恢复--缓解最大常用制动
    下载: 导出CSV

    表  4   白盒测试用例

    用例 全局变量 驱动参数 桩函数设置 期望输出
    1 模式为完全模式
    当前等级为C2等级
    -- -- 不满足降级条件维持C2等级
    2 模式为待机模式
    当前等级为C3等级
    -- -- 保持C3等级
    下载: 导出CSV

    表  5   边界值分析测试用例

    用例 全局变量 驱动参数 桩函数设置 期望输出
    1 模式为完全模式
    当前等级为C3等级
    无线丢失
    降级制动定时器=10 s
    列车当前运行速度= 161 km/h
    C2等级允许运行速度= 161 km/h
    降级为C2等级
    2 同上 无线丢失
    降级制动定时器= 9 s
    列车当前运行速度= 160 km/h
    C2等级允许运行速度= 160 km/h
    降级为C2等级
    下载: 导出CSV
  • [1] 杨 森,秦晓光,王 飞,等. 基于工程数据的测试脚本自动生成方案研究[J]. 铁道通信信号,2023,59(1):19-24,35.
    [2] 张 宇,李 昂,王 飞,等. 面向ATP车载设备的通用仿真测试平台研究[J]. 铁道通信信号,2021,57(12):1-6.
    [3] 杨志杰. CTCS-3级列控系统关键设备自主化研究[J]. 中国铁路,2018(7):1-6.
    [4] 陈慧琍,陈晓轩. 基于SmartUnit的安全通信系统单元测试用例自动生成[J]. 铁道通信信号,2020,56(6):43-47.
    [5] 中国国家铁路集团有限公司. 铁路信号安全软件编程暂行技术要求:TJ/DW 230-2020[S]. 北京:中国铁道出版社有限公司. 2020.
    [6] 中国国家铁路集团有限公司. 铁路信号安全软件测试暂行技术要求:TJ/DW 231-2020[S]. 北京:中国铁道出版社有限公司. 2020.
    [7] 凌 珊. 铁路信号软件单元测试研究[J]. 铁路计算机应用,2020,29(2):58-61.
    [8] 任丽霞. 计算机联锁软件的黑盒测试过程分析与实现[J]. 铁路计算机应用,2018,27(2):39-43.
    [9]

    European Committee for Electrotechnical Normalization. BS EN 50128: 2011 Railway applications. Communication, signalling and processing systems. Software for railway control and protection systems [S].Brussels, Belgium: European Committee for Electrotechnical Normalization, 2011.

    [10] 王蒙蒙,罗 杨. 基于扩展有限状态机测试用例生成方法[J]. 电子设计工程,2020,28(6):97-100,106.
    [11] 中国国家铁路集团有限公司. 自主化CTCS-3级列控车载设备暂行技术条件:TJ/DW205-201912.1[S]. 北京:中国国家铁路集团,2019:78-79.
  • 期刊类型引用(4)

    1. 杨文韬,田中雨,张义川,李冰,江欣,赵元帅. 中欧班列运行监测方案研究及验证. 铁道运输与经济. 2024(11): 113-123+131 . 百度学术
    2. 李聪颖. 铁路货物计费径路调整影响探讨. 铁道货运. 2022(02): 46-51 . 百度学术
    3. 周利萍,张璐,刘志新,孙明,李少峰. 铁路重车到达预报与卸车预警系统研究与开发. 铁路计算机应用. 2022(03): 53-59 . 本站查看
    4. 杨文浩,邓桂星,张锐,刘耀宗,马海彬. 车流径路辅助决策系统优化与实践. 铁道货运. 2021(07): 1-8 . 百度学术

    其他类型引用(1)

图(6)  /  表(5)
计量
  • 文章访问数:  43
  • HTML全文浏览量:  17
  • PDF下载量:  9
  • 被引次数: 5
出版历程
  • 收稿日期:  2023-04-13
  • 刊出日期:  2023-10-30

目录

/

返回文章
返回