知识丨浅谈轨道交通信号系统的测试类型与测试方法

2022-11-10 09:28:22 digiproto
城市轨道交通信号系统是一个安全性、可靠性和可用性都很高的软硬件系统,整个开发周期和流程中涉及多个环节的测试过程,完善的测试是确保达成设计要求的必要保障。本文对测试过程进行简单的介绍和分类,探讨不同的测试方法和不同测试阶段的结合,并对未来测试发展进行初步讨论。


测试类型

轨道交通信号系统主要包括车载、轨旁、中央控制中心的子系统软件,也包括了相应子系统的硬件设备以及他们互相通信的网络;


针对软件的整体开发周期和对应的测试活动,可以由图1来体现。

图片关键词

▲图1  软件开发周期和测试类型


具体涉及到的测试类型如下:


软件单元测试和模块测试

针对特定子系统(车载、轨旁、中央控制中心)软件的一些基本构成单元以及不同的模块进行测试的方式与手段。单元测试是基础性的软件测试方式,利用单元测试的方式对计算机软件进行测试,可以保障计算机软件的各项基本功能的完善性,可以提升计算机运行的安全性与稳定性。在软件的单元测试过程中,必须要了解与掌握一些基础程序,充分理解设计原理,基于程序原理对主要的编码进行分析,一般由专业的软件开发人员执行。


软件集成测试

针对特定子系统软件,把一个子系统看做一个整体,利用集成测试可以了解不同软件模块连接的正确性,如果不同的模块在连接过程中出现接口问题,就会影响整个软件的正常运行。因此,在一般情况之下,主要就是基于软件测试的设计开展集成测试,利用对模块的集成处理方式,在大区域模块中对其进行测试,继而了解不同模块运行的状况,了解其运行模式是否统一,在运行过程中是否存在各种问题与不足。软件集成测试由软件工程师执行;


子系统验证测试

验证子系统软件的实现是否符合系统设计的需求设计,对需求的正反向条件进行不同场景的验证测试,针对与其他子系统的接口功能,以及真实车辆或轨旁元素的信号输入都是由仿真器模拟的。由独立于软件开发团队的测试团队执行;


硬件质量鉴定测试/新品首件检查

对于轨道交通信号系统中新设计的硬件零部件或整体子架,在正式使用前,需要对新设计的硬件部分进行新品首件测试,测试包括电磁兼容性、环境、静电、辐射干扰、传导发射、温湿度等;可以由第三方硬件专业测试机构完成,并获得相关证书认可。


硬件生产测试/硬件工厂验收测试

设计的硬件得到质量鉴定认可后,可以使用在整个系统中,部分硬件设备在正式发到轨道线路之前,需要先在工厂完成安装,他们安装和生产需要符合硬件的检验标准,包括零部件安装配置、压接、标识、布线、通断测试等;由硬件测试工程师在实验室执行。


软硬件集成测试

在实际的轨道交通信号系统中,子系统软件不是独立运行在普通的PC机器中,需要在实际的车载或轨旁设备单板中运行,而单板又需要在整体的子架硬件中,软硬件集成测试的主要目的,就是让软件在真实的硬件平台上运行,并同时验证相关功能的正确性。由测试团队在实验室执行;


安装后检验

轨交信号系统的各个组件需要在实际的轨道交通线路中安装,为了确保安装符合设计的多方面要求,如位置,连接,电源等,需要进行静态的检验;由现场测试团队在现场执行;


系统工厂集成测试

多个子系统相互集成,包括了真实的软硬件设备,更注重子系统之间接口的交互功能,以及在多子系统集成环境下整个系统的稳定性测试。由测试团队在实验室执行;


数据通信系统测试

轨道交通信号系统中涉及车载、轨旁、中央控制中心的网络通信,车载与轨旁的无线通信,中央控制中心与车载和轨旁的有线网络通信,数据通信系统测试主要确保网络的通畅以及网络数据的安全性。由数据通信测试团队在现场执行。


现场测试

即使在工厂集成测试中已经包含了所有的子系统功能,但实际的轨道交通信号系统中的真实车辆和轨旁元素的信号输入,以及网络连接都是在实验室中无法真实体现的,因此,在所有网络通信以及所有子系统安装就位后进行现场测试,现场测试主要是针对真实的全系统测试,测试偏重于整个系统的基本功能和系统的稳定性。由现场测试团队在现场执行。


试运营

在所有的系统测试和现场测试完成后,确保轨道交通信号系统正式运营安全无误,需要进行试运营的测试,确保各子系统、各部门的工作协调和安全配合。由信号系统厂商以及运营维护团队共同执行。


