APP下载

基于智能专家库混合模型自动化测试在青藏铁路RBC系统的应用

2020-08-22李春慧

铁路通信信号工程技术 2020年8期
关键词:青藏铁路脚本模拟器

李春慧,夏 明

(卡斯柯信号有限公司,北京 100070)

1 RBC测试的特殊性

青藏铁路开通以来,青藏集团累计运送货物5.56亿t,货物运送由2006年2 491万t至2017年的4 572.7万t,年增长率为5.7%,2018年西藏自治区GDP总量超1 477亿元,是青藏铁路全线通车前的248.8亿元的5倍多。由此可见青藏铁路对西藏的发展起到的巨大助力[1]。

RBC作为青藏铁路增强型列车控制系统(Incremental Train Control System,ITCS)地面设备的核心,基于2乘2取2架构的安全平台,主要完成既有ITCS系统中的RBC和信号逻辑相关功能,负责接收来自调度集中系统(Centralized Traffic Control,CTC)的操作命令,同时反馈状态信息和维护信息。通过无线通信系统把管辖区域内的信号设备状态发送给车载设备,获取列车占用信息,同时将差分定位信息发送给车载用于列车定位,架构如图1所示。涉及到功能、接口、性能等方面的测试,与其他的被测系统一样,给被测系统激励信号,同时获得相应响应。RBC系统有其自己的特殊性。

1)测试数据量庞大。仅针对布尔(BOOL)数据,对于简单安多站的BOOL数据量达到562个,单个RBC管辖2到3个站的时候,数据量会直接翻翻。RBC上电后会每周期去计算所有的数据。

2)测试激励与响应之间关系复杂。最大的布尔方程式可以达到300项,而且各个变量之间耦合性非常强,建立一个准确的数学模型非常难,甚至不现实。

3)关键系统,安全等级高。RBC作为SIL4产品,其测试强度及测试完整性的要求都非常高。

4)产品工程化上线后,会有大量的回归测试并且对时间要求更加苛刻。

传统的人工测试无法更好的满足时间、质量、安全及成本的关系。对于重复性高且工作量大的测试,自动化测试是必然的趋势,人工测试更应该集中在探索性测试等复杂度高的测试场景中。

图1 ITCS-RBC系统架构Fig.1 Architecture of ITCS-RBC system

2 测试环境架构与功能

测试架构如图2所示,各部分完成功能如下。CTC模拟器模拟CTC主要功能,与RBC交互联锁操作命令、表示信息、临时限速命令和临时限速确认消息。

图2 ITCS-RBC系统测试环境Fig.2 Test environment of ITCS-RBC system

全球定位系统(Global Positioning System,GPS)模拟器模拟GPS功能,模拟差分消息的发送。OBC模拟器模拟车载主要功能,与RBC交互列车状态、占用状态、信号状态、道岔位置,临时限速和差分信息。

LRBC模拟器模拟邻站RBC功能,与RBC交互改方请求、改方回执、Lost of integrity(LOI) 封 锁状态、区间占用状态、由车地通信导致的LOI状态、区间区段封锁状态、边界区段的占用状态和LOI状态。

Vital In-Out Platform(VIOP)模拟器主要模拟VIOP平台主要功能,与RBC之间交互道岔位置, 列车信号机和调车信号机状态, 上行区间发车请求,下行区间发车请求, 上行区间发车照查, 下行区间发车照查;下行方向允许发车,上行方向允许发车,下行区间接近区段占用,上行区间接近区段占用,RBC健康状态,下行区间接车方向,下行区间发车方向,上行区间接车方向,上行区间发车方向信息。

3 自动化测试设计

RBC测试过程复杂,但是每一条测试用例都具有明确的输入和输出。将若干个用例按照测试业务组合成测试套件。对测试套件进行数学建模,建立简洁、直观的自动化测试预言定义测试序列,开发通用的自动化测试软件按照测试序列定义进行测试[2]。当出现异常时完成自主跳转及报警。根据测试套件执行情况,依据测试用例,完成详细的测试评估报表。以示意图的形式显示给测试人员进行功能需求覆盖率及测试完成度的分析。

