杜亚宇,王 瑞,包 云,武明生
(中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081)
高速铁路灾害监测系统主要对高速铁路沿线的风速风向、雨量、雪深、公跨铁桥异物侵限突发事件进行监测[1]。灾害监测系统的联调联试主要对系统的前端采集设备和后台监测终端的各种性能参数进行测试,并根据铁路局的实际运用情况开展相关模拟测试,是保证线路正常开通运行的至关重要的环节[2]。
随着高速铁路的大规模建设,高速铁路灾害监测系统的规模越来越大,系统与系统之间的互联关系越来越复杂,按照传统的测试方法,已经无法满足现有的运输情况对软件性能的要求[3]。现阶段高速铁路灾害监测系统的联调联试工作主要由人工完成,测试过程中还需要申请天窗点,申请流程复杂并且安全隐患大,其中,风速风向报警延时测试涉及到大量数据校对与计算,靠人力来完成需要耗费大量的时间,尤其多条线路并发测试时,难以按时完成测试工作,智能化联调联试成为必然的发展需求。
国内外智能化测试研究已取得了很多重要的成果,现阶段不同领域的智能化测试方法主要包括:故障类型识别法,故障影响域分析法,故障干预法[4-5]。虽然在实际的软件测试过程中包含较多的第三方测试软件,如WinRunner、QTP等,但是在具体领域的某些特定软件很难采用第三方测试软件进行测试。目前,在高速铁路灾害监测系统中采用智能化测试的方法应用较少,而系统的运行维护数据,特别是故障数据,体现了设备的即时健康状况,基于运行数据对系统的运行情况进行测试更具有时效性和准确性[6]。
本文旨在从高速铁路灾害监测系统联调联试的内容出发,基于系统的运行和维护数据,建立一个智能化联调联试平台,为系统的整体评价提供科学依据。
灾害监测系统智能化联调联试平台(简称:平台)需要录入的基本信息包括:测试的具体设备、测试的系统版本、测试的内容、测试的阶段、测试人员的权限[7]。
平台主要测试内容,如表1所示。
表1 平台主要测试内容
根据具体测试内容的必要性将测试类型分为3种:(1)类测试为必做测试内容,此项测试建议全自动进行;(2)类测试为一般测试内容,此项测试建议半自动进行或者手动进行;(3)类测试为协商测试内容,此项测试建议在测试人员与被测方协商确定测试方案后,手动进行测试[8]。
平台按照测试的需要分为自动化测试和半自动化测试。
(1)自动化测试由测试人员在智能化测试平台直接进行操作,获取测试的基本信息,设定好测试的步骤之后,由系统自动执行测试过程,自动进行分析,最后得到测试结果[9]。自动化测试方法,如图1所示。
图1 自动化测试方法
(2)半自动化测试需要灾害监测系统的操作人员和测试人员进行配合后测试,测试人员在智能化测试平台发布操作命令,灾害监测系统操作人员在得到命令后执行操作,由智能化测试平台对灾害监测系统的数据进行采集,同时完成数据分析过程得到测试结果。半自动化测试方法,如图2所示。
图2 半自动化测试方法
经过对获取的信息进行综合分析之后,得到分析结果,内容包括:被测设备的硬件安装情况、系统网络状况和系统功能实现情况。
平台测试用例按照灾害监测系统的终端属性进行测试用例的设定,根据铁路总公司相关技术标准要求和各个铁路局的规定,测试用例的设定分为自动设定和手动设定[10]。自动设定测试用例的方式为按照平台数据库中已有的测试用例直接使用;手动设定方式为对平台数据库中已有的测试用例通过增加和删除等操作对测试用例进行修改。
平台测试用例配置过程,如图3所示。
图3 平台测试用例配置过程
平台在进行测试用例配置过程中会通知测试人员选择测试用例的配置方式,测试用例的配置方式分为自动设定和手动设定2种方式。
平台的信息采集模块对被测系统的设备信息进行采集后传输给测试用例配置模块,测试用例配置模块在收到信息采集模块的信息后会让测试人员选择采用全自动化测试方式、半自动化测试方式、手动测试方式3种模式的某一种开展测试。
(1)全自动化的测试方式根据系统数据库与被测系统版本以及硬件设备自动完成测试用例的配置,经过测试人员的确定,智能化测试系统自动完成所有测试步骤。(2)半自动化测试方式,需要在系统根据采集的信息完成测试用例配置后,根据测试人员的指令逐步开展测试。(3)手动测试方式需要在测试用例完成设定后,由测试人员对每个测试步骤确认后,逐步开展。
测试人员在完成测试方式的选择之后,系统会提示测试人员进行测试用例设定方式的选择。若选择自动设定,平台会根据采集到的被测终端相关信息,自动加载相关测试用例信息。若选择人工设定测试用例,则平台会由测试人员手动配置测试用例,测试用例配置完成后系统自动进行测试用例的保存。
完成测试用例的设定后,平台测试用例执行模块根据测试用例设定模块的相关内容执行测试用例。
平台主要对系统的前端采集设备和后台监测终端进行测试。测试工作主要由平台的控制模块和测试模块共同来完成,控制模块负责测试相关模型信息的建立,测试模块负责模型测试过程的开展,平台具体的测试流程,如图4所示。
图4 平台测试流程
在模型建立阶段,由平台的设备控制模块自动识别灾害监测系统的软件和硬件信息。在完成系统终端设备硬件和软件的信息采集完成后,在平台终端弹出测试基本信息选择框,由测试人员选择并填充相关信息。高速铁路灾害监测系统的基本信息包括系统类型、系统版本、终端类型、终端型号、厂家名称等。测试的相关基本信息包括测试方式、测试用例设定方式、测试日期、测试姓名、测试地点。根据铁路局确定的限速规则,在测试过程中设定风、雨、雪、异物侵限报警的限速区段,以及不同报警级别对应的限速值。在设计文件中根据设计的实际情况,选择测试的具体内容,并设定判别标准。
在模型测试阶段,平台测试模块在信息系统终端和测试相关信息采集完成后,根据相关技术标准的要求、系统的软硬件信息、测试人员选择的测试方式进行测试用例的配置。测试用例的设定方式分为自动化设定和手动设定,自动化设定方式为平台默认选择系统数据库中已有的标准测试用例,人工设定测试用例为在系统数据库原有测试用例的基础之上,增加或者减少部分测试项以及自定义相关测试内容以达到系统的测试要求。结合模型建立过程中的具体内容,分为静态测试分析和动态测试分析,静态测试分析主要对系统配置、硬件环境进行分析检查确定是否具备测试环境,动态测试分析主要通过在前端设备输入测试数据,检查输出结果是否与铁路局的限速一致,并且系统的整个流程技术指标是否满足设计文件的技术要求。
平台设备测试模块根据已经选择好的测试方式逐步开展测试过程,在设备测试模块开展测试任务的同时,设备控制模块实时采集被测前端采集设备、后台监控终端、系统网络以及系统运行情况的信息,并将这些信息传送给设备测试模块。平台设备测试模块在完成每项测试任务后,根据设备控制模块传输过来的相关信息,进行综合技术分析,得出测试结果。设备测试模块在对每项测试内容的数据进行分析之后,将各项测试结果进行汇总,最后得到系统的整体测试报告,完成整个测试过程。
利用高速铁路灾害监测系统智能化联调联试平台对高速铁路灾害监测系统进行智能化测试,可以实现对高速铁路灾害监测系统的前端采集设备和后台监测设备进行全方位测试,其特点如下:
(1)高速铁路灾害监测系统智能化联调联试平台智能化程度高,能够有效地减少现场测试人员的数量,提高测试效率。同时通过系统有效的算法实现对系统整体性能的综合性评价,减少人为因素对评价准确性的干扰。
(2)随着高速铁路路网规模的不断扩大,高速铁路灾害监测系统的互联互通情况越来越复杂,不同铁路局对系统的要求存在差异,测试人员面临的挑战越来越大。平台能够根据铁路局要求和系统的实际情况进行测试用例的定制,能够帮助测试人员在复杂环境下最快地完成测试任务。
(3)使用平台能够有效地规范测试流程,使得测试人员能够按照统一规范的步骤和内容完成测试任务,减少人为因素对测试的干扰。
平台的研究为高速铁路灾害监测系统的大规模建设、验收和监控提供了良好的基础。在今后的高速铁路灾害监测系统智能化联调联试的研究过程中,将加强对平台与既有灾害监测系统软件接口的研究。使得该平台可以运用于系统的整个生命周期,不仅可以在线路开通运行前对系统的整体安装调试情况进行测试,而且可以在开通运行后实现对系统的全过程监控。