国产化ITCS车载Y型股道列车定位功能回归测试策略探讨
2024-05-01李雪,曹欣
李 雪,曹 欣
(卡斯柯信号有限公司,北京 100070)
1 概述
增强型列车控制系统(Incremental Train Control System,ITCS)是采用卫星定位、实时连续进行无线车-地通信的成熟信号控制技术,已成熟应用在青藏铁路多年。国产化ITCS 车载系统采用全球导航卫星系统(Global Navigation Satellite System,GNSS)与速度传感器多信息融合技术确定列车位置,精确的列车定位功能是车载系统重要且基础的功能。国产化ITCS 车载系统GPS 坐标的地图匹配技术定位方法是根据经纬度计算投影到单一正线股道上的卡尔曼滤波计算方法。经过多轮室内系统级、软件级测试,并经过现场试验,车载系统功能逐渐成熟稳定。
如图1 所示,随着格尔木南站改造,地面出现Y 型站股道,相应的车载系统需具备Y 型股道精确定位功能。与单一正线股道投影的卡尔曼滤波计算方法区别较大,Y 型股道定位功能是通过复杂逻辑处理列车到多个股道的投影,识别列车精确位置。车载定位功能作为车载系统重要且基本功能,影响范围较大,关联的功能较多。在已稳定成熟的车载系统基础上变更车载定位相关功能,且Y 型股道地面数据环境较为复杂,需要进行回归测试,验证定位功能变更能否正确实现,且对已有功能不会产生不良影响。由于可投入到一次回归测试的资源是有限的,如何避免冗余的测试用例,进行合理有效的影响分析,确认回归测试范围,变得尤其重要。本文重点阐述国产化ITCS 车载系统Y 型股道定位的影响分析活动及回归测试策略。
图1 格尔木河改造前后股道对比Fig.1 Comparison of tracks before and after reconstruction of Golmud River
2 实验室测试环境
国产化ITCS 车载系统仿真测试平台通过模拟青藏线格拉段车-地设备通信功能,其中轨旁仿真系统能够实时地输出当前位置、站号、股道和速度信息。模拟卫星导航系统接收到信息后需要结合既有的地图数据库生成经纬度、速度和航向角信息,为车载设备提供连续、动态且准确的定位信息,满足车载设备的车载动态运行实验室测试要求。实验室测试中会连接真实卫星接收机,验证车载设备静态接收卫星信号功能,根据测试环境合理安排测试内容,充分利用测试环境进行列车定位功能的回归测试,如图2 所示。
图2 ITCS车载系统仿真测试平台Fig.2 ITCS onboard system simulation test platform
与现场测试相比,室内测试的优越性非常明显,具有测试手段灵活、执行效率高等优点。GPS 差分基站、无线闭塞中心(Radio Block Center,RBC)以及GNSS 接收机为模拟器,模拟器测试环境存在修改数据灵活的优点,通过工具软件可以实时查看RBC 及GNSS 接收机的信息,观察测试现象,减少从硬件下载日志、解析分析日志的时间,显著提高了测试效率,如表1 所示。
表1 测试环境优缺点比较Tab.1 Comparison of advantages and disadvantages of test environment
3 回归测试策略
3.1 测试准备
格尔木河改造前,车载根据电子地图数据,选择满足条件的投影到单一股道的有效列车位置,且进路唯一。格尔木河改造后出现Y 型股道,车载设备 (OBS)需要根据电子地图数据,选择GPS 位置可映射到且唯一满足GPS 位置的股道距离小于等于350英尺的线路电子地图,确认当前列车初始位置实现Y型股道定位,并根据道岔方向确定进路方向。
回归测试中需验证Y 型股道定位功能是否正常实现,并充分验证其他功能不受影响,故回归测试策略变得尤其重要。采用产品影响分析技术和方法确定回归测试范围:根据影响分析策略,确定需求文件的变动,修复的缺陷问题,测试接口、质量接口和安全接口等文档变动。使用对本次软件发布的代码与上一版代码进行比较,对于不同处进行检查分析,进行代码走读工作。测试人员应积极参与代码走读工作,确认检查代码修改是否关联缺陷,并分析代码变更中模块交互,识别受影响的功能测试项。结合需求文档、发布代码及修复缺陷列表,确定全面的回归测试影响范围,如图3 所示。
图3 影响分析技术Fig.3 Impact analysis technology
代码变更涉及需要回归的测试阶段是软件单元测试、软件集成测试、软件确认测试、系统集成测试和系统确认测试;回归测试涉及的主要功能模块包括初始定位功能、连续定位功能、列车汇报占用功能、完整性监控功能、与RBC 的会话管理功能、模式转换功能及进路切换功能,并结合现场数据及运营场景丰富测试案例。另外,基于经验的影响分析技术是不可或缺的,需要研发人员、室内测试人员、现场测试人员和制作地面数据的项目组成员,根据经验提出影响分析测试范围的建议。测试人员根据建议丰富测试场景,增加测试案例。
3.2 功能测试
1)软件级测试
软件级测试包含软件单元测试、软件集成测试以及软件确认测试。
遵循先静态后动态的原则进行软件单元测试,静态测试包含代码规则检查、代码验证并进行静态测试活动,例如代码验证和代码走读(包含规则检查)。动态测试输入覆盖有效等价类、无效等价类、边界值,并达到语句覆盖率、分支覆盖率、修正判定条件覆盖(Modified Condition/Decision Coverage,MCDC)为100%。软件集成测试阶段:全面分析所有软件模块及模块间的接口,保证每个接口被至少一个测试用例覆盖。
原有国产化ITCS 车载系统GPS 坐标的地图匹配技术定位方法原理是,根据经纬度计算投影到单一正线股道上的卡尔曼滤波计算方法。定位功能逻辑需要变更实现Y 型站股道和既有线路的精确地图匹配技术。除使用有效等价类划分、无效等价类划分、边界值分析、状态转化表等常规测试技术设计编写用例外,在软件确认测试阶段深挖定位算法逻辑,结合Y 型站数据,选取多个特殊列车启动初始位置,组合设计简化版白盒测试用例,丰富定位算法的白盒测试用例,更为深入地验证Y 型股道中列车定位功能。并且根据相关应用场景设计用例,尽可能在连续运行的环境下进行测试验证,保证测试执行效率。另外,推荐测试人员根据测试经验,使用错误猜想的测试技术,设计投影到3 个股道的偏差距离均处于有效边界、进路切换标志无效变有效等特殊案例,有效地丰富测试案例。
2)系统级测试
系统集成测试阶段:主要验证车载系统与外部接口之间的通信交互、车载系统内部各软件、硬件之间的通信交互。根据Y 型股道定义功能变更的影响分析结果,使用等价类、边界值分析等常规测试技术,设计正常通信、故障通信等信息交互场景下的测试用例,并考虑故障恢复后车载系统的通信交互如图4 所示。
图4 Y型股道示意Fig.4 Schematic diagram of Y-shaped Track
系统确认测试活动中使用一种基于列车控制系统的功能测试方法,首先,接收用于列车功能影响测试的待测试功能代码;接着,根据功能标识分析待测试功能代码,得到待测试的单一功能代码;然后,根据测试线路组合生成待测试项,待测试项由一个或多个单一功能代码组成;最后,执行待测试项,以测试列车控制系统的功能是否正常,即相比于现有技术中通过人工来制定列车控制系统功能影响的测试方案,此功能测试方法能够高效、准确地制定完整的功能影响测试方案,以便对列车控制系统的功能进行测试。
接收用于列车功能影响测试的待测试功能代码。根据功能标识分析待测试功能代码,得到待测试的单一功能代码。使用Understand 工具根据功能标识分析待测试功能的C 语言代码。
以A 站为出发站为例,列出运行线路。根据代码功能关联关系,组合其他功能点编写测试项,如表2 所示。
表2 A站出发线路组合Tab.2 departure line combination of station A
执行待测试项,以测试列车控制系统的功能是否正常。具体为待测试项的软件环境配置可以由测试人员手动配置,在接收到配置完成的指令后,执行待测试项。也可以在生成待测试项后,根据待测试项自动从本地数据库中调用相关数据进行软件环境配置,在接收到配置完成的指令后,执行待测试项。
在执行待测试项时,如果某个待测试项不通过,在修改测试项对应的待测试功能代码之后,重新执行所有待测试项,充分验证车载正常实现精确定位,且其他功能正常实现。
4 结束语
当成熟车载系统的重要基础功能发生变更时,如何正确、准确地识别影响分析范围,是回归测试的重要环节之一。本文提出的回归测试策略对列车定位功能变更的影响进行全面分析,选取成熟测试技术,根据测试环境和地面数据,设计有效的测试方案,并精确定位回归测试范围,保证回归测试的充分性,极大地提高测试效率。