地铁网络控制系统应用软件测试实践论文_郭策

株洲中车时代电气股份有限公司,湖南省 株洲市 412001

摘 要:本文介绍了地铁网络控制系统的测试背景,根据测试流程完成了测试分析、设计、环境搭建、执行、问题确认与总结等测试实践工作,并对相关测试方法和工具进行了讨论与思考,为后续开展工作提供了经验。

关键词:网络控制系统;软件测试;测试实践

一、引言

软件作为轨道交通领域内非常重要的产品,发挥着不可或缺的作用。随着公司软件业务的不断扩展,软件的产品质量也越来越被重视。而作为列车软件核心的网络控制系统,其稳定性、可靠性、安全性更是关键中的关键。因此,在软件生命周期中,通过软件测试来发现并改正软件中的缺陷,提高软件产品质量,就显得尤为重要。本文以某地铁网络控制系统应用软件测试为例,阐述了列车网络控制系统的测试方法实践并且进行了思考与提升。

二、被测对象简介

地铁网络控制系统使用分布式控制技术,即分布采集及执行,中央集中控制与管理的模式,由车辆控制模块VCMe、数据记录模块EDRM、数字量输入输出模块DXM、数字量输入模块DIM、模拟量输入输出模块AXM和人机接口装置HMI等组成,通过MVB总线与主变流器控制单元TCU、和制动控制单元BCU等智能设备进行通信。数据流程图如下图1所示。

网络控制系统应用软件数据通信量大,响应时间要求严格,系统承载负荷大,用户日常操作频繁,因此要求软件有较高的可靠性、可用性及安全性,通过测试发现软件中存在的潜在问题缺陷并对其进行分析,促使设计人员持续改善软件设计来提升性能,提高质量。

三、测试实践

项目实施过程按照测试需求分析-测试用例设计-测试环境搭建-测试执行-问题确认-测试总结的流程开展。

3.1测试需求分析

被测软件为嵌入式软件,列车网络控制系统负责整车的控制、状态监测、故障分析、安全导向等功能,与其相关联的第三方设备众多。为便于测试工作有序的开展,在进行测试设计之初,需要对软件进行需求分析。需求分析是测试策划的基础,关系着工作量的预估、人员和进度的安排、资源的优化以及测试方法的选择等;它是测试设计的依据,关系着测试用例的设计、测试数据的产生,进而影响着软件缺陷的发现,并且从实际测试项目来看,软件测评过程中发现的软件缺陷很大程度上是由软件需求所引起的。“软件测试需求必须100%覆盖软件需求”,软件测试需求必须以软件需求为基础,对一个软件需求分解n(n>=1)个测试需求。

网络控制系统应用软件测试的输入文档主要是软件需求分析说明书以及其他相关设计文档,对被测软件的输入文档中所描述的需求进行分解,同时对输入文档中没有明确定义或提到的隐含软件需求进行深入挖掘以形成测试需求。

本次测试应当覆盖地铁网络控制系统软件需求说明书中提到的所有功能的需求内容,根据需求先将软件进行区分,主要包含三个方面的内容: VCMe模块软件,EDRM模块软件和HMI软件。

本次测试所覆盖的需求点较多,在做测试需求分析时需要全面考虑,才能够对软件进行充分、全面的测试。

3.2测试用例设计

针对需求分解后的测试需求项的每种情况,使用多种方法和手段,结合测试环境设计出满足要求的测试用例。为达到不同的测试充分性要求,应采用相应的测试方法设计用例,如等价类划分、功能分解、边界值分析、判定表、因果图、随机测试、猜错法和正交实验法等。在软件测试过程中,应采用适当的测试方法,实现测试要求。

以VCMe模块软件测试用例设计为例,根据测试需求分析的4个测试需求点:功能测试、安全性测试、恢复性能测试、边界测试,按照每个测试需求点逐一进行测试用例设计。功能测试主要是对软件通信功能、逻辑控制功能、其他功能等所有功能点的测试,包括正向功能测试和反向功能测试。安全性测试主要是针对软件中涉及安全功能的功能点进行测试,如故障检测、故障提示等。恢复性测试包括对软件发生故障之后,1)消除故障产生条件,故障是否会消除;2)故障复位后,软件是否接触相应的保护功能。边界测试主要是针对数据输入的边界条件进行测试,主要涉及输入参数等于最小边界值、等于最大边界值、小于最小边界值、大于最大边界值、在边界值之内的情况。

共编写用例4159条,其中,VCMe应用软件测试用例586条,EDRM应用软件测试应用2769条。HMI应用软件是人机界面,因此测试用例采用的是图文并茂的word格式风格编写,共804条。

3.3测试环境搭建

在对网络控制系统应用软件进行测试之前,应该根据被测软件特性搭建一套满足测试需求的测试环境,而测试环境是否安全稳定将直接影响到后续的测试执行工作。网络控制系统应用软件测试环境搭建中所使用到的模块较多,搭建测试环境的复杂度也较大,同时其模拟程度也较为真实,期望能够模拟出现场环境中可能出现的所有问题。

