张仕雄
(武汉铁路职业技术学院,武汉 430205)
CTCS-3级列控系统测试序列合理性验证的研究
张仕雄
(武汉铁路职业技术学院,武汉 430205)
摘 要:CTCS -3级列控系统测试序列是实验室以及现场调试和测试的基础,而测试序列的合理性将决定测试过程是否能够正确完成。在分析测试序列设计原则的基础上,结合测试序列生成条件、方法和步骤,得出测试序列合理性验证所需验证的内容。并在此基础上开发了测试序列合理性验证工具,从而提高了测试序列合理性验证的效率和智能化程度。
关键词:测试序列;合理性验证;列控系统
CTCS -3级列控系统上道运用前必须在实验室和现场进行测试,以保证其系统功能需求,包括系统的正常功能和故障防护功能,并保证不同厂商设计制造设备的技术兼容性。CTCS -3级列控系统的测试案例编制以《CTCS -3级列控系统系统需求规范(SRS)》和《CTCS -3级列控系统总体技术方案》等为依据,对CTCS -3级系统的各个子系统进行全面的功能和接口测试[1,2]。
目前,依据铁道部颁布的CTCS -3级列控系统测试案例如何生成有效的测试序列已有多人进行了研究,如文献[3]对测试序列生成问题进行了初步探索。文献[4]提出了如何将测试案例组合成为最有效和最优化的测试序列,并提出了利用遗传算法解决邮递员问题的优势。文献[5]研究了基于中国邮路算法生成和优化CTCS -3级列控系统车载设备测试序列的方法。
本文在分析测试序列设计原则的基础上,结合测试序列生成条件、方法以及步骤,提出了测试序列合理性验证的内容,并使用VisualStudio2005开发环境以及C号语言开发了测试序列合理性验证工具,提高了测试序列合理性验证的效率和智能化程度。
《CTCS -3级列控系统系统需求规范(SRS)》描述了整个列车控制系统的需求,如果将系统需求规范中每一条需求都转化成测试案例,则会导致测试案例的数量非常庞大,产生案例爆炸性问题。为了解决该问题,首先要从系统需求规范中提炼精简后的必要功能实体,即功能特征。
功能特征就是CTCS -3级列车控制系统必要的功能实体,这些功能实体是外部可见的(即操作者或用户能实施的),并且能分解成基本的因果关系。这样,就能够将系统需求规范中详细的需求概括成功能特征。功能特征包含一个或多个需求,这些需求以一种外部可见、易于管理的、广泛独立以用于测试的方法概括出来。这样,每个功能特征下面就可以包括一个或者多个测试案例,从而大大缩减了测试案例的数量[1]。需求规范、功能特征与测试案例的关系如图1所示。
测试序列应该能够覆盖全部的测试案例,由于测试案例规模相对庞大,因此在编写和规划测试序列上不容易实现。为此,一般把某些能够共同完成系统的一个比较固定功能的测试案例组织在一起,这就形成了测试子序列。
测试子序列不仅仅把测试案例进行了相应的功能分化编组,还为快速编写测试序列,为系统测试效率的提高提供了有效的方案。
测试案例和测试子序列是多对多的关系,即一个测试子序列可以包含多个测试案例,一个测试案例可以同时存在于多个测试子序列。测试案例是根据两两之间的相互联系以及先后顺序进行连接组成了测试子序列。测试案例与测试子序列的关系见图2。
图2 测试案例与测试子序列的关系
测试序列的生成,应先利用邮递员算法求解全局状态车载模式装换的最优路线,得到车载模式转换序列。然后针对每个车载模式转换序列,依次对其中的测试框架求解测试子序列,最后将测试子序列串联成测试序列[5]。测试序列生成流程见图3。
图3 测试序列生成流程
通过对测试序列生成方法的研究,可以发现测试序列的生成具有如下特点。
(1)测试案例数量庞大,这些测试案例是组成测试子序列和测试序列的基础;
(2)生成的测试序列必须满足测试案例的全覆盖;
(3)测试案例可能会存在于多条测试序列中;
(4)测试子序列起始于某个模式,终止于另外一个特定模式。而测试序列则必须从车载设备刚上电开始,一直到车载设备断电为止。
图4 测试序列合理性验证内容框架
通过对上述测试生成过程的分析和研究,可以发现测试序列数目较多,需要从以下几个方面对测试的合理性进行验证。
(1)测试序列基本要求
①测试序列的长度不能为零,即检查每一条测试序列是否至少包含一个以上的测试案例;②测试序列的起始模式和等级以及终止模式和等级等内容是否符合要求。
(2)测试序列链接条件合理性验证
①测试子序列的内部状态是否匹配:即检查上一个测试子序列的结束等级、结束模式是否与下一个需要链接的测试子序列的开始等级、开始模式相同;
②测试子序列的接口条件是否匹配:即检查上一个测试子序列的结束车载设备相关接口(列车接口和无线接口)是否满足下一个测试子序列的要求;
③测试子序列的等级连接是否正确,由于存在CTCS -2与CTCS -3级间的转换问题,因此,需要验证测试序列中的等级链接是否合理。
(3)测试序列覆盖测试案例合理性验证
①每个测试案例在所有测试序列中出现的次数统计,如果次数超出规定的范围,则说明测试案例的重复率比较高,提示修改;
②测试序列是否覆盖了全部的测试案例;
③每条测试序列覆盖的测试案例个数合理性分析,通过对测试序列所包含的测试案例个数的分析,检查是否存在有的测试序列覆盖的测试案例多而有的测试序列覆盖的测试案例非常少的情况,使每条测试序列覆盖的测试案例数尽可能达到平均。
(4)测试序列覆盖运营场景的合理性验证
①检查每条测试序列是否重复覆盖两个以及两上以上相同的运营场景,例如检查是否在一条测试序列中存在两个RBC切换场景或者两个同一等级的等级切换;
②检查每条测试序列中是否存在互斥的场景,例如检查是否存在一个RBC切换场景中既有接收到立即切换应答器的测试案例,又有丢失转换立即切换应答器的测试案例。
测试序列合理性验证工具是实现第二部分所述合理性验证内容的工具,该工具由登录部分、程序主界面、测试子序列浏览界面、测试案例查看界面、测试序列浏览界面以及测试序列合理性检测报告生成界面组成。该工具的整体实现框图如图5所示。
图5 测试序列合理性验证工具实现框图
MicrosoftVisualStudio2005中的 VisualStudio. NET(VS)是专门进行所有的.NET开发的模块。VS不是开发C号的应用程序所必须的,但是使用它可以使任务更简单一些,可以在标准的文件编辑器中处理C号源代码文件。
以模式和等级连接的合理性为例,详细说明该工具的实现方法。首先,利用该工具读取Word版的测试案例、Excel格式的测试子序列和测试序列,并将这些内容存储在程序中;然后,根据设定的测试序列合理性验证内容以及相关规则,逐条检查这些测试序列是否满足该规则,如果满足,则通过;如果不满足,则在检测报告中给出相关的说明。该过程的详细步骤如图6所示。
此外,通过最后实现测试序列合理性验证工具的报告生成界面,可直观显示每一条测试序列的合理性异常信息以及相关的修改意见。
图6 测试序列合理性验证详细流程
本文通过对现有测试序列生成方法的探讨,提出了测试序列合理性验证的思路,并利用VisualStudio 2005开发环境实现了该想法,为实验室以及现场测试所需各种测试序列的合理性起到提前把关的作用,提高了测试序列的可用性,避免了由于测试序列不合理遭成的各种损失。但本文所提的测试序列检测目前只局限于车载设备测试序列,未能加入地面无线闭塞中心等设备的测试序列,这需将在以后的研究中进一步完善。
参考文献:
[1] 季学胜,李开成,张勇,刘大为.CTCS -3级列控系统测试案例生成方法的研究[J].铁道通信信号,2009,45(10):1 -5.
[2] 科技运[2009]59号,CTCS -3级列控系统测试案例(V3.0)[Z]. [3] 章慧,张勇.CTCS -3级列控系统车载设备测试方法研究[J].铁路计算机应用,2008,17(4):23 -27.
[4] 李伟,王海峰.CTCS -3级列控系统车载设备测试序列的优化[J].北京交通大学学报,2010,34(2):75 -78.
[5] 张勇,王超琦.CTCS 3级列控系统车载设备测试序列优化生成方法[J].中国铁道科学,2011,32(3):100 -106.
中图分类号:U284.48
文献标识码:A
文章编号:1004 -2954(2012)12 -0103 -03
收稿日期:2012 -08 -23
作者简介:张仕雄(1963—),男,教授。
Study on Rationality Verification for CTCS 3 Train Control System Test Sequences
ZHANG Shi-xiong
(Wuhan Railway Vocational College of Technology, Wuhan 430205, China)
Abstract:CTCS-3 Train Control System Test Sequence is the foundation of debugging and testing in Lab and actual railway,and the rationality of test sequence decides whether the test procedure can be finished correctly.So,based on analysis of the test sequence design principle,in combination with the formation condition,methods and steps of the test sequence,the author obtains the contents of rationality verification of the test sequence.Further,based on the contents of rationality verification,the author develops a tool for rationality verification,which can improve the efficiency and intelligence level in rationality verification of the test sequence.
Key words:test sequence;rationality verification;train control system