新型列控系统中RMU 自动化测试研究
2021-05-10李春慧
李春慧 曹 欣
我国西部和边远地区地域辽阔、国防安全意义重大,但是自然环境恶劣,且交通及通信基础设施不完善,给铁路建设、运营和维护带来了很大困难。基于动态间隔的新型列控系统(以下简称新型列控系统)优化既有信号逻辑,采用卫星定位、多模通信、运能动态配置等技术,能够实现轨旁设备最少化、通信多模化、车载中心化、运能适配化和维护智能化。该系统去除轨道电路,尽量减少轨旁设备,可以有效降低建设和运维成本,同时可以极大地减少信号设备现场调试和测试时间。
1 RMU 自动化测试的必要性
新型列控系统架构见图1。其中RMU(资源管理系统)作为新型列控系统的地面核心设备,高度集成既有CTCS-3 级列控系统地面RBC、TSRS、TCC 和联锁设备部分功能,从而降低系统接口复杂度,减少轨旁设备。
图1 新型列控系统架构
RMU 基于二乘二取二架构的安全平台,主要完成列车位置管理、列车状态管理、运能调整、资源管理和分配、运营计划管理、差分和地图管理等功能;实现与车载系统(OBS)、目标控制器(OC)、动态运能决策系统(DCD)、地基增强系统(TAAN)、列控维护支持系统(IOM)的通信和信息交互。
针对RMU 的测试涉及功能、接口、性能等方面,具有以下独特的特点。
1) 繁多的数据测试。如对简单标准站来说,仅布尔数据就有562 个,而当管理的车站数更多时,数据量会成倍增长。
2)测试激励和响应之间的关系难以建模。布尔方程中变量最大可以达到300 项以上,且变量之间存在强耦合,如果对其进行准确的数据建模,涉及的工程异常繁杂,可实现性较差。
3) 核心系统的安全水平和测试工作要求高。RMU 作为SIL4 级安全产品,对于需求覆盖强度和测试完整性都有更高的要求。
4) 回归测试的工作量大。在工程化RMU 上线后,短时间内需要开展大量的回归测试。
针对上述RMU 系统测试的特点,传统的人工测试已不能很好地满足项目管理的质量、进度、成本和安全的要求。而自动化测试可以很好地解决RMU 系统测试重复性高、工作量大等问题,未来必将成为主流发展趋势。人工测试可与自动化测试相辅相成,将更加集中应用在高复杂度的测试中,如探索性测试等。
2 RMU 测试环境
RMU 测试环境见图2。其中被测对象RMU 的核心计算单元由平台和应用软件构成。CVC-200T平台完成安全通信功能、系间(通道间)数据同步功能、安全防护功能、表决和监视功能等;ASW应用软件完成RMU 的应用功能;布尔规则主要实现部分联锁逻辑;SDMS 维护诊断系统主要记录系统各类维护报警信息及日志。其他模拟器实现的功能如下。
图2 RMU 测试环境
1) DCD 模拟器与RMU 交互联锁操作命令、临时限速命令和运能调整策略等消息。
2)TAAN 模拟器模拟差分消息的发送过程。
3) OBS 模拟器模拟车辆的主要功能,并与RMU 进行资源分配信息、列车状态信息、差分信息和电子地图的交互。
4)OC 模拟器与RMU 交互道岔状态的采集和驱动信息。
5)IOM 模拟器模拟与RMU 之间的心跳消息,接收来自RMU 的维护诊断消息。
3 自动化测试设计
RMU 测试用例的输入和输出较为明确,所以其测试过程虽然较为复杂,但是如果将多个测试用例根据业务类别组合为测试套件,然后对其建立数学模型,建立一个简单而直观的测试序列,则可以通过开发通用的自动化测试软件来实现自动化测试。
自动化测试可以严格参考相关测试的测试序列定义,当测试中发现异常时,可实现自动跳变和自动报警。在提高测试效率和准确性的同时,还可以节省大量的人力、物力,方便测试评估。例如,自动化测试可以分析由多个用例组成的测试套件的执行效果,可参考测试用例来形成更直观、准确的评估和分析报告,并以示意图等方式展示给相关测试人员,以进一步分析测试完成率和功能需求覆盖率等指标。
如图3 所示,RMU 自动化测试主体架构可分为3 个层级,自下而上分别为资源层、基础服务层和应用层。
图3 RMU 自动化测试系统主体架构图
资源层是核心处理部分,根据应用层提供的脚本信息执行自动化测试。布尔数据及ASW 数据构成了基础数据库;测试规则和程序跳转规则等存放在智能专家库中。主测试处理机首先根据不同的OBS/DCD/TAAN/OC/IOM 消息激励,调用相应的布尔数据及ASW 数据;其次,根据相应的测试规则执行具体测试脚本,并将测试过程和最终测试结果输出给用户。当某个脚本执行失败,通过程序跳转规则实现程序的自动跳转和问题原因的自主分析。资源层核心处理过程见图4。
图4 资源层核心处理过程
AI 领域中,基于产生式规则的知识表示是最受用户欢迎的一种方式。产生式规则由一定条件和相应动作组成,即满足某个条件时执行相应的动作。智能专家库对这些规则进行加工和处理。
在项目发生重大变更或进行回归测试之前,智能专家库需要参考需求文档,对测试用例进行变更,或对测试环境进行相应的更新和维护,然后通过专家评审和验证来降低规则库本身引入问题的概率。
基础服务层是资源层与应用层的接口,主要负责数据的导入/导出功能。基础服务层中简单的数据库访问操作可由数据库访问提供;通过FTP 协议进行的文件数据传输、TCP/IP 协议的连接,以及数据包的接收等均通过网络访问实现;文件操作管理测试脚本的导出和导入功能;图形设备接口负责资源层的各种数据操作和自动测试系统的人机界面操作。
应用层主要面向测试人员,为测试人员提供脚本编写、实时测试信息显示、故障及测试结果显示等。应用层分为表现层和逻辑层两部分。逻辑层在整个自动化测试过程中管理相应的配置信息,使表现层能够专注主要的业务逻辑。其中,表现层各界面功能如下。
1)测试准备界面:对测试需要执行的脚本进行编写或更新。
2)测试执行界面:可以在实现测试脚本自动执行的同时,实时显示系统跳转状态和脚本执行状态。此外,测试执行界面还可以为用户提供系统跳转的原因,以进行分析排查。
3)测试评估界面:对覆盖率、执行结果、脚本通过率及失败原因等进行统一展示。
4 具体实施示例
以功能需求“当RMU 判断资源方向与列车运行方向一致、列车验证数据已确认(M8已发送)、列车定位明确、LRBG可识别,且列车处于新型列控等级时,应向车载设备发送RA”为例,进行测试分析。
当仅测试单一故障时,有如下几种情况:①方向不可识别;②未发送M8;③列车定位不明确;④LRBG 不可识别;⑤列车等级不为新型列控等级。
每一种单一故障为一个跳转规则,当前一个单一故障测试出现问题或者执行完毕后跳转至下一个单一故障测试。每一种单一故障的测试需要覆盖列车位于区间、咽喉区、跨站区、同时跨压多个闭塞分区等4 种场景。
5 实际应用效果
RMU 自动化测试统计汇总见表1。在测试执行阶段,全部197 条测试用例中,183 条用例是通过自动化测试完成的,自动化程度高达92%。
表1 RMU 自动化测试应用统计
表2针对手动测试和自动测试进行了准备期和测试期的人力资源展示。在多轮测试中,手动测试的准备和测试阶段均较自动测试消耗了更多的人力资源。相较于手动测试,自动化测试效率提升了近55%。
表2 测试资源统计 人·天
6 总结
在整个RMU 产品的测试周期内,重复性数据测试量庞大,并且在RMU 进入稳定阶段或者工程化阶段后,还要开展较多的回归测试,传统的人工测试耗时耗力,而自动化测试系统可有效重复利用测试数据资源,提供测试评估内容,可最大程度地辅助测试人员,并使其集中精力在探索性测试等高复杂度的测试及测试流程优化等工作中。