测试方法和分类

根据测试行为的方法学,测试可归类为验收测试和内部测试。

验收测试:要求将测试结果提交给用户,并且通常用户被邀请见证测试。验收测试包括了工厂集成测试、现场测试。

内部测试:不需用户见证测试。但是,此类测试结果将提供给用户,或者记录并归档,并根据需要可以给用户审核。


根据测试的对象,测试可分为软件测试、硬件测试和集成的硬件/软件测试。

软件测试:检验软件设计并证明其遵循既定的子系统软件需求的测试。软件测试包括软件单元测试、模块测试、软件集成测试、子系统验证测试。

硬件测试:检验硬件设计并证明其遵循既定子系统硬件需求的测试。硬件测试包括硬件质量鉴定测试/新品首件检查、子系统硬件生产测试,硬件工厂验收测试和安装后检验。

集成的硬件/软件测试:涉及硬件和软件,它们在子系统层面和系统层面集成,包括工厂集成测试、现场测试和试运营。


根据测试的逻辑,测试可分为白盒测试和黑盒测试,这种测试分类主要是适用于软件测试。

白盒测试:白盒测试在相关领域当中也被称作逻辑驱动测试、软件结构功能测试,该测试方法的主要检测对象是软件,通常情况下测试人员会借助专业的测试工具辅助测试。白盒测试重点是监测软件内部逻辑构造,检验所有逻辑辨别的真假两种状况,检验所有循环变量的初值、中间值以及终值,检查流程的内部数据构造有没有效果。白盒测试能够给予程序员软件内部逻辑措施以及不科学程序语言设计建议,为了改善软件质量提供有效渠道。白盒测试包括软件单元测试和模块测试。


黑盒测试:黑盒测试法是一种以运用等价类划分为主要方法的计算机软件测试方法,也就是根据具体的测试方案,将软件所有输入区域划分为多个相互独立的子集,并确保各个子集元素等价。然后,再采用等价类划分的方法,对软件各项功能进行测试。这是一种比较方便的测试方法,测试人员只需要在每个子集中选择一个元素进行检测,便可判断该子集所有元素正常与否。另外,黑盒测试法可以与边界值分析法结合,具体就是对运用等价类方法测试出来的结果取边界值,以此测试软件数据运行过程的完备性。除了单元测试和模块测试,其它测试基本都属于黑盒测试范畴。



其它测试方法的探讨

自动化测试

自动化测试是区别于手工测试的一种测试方法,传统的手工测试耗时时间长,随着产品的开发,测试项目和测试用例的增多,为了提升测试效率,自动化测试已经变得越来越重要。现阶段我们已经可以利用Testbed、DSM-based Test 等测试工具实现部分测试的自动化,主要运用到上述章节的软件集成测试和子系统验证测试中。真正全面的自动化测试应该是全面覆盖测试分析、测试脚本的生成以及测试结果的分析,能够切实降低人工成本以及提高测试效率,所以全面自动化测试将成为未来测试的主流及主要研究方向。


图2为Testbed的主要工作原理,左侧的Testbed工具提供了被测模块的封装,同时提供接口,自动化测试场景中调用接口函数,注入测试的输入,通过接口函数获得被测模块的输出状态,从而判断是否符合期望结果,整个过程全部由程序代码实现,不需要人工介入。

图片关键词

▲图2  Testbed原理图


敏捷测试与测试驱动开发

为了提高测试工作效率,实现自动化测试,还需要注重敏捷测试方法和驱动开发理念的运用,以便促使开发周期缩短,实现系统的良好运用。在敏捷测试方法中,对以往的测试流程有所裁剪,提高了测试速度,如版本正式发布前的dry-run测试,就是减少测试流程的时间,根据需求和经验,针对变化模块的场景测试,在测试过程中,一旦发现问题,可在第一时间进行反馈,减少了版本发布的频度。在进行软件质量测试时,同时可结合测试需求进行测试用例的编写,确保了测试的针对性、目的性,能够更好地反映软件质量,做出有效改进。


结束语

测试的目的是发现问题,在越早期的开发和测试阶段发现问题,测试的成本和问题解决的代价越小,越到后期的集成测试,现场测试等发现问题,定位问题和解决问题的成本都会很高,因此完善早期阶段的测试活动,提高自动化测试比例,增加自动化测试场景用例等,可以提高整体产品的质量和降低产品的成本,也是后续测试工作的发展方向。


转载自控安51fusa安全社区

原文链接:https://mp.weixin.qq.com/s/SZ8AnXliey_sj-BKWk2whw


首页
产品
新闻
联系