地铁网络控制系统应用软件测试环境为纯软件测试系统,由被测模块(用于运行被测软件)、陪试模块(用于运行陪试软件)和测试终端(进行查看和输入数据)等组成。其中陪试模块与被测模块之间通过MVB线连接,测试终端通过串口和以太网与陪试模块和被测模块相连接,列车显示器通过MVB线与被测模块连接。在环境搭建完成后,测试和开发人员需要对环境进行确认,以确保其能够满足本次测试工作,测试环境如图2所示。

执行终端中的测试软件模拟MVB网络除被测模块和显示器以外设备的数据流,数据流通过以太网发送给陪试模块,陪试模块将数据流按照定义转换成被测模块和显示器可以识别的MVB数据;陪试模块将被测模块和显示器的MVB数据和以太网数据统一转换为以太网协议数据,通过以太网上传至执行终端。通过这种方式,在数据流层面,被测模块等同于在完整地MVB网络中工作,实现执行终端和被测模块的通讯交互,以此达到测试的目的。

3.4测试执行

本次对地铁网络控制系统应用软件的功能、安全性和恢复性等进行了测试,具体执行日志和问题记录情况可见《测试问题记录与执行日志》。

通过执行测试用例的结果分析,测试评估如下:

1)其中VCMe软件测试用例586个,测试实际执行测试用例586个,其中通过547个,不通过39个,未执行用例为0个,测试执行率为100%。

2)回归测试实际执行测试用例39个,其中通过39个,不通过0个,测试执行率为100%。

3.5问题确认

经与设计人员确认,本次软件测试第一轮动态测试发现各类应用软件相关的问题共39个,其中显示器程序问题12个,逻辑控制程序问题27个,需求问题16个,通信协议问题7个,其中A类问题0个,B类问题3个,C类问题18个,D类问题6个。

为了规避缺陷流入现场,造成更大的损失,针对每个问题进行了详尽的讨论、分析,并确定了解决方案。

3.6测试总结

在本次测试项目中,采取先将网络控制系统应用软件进行区分,再分别对各个软件功能点进行测试需求分析和用例设计。在实验室搭建一套纯软测试环境,通过以太网与MVB交互数据的网关以“激励-响应”的数据流驱动方式测试CCU的软件逻辑功能,希望通过对现场环境的模拟来测试出现场可能出现的缺陷和问题。在环境搭建完成后进行测试用例执行,对于发现的缺陷和进行梳理,找出其根本原因,从设计上进行改进,将其消灭在源头,提高软件的质量。

四、思考与提升

4.1关于测试方法的思考

在列车网络控制系统应用软件测试需求分析过程中,可以针对整个系统的功能点进行分类测试,或者也可以将软件区分开并针对各个软件功能点进行测试。对这两种测试方法进行思考,分析其优劣,选取合适的方法进行测试。地铁网络控制系统软件较多,系统功能点复杂,如直接对整个系统功能点进行测试,发现问题或缺陷后,有可能无法准确定位问题或缺陷来源,需要额外花费时间去寻找其来源,导致测试效率降低。如先将系统软件区分并针对各个软件功能点进行测试,发现问题和缺陷后,可以快速准确在某个具体软件功能点上定位其来源,提升测试效率。因为针对软件功能点测试的方法被测对象清晰,问题定位准确,较为合适本次测试,故选取其为本次网络控制系统应用软件的测试方法。

4.2网络自动化测试系统的应用

随着目前列车网络接入的车载设备越来越多,列车网络承载的数据流量越来越大,网络控制功能越来越复杂,导致列车网络控制软件差异化日益增大。在这种情况下,使用自动化测试系统对软件产品质量保证和提高测试效率都起到了积极作用。

目前自行开发的网络自动化测试软件目前已经进入使用阶段,该系统主要是根据导入的数据传输协议自动生成陪试程序并且将测试用例和测试脚本进行合并,通过导入测试用例,由系统自动执行测试用例并生成测试执行结果,有效减少了测试所需时间,提高了测试效率。在后续的网络控制系统应用软件的测试中将会更多的运用网络自动化测试系统进行测试,以达到提升测试效率的目的。

五、结语

通过网络控制系统应用软件测试实践,在实验室提前预防、发现和解决软件中的缺陷和隐患,并经过设计人员的修改,软件产品质量得到了进一步的提高,可靠性得到了有效保障,有利于公司降低成本、提高效益。在未来,还要继续加强对相关软件的测试技术、测试方法、测试工具的研究,并通过在实际项目中实践应用,为列车安全稳定运行保驾护航。

参考文献:

[1] 刘鹏翔,李文波,费巧玲. 网络控制应用开发软件合格性测试浅析 [J].机车电传动,2013(10)

论文作者:郭策

论文发表刊物:《科学与技术》2019年第04期

论文发表时间:2019/7/9

标签:;  ;  ;  ;  ;  ;  ;  ;  

地铁网络控制系统应用软件测试实践论文_郭策
下载Doc文档

猜你喜欢