ITCS-RBC自动化测试系统分为3个层次[3],由应用层、基础功能层和资源层组成,如图3所示。

图3 自动化测试系统组织架构图Fig.3 Architecture diagram of automatic test system

第一层为资源层,其中基础数据库由BOOL离线数据、ASW(Application software)离线数据和MSW(Middle software)离线数据组成。智能专家数据库中存放测试规则及程序跳转规则。主测试处理机根据测试准备界面用户输入的本轮需要执行的测试脚本,通过调用离线数据、OBC/VIOP/CTC等消息和智能专家数据库的测试规则来执行测试脚本,发出测试过程及测试结果信息。当某个脚本执行失败,需要根据智能专家测试库的规则来自动实现程序跳跃和问题原因分析。

基于产生式规则的知识表示方式是人工智能领域中最为广泛的一种[4]。一个规则由两部分组成:如果满足条件1,则执行动作1。

所有的规则都可以由基本规则衍生出来,如图4所示。智能专家数据库要做的工作就是加工和处理这些规则[5]。

图4 规则组合Fig.4 Rules combination

专家知识库[6-7]在每次回归测试前或者重大变更后,依据需求,测试环境或用例的变更进行维护和更新,并且经过专家的评审和验证,以避免规则库本身引入或者屏蔽被测对象的故障。测试人员的工作状态、测试环境、身体条件,人员变动等会直接导致测试质量下降或者波动。规则库的使用则很好的规避上述问题。

第二层为基础服务层,数据库访问提供基本的数据库访问操作;网络访问建立TCP/IP连接、接收数据包及FTP协议传输文件数据等;文件操作管理测试脚本导入、导出功能;图形设备接口是自动化测试系统的人机图形操作接口,提供对资源层各类数据的操作。

第三层为应用层,由逻辑层和表现层组成。逻辑层管理自动化测试系统的配置信息,使用功能表现层能够专注主要的业务逻辑,提供管理用户及权限验证等功能。

表现层测试准备界面:脚本编写本轮要执行的脚本的选择与发送等。

测试执行界面:自动执行测试脚本,实时显示脚本执行状态,实时显示系统跳转状态,同时记录跳转原因。

测试评估界面:显示脚本执行结果,通过率,覆盖率及失败脚本的原因。这个自动化逻辑功能[8]如图5所示。

图5 规则设计思路Fig.5 Rule designing

4 实际与应用

在ITCS-RBC自动化测试准备过程中完成测试程序自动发布,编译和安装,减少了由于人工搭建测试环境出错的可能,也大大提高了测试效率,目前RBC已经完成了ISA认证和室内验收,具备上道的技术条件。

在测试执行阶段,经统计如表1所示,对于数据验证累计403条用例,其中能够通过自动化完成测试的用例合计385,自动化程度达到95%。大大减少了重复性工作。

累计四轮测试的资源统计如表2所示,单位:人/天。累计四轮测试准备人工为86人/天,测试工时78人/天;使用自动化测试,测试准备人工为59人/天,14人/天。测试效率提高了55%。

表1 自动化测试系统应用统计Tab.1 Applied statistics of automatic test system

表2 测试资源Tab.2 Test resource 人/天

5 总结

对于RBC产品测试存在大量的数据测试可重复性高且工作量大。另外在产品进入稳定阶段或者工程化阶段后,存在大量的回归测试,自动化测试系统提高了测试数据资源的重复利用率,同时可以解放测试人员使其能够专注于更复杂的测试设计及测试过程改进等工作中,这对于青藏铁路复杂环境下的货物运输会提供强有力的助力和信心。

猜你喜欢

青藏铁路脚本模拟器
酒驾
驾驶模拟器转向系统的设计与研究
了不起的安检模拟器
盲盒模拟器
划船模拟器
安奇奇与小cool 龙(第二回)
青藏铁路
自动推送与网站匹配的脚本