曹云刚
(贵州交通职业技术学院,贵州 贵阳 550008)
随着我国经济的高速发展,各大中型城市处于不断扩建中,城市的占地面积和城市人口都在与日俱增,全国的城市轨道交通建设进入了迅速发展期间。为了保证城市轨道交通能够更加安全、高效地运行,各个城市的轨道交通建设放弃选择使用原有的基于轨道电路的列车控制系统(TBTC),采用新一代的列车控制系统-基于通信的列车控制系统(CBTC)[1]。
在现有的城市轨道交通系统中很多都采用了CBTC系统,但是很多城市地铁都出现过大大小小的事故[2]。在CBTC系统中,车载设备保证着列车的安全行驶,系统功能都需要通过车载设备来实现[3],因此完成CBTC系统测试中重要的一个环节就是对列车的车载设备进行调试[4]。
本文根据CBTC系统的设计规范,借助车载设备的测试平台对车载设备进行测试。通过测试平台软件,观察车载控制器内的数据变化,对测试参数进行具体分析,最后基于工程实践的经验,对CBTC系统测试用例进行设计。
CBTC系统是采用移动闭塞的原理对列车进行控制。在CBTC系统下,运用无线通信的方式实现车-地双向实时数据传输[5]。列车不再是单一地接收地面传到车载设备的控制信息,它还需将列车的位置信息和列车的运行信息及时反馈给地面设备[6]。地面设备通过得到的列车信息计算出列车的移动授权(moving authority,MA),并且动态更新,将移动授权通过车-地通信网络传输到车载设备[7]。车载设备根据收到的移动授权信息和当前列车的运行状态,计算出列车的运行速度曲线,控制列车的牵引、制动与运行[8]。
CBTC系统中车载设备需要接收来自于ATS系统、区域控制器ZC、计算机连锁CI及地面信标的信息,同时需要将处理的信息反馈给各系统,其之间的逻辑关系非常复杂[9]。考虑到输入条件相互组合会出现一些新的情况,检查这些条件的组合相当困难,所以在测试方法的选择上需要考虑采用一种适合描述多条件组合,产生相对应的多个动作的形式来设计测试用例。这样需要利用因果图法对测试用例进行设计。
因果图模型主要包含因果图结构与参数两个部分。其中因果图结构包含4部分,即中间事件、基本事件、逻辑门和连接事件。图1为因果图的理论示意图。
图1 因果图理论示意图
其中,X代表中间事件,指任何带有原因的事件;B代表基本事件,指没有原因或无需追究其原因的事件;G代表逻辑门,主要对输入的原理进行逻辑运算。并得出相对应的输出事件;P代表连接事件,连接事件至始至终都指向中间事件。
判定表的生成是运用因果图法进行设计测试案例的过程中至关重要的一个步骤,同时也是相对困难的事情。判定表由条件桩、行动桩、条件条目与行动条目4个部分组成。目前,很少有文献给予一个非常明确清晰的转化算法,所有的测试用例基本都是由工程实践中得出。本文针对现有的一些转化方法进行研究,提出采用条件遍历算法来对因果图进行转化,其算法框架如图2所示。
图2 遍历算法流程图
通过上述方法,可以发现经过一次次的条件遍历,中间事件通过遍历找出其产生的基本事件,最终可以得到由基本事件构成的测试输入数据。在执行此算法时,需要注意此算法针对单动作输出的情况进行设计。如果遇到多动作产生的情况,测试人员需要将各动作的输入条件进行分析,找出各输入条件的制约关系,对测试案例进行设计。
车载设备作为CBTC系统中最为重要的部分,主要负责保护列车行驶安全、防止列车超速和防止列车进入前车的运行区间,对列车安全与列车的运行效率起着极为重要的作用。由此可见,在列车运营之前对车载设备的测试工作也显得格外重要。本文选取有关ATP速度防护功能,结合研究的因果图法测试案例的原理,对测试案例的生成进行研究。
车载ATP速度防护主要包含两个方面计算:触发紧急制动的速度计算和当前推荐运行速度计算。在列车行驶中,车载设备会实时地将以上两个速度值反映在车载人机界面中,让驾驶员可以实时地监控列车的行驶速度。一旦列车超出当前的推荐速度时,车载设备会给予驾驶员警告信息。若此情况在规定时间内消除,列车将继续安全行驶;但此情况未能及时消除,列车的ATP功能将会启动紧急制动以保护行车的安全。图3为车载ATP防护的逻辑流程图。
ATP速度防护系统功能的实现其实是一连串的系统动作状态的转换,根据当前系统的工作状态,结合变量的输入输出,根据工作流程,从现有的状态转为下一个工作的状态。基于这样的工作流程模型,可以将被测的功能划分为多种状态,状态之间的转换通过输入的变量产生相对应的动作输出。
在考虑输入数据的取值方面需要将等价类的思想方法引入到设计当中。将全部的输入数据划分为N个等价类。在每一个等价类中选用其中的一个数据作为测试的输入数据。这样可以用少量的数据取得较好的测试结果。根据以上对ATP速度防护系统流程的分析,可以将测试需要的输入数据进行定义。表1列出ATP速度防护系统中相关的变量的定义。
图3 车载ATP防护逻辑流程图
表1 ATP速度防护系统中相关的变量
在选取输入数据取值时,需要同时考虑到所有正常情况与异常情况下的数据输入。要考虑满足因果图中各原因事件的“True”与“False”的关系。设计有效输入,要确定使用的每一个有效类中的值;设计无效输入,在等价类使用一个等价类作无效的输入值,确保其他等价类为有效值的输入。这样考虑是从单缺陷进行假设。当然也可以从多缺陷进行假设,要实现这类测试需要大量冗余。
根据ATP速度防护的流程进行遍历,将一个整体的测试划分为各类局部测试,最后将这些局部测试组合起来生成一个具体的测试方案。表2为在实际工程运用的测试方案。
表2 测试方案表
在实际的测试中,仅仅靠几次或者十几次测试是不能有效地测试出系统功能的完整性和准确性的。因此,测试人员需要反复地重复同一类测试多次。这样就需要测试人员在测试后对进行测试案例的数据结果进行统计和验证,针对有缺陷的测试再次进行反复测试。
在统计中,测试人员需要将测试划分为测试案例的优先级、预计测试的案例数量、完成测试的案例数量、实际测试的案例数量、通过测试的案例数量和未通过测试的案例数量等部分。
将统计的数据进行整理,如表3所示。
表3 测试数据统计
将统计得到的数据表格转化为图表的格式,这样测试人员可以直观地发现出测试中所存在的问题,用来指导测试工作、调整测试,使得测试更加完备、准确。
图4 结果统计图
从图4的测试结果可以看出,测试人员经过检查分析可以及时发现测试中系统所存在的缺陷;并且针对这些缺陷对系统的影响,对测试案例进行及时地调整与更新。
目前,我国城市轨道交通处于高速发展时期,CBTC系统被越来越多的轨道交通公司所应用到实际工程建设中。这样就需要一套完整、有效的测试方案对设备进行测试,保证设备系统能够正常地工作。本文针对车载设备的测试方法和具体的测试案例进行研究,引入因果图法并对其进行改进后提出车载设备测试方案,对车载ATP超速防护进行测试实验。实验结果表明,本文提出的测试方案切实有效,可以进行推广。
[1]向华.关于白盒测试基本方法的分析[J].江汉大学学报,2003,31(1):38-41.
[2]徐杰,贾学祥.CBTC关键理论分析及北京地铁4号线的应用分析[J].铁道通信信号,2010(46):44-46.
[3]付剑平,陆民燕.基于因果图的软件测试性影响因素分析[J].计算机应用,2009,33(6):270-271.
[4]石庆喜,梁新元.因果图的一种快速推理方法[J].计算机工程与应用,2005(28):18-20.
[5]王立荣,何炜.基于因果图的软件测试方法[J].计算机系统应用,2010,19(4):104-107.
[6]陈荣武,刘莉.基于CBTC的列车自动驾驶控制算法[J].计算机应用,2007,27(11):2649-2651.
[7]黄燕,姜林.因果图与判定表组合生成测试用例的方法及其应用[J].软件导刊,2008,7(12):32-33.
[8]刘进,吴汶麒.轨道交通列车定位技术[J].城市轨道交通研究,2001,4(1):30-34.
[9]姜庆阳,卢佩玲,刘剑.CBTC移动授权分配研究[J].中国铁路,2010(4):76-78.
[10]唐抗尼,杨志杰,禹志阳.CTCS-3级列控系统的调试与试验[J].铁道通信信号,2011(2):10-13.
[11]张勇,王超琦.CTCS-3级列控系统车载设备测试序列优化生成方法[J].中国铁道科学,2011(3):100-106.