应用于铁路列控系统的测试序列生成方法
技术领域
本发明涉及轨道交通技术领域,尤其涉及一种应用于铁路列控系统的测试序列生成方法。
背景技术
列控系统测试和综合试验是列控系统开发和工程实施过程中的重要环节,应贯穿于列控系统整个生命周期,国际上主要信号设备厂商如西门子、庞巴迪、安萨尔多等都根据列控系统生命周期中不同阶段的特点,建立了完善的列控系统测试、验证和评估体系,包括实验室测试、安装测试、子系统测试、系统测试和工程交付测试和独立的系统评估等;建立了完善的列控系统测试规范,包括测试案例、测试子序列和测试序列等。
测试案例为对列车车载设备某个功能特征进行的验证与测试。执行特定测试案例要求系统必须到达此测试案例所需的初始状态。这些初始状态只有通过执行特定系统功能才能达到,并且这些特定系统功能包含在其它测试案例中,因此针对车载设备测试不是简单的执行各个测试案例,而是将测试案例进行必要的、有序的串联后,形成一条符合车载设备工作模式转换和工作流程的测试序列,从而实现对车载设备的功能测试。
定义车载设备两个工作模式之间的转移为一个测试框架,而通过将此测试框架中指定的或者相关的测试案例进行串接,就形成了此测试框架中的一条测试子序列。
引入测试序列的概念,测试序列是通过一定的方法对测试案例进行串联,从而形成一个可以实际运行的测试场景,并确保测试结束后,所有的测试案例都被测试过至少一次。测试序列不是随意产生的,而是遵循一定的方法,将若干测试案例有序串联起来,形成一个测试场景式的有序测试案例集。测试序列有效避免测试过程中不断核对是否全部测试案例已执行,简化了测试过程,提高了测试效率。因此,测试序列的提出对整个测试是非常有益的。
由于测试案例数量庞大,并且车载设备功能复杂,在测试序列中,重复使用测试案例的情况不可避免。为了减少重复测试案例的使用数量,提高测试效率,需要对测试案例的串接方法进行研究,即研究测试序列的优化生成问题。
当在测试子序列的数目已经确定的情况下,测试序列的优化生成问题可以转换为如何确保使用所有测试子序列至少一次,并且使测试案例的使用总数量达到最少。
文献《CTCS-3级列控系统车载设备测试序列优化生成方法》提出将列车各工作模式作为有向图的顶点,测试子序列作为顶点之间的有向弧,测试子序列中所包含的测试案例数量看作有向弧的费用。测试序列的优化生成问题转换为从起始顶点出发,如何遍历该有向图中的所有弧至少一次,最终返回顶点使总费用为最小,即求解具有多重弧的有向图的中国邮路问题。但是,该方案的缺陷在于:1)利用已有方案自动生成的测试序列不能充分满足现场测试需求。欧拉图构造过程中所添加的重复弧在现场测试中无意义,符合现场测试需求的测试序列并不包含重复弧。2)已有方案欧拉图构造流程中,使用多个辅助顶点以及辅助弧,额外占用一定的内存空间,影响了欧拉图构造的效率。在实现过程中没有充分考虑列车各模式转换所需费用,欧拉图构造中没有考虑所添加重复弧的费用及路径,导致不能快速计算测试序列的总费用。
发明内容
本发明的目的是提供一种应用于铁路列控系统的测试序列生成方法,可以快速生成测试序列,既保证测试序列的完整覆盖性,也兼顾测试序列总费用最小;同时,还大大减少了测试的复杂性和成本,并且减少了人力、物力的消耗和安全隐患。
本发明的目的是通过以下技术方案实现的:
一种应用于铁路列控系统的测试序列生成方法,包括:
建立测试案例库和测试案例间的链接关系表;
提取车载设备工作状态,将每一车载设备工作状态作为顶点,构建包含各个车载设备工作状态转换关系的有向强连通图;有向强连通图中的有向弧为测试子序列,有向弧的费用为测试子序列中所包含的测试案例数量;
判断有向强连通图是否为欧拉图;
若是,则直接进行欧拉寻迹得到欧拉回路,欧拉回路所涉及的测试子序列构成最优测试序列;
若否,则结合有向强连通图的路由矩阵及距离矩阵,将有向强连通图构造与欧拉图,再进行欧拉寻迹得到欧拉回路,欧拉回路所涉及的测试子序列构成测试序列,对测试序列进行再次优化,获得最优测试序列。
获得最优测试序列后,判断测试序列长度是否超出设定值;
若是,则根据预设的规则进行二次优化,获得优化后的测试序列;
以Microsoft Word文档格式输出优化后的测试序列集。
所述和测试案例间的链接关系表通过各个测试案例的输入输出条件以及测试案例之间的相互关系来建立。
所述构建包含各个车载设备工作状态转换关系的有向强连通图包括:
根据全局状态变量产生全局的测试序列框架;然后,再以测试序列框架为研究对象,针对全局状态变量中的每个状态及状态转移,并结合局部状态变量转换产生测试子序列,测试子序列即为的有向强连通图中的有向弧,有向弧的费用为测试子序列中所包含的测试案例数量;
其中,全局状态变量为车载设备所处的运行模式;局部状态变量包括:数据完整性输入、消息、信息包、速度以及是否建立通信会晤。
所述将有向强连通图构造与欧拉图的过程包括:
计算有向强连通图的路由矩阵P(n)及距离矩阵D(n);所述路由矩阵P(n)中保存模式了转换的前提条件,距离矩阵D(n)中保存模式转换的最短路径;
将路由矩阵P(n)与距离矩阵D(n)做为限制条件,利用贪婪策略算法保证添加重复弧总费用最小,计算得到所需添加重复弧的位置和费用,根据计算结果将有向强连通图构造为欧拉图。
由上述本发明提供的技术方案可以看出,测试序列的自动生成和优化既保证测试序列的完整覆盖性,也兼顾测试序列总费用最小。大大减少了测试的复杂性和成本,并且减少了人力、物力的消耗和安全隐患;此外,经过优化后的测试序列更加符合现场测试的要求,可直接用于现场联调联试并可快速计算测试序列总费用。同时,欧拉图构造流程的优化,减少了辅助空间的使用,提高了欧拉图构造的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种应用于铁路列控系统的测试序列生成方法的流程图;
图2为本发明实施例提供的车载设备工作状态转换示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例提供的一种应用于铁路列控系统的测试序列生成方法的流程图。如图1所示,其主要包括如下步骤:
步骤11、建立测试案例库和测试案例间的链接关系表。
对于测试案例库中的每一测试案例都需要提取相应的功能特征,严格界定测试案例的约束条件,量化测试案例的触发条件,并准确描述执行测试案例后输出的期望结果。
由于,在执行某一测试案例时需要考虑与其相关联的其他测试案例,因而,根据各个测试案例的输入输出条件以及测试案例之间的相互关系来建立测试案例间的链接关系表。
通过执行顺序测试案例和关联测试案例,构成相应的测试序列。相应的,执行测试序列,通过辨识测试案例的功能特征,映射一系列相应的测试案例。
步骤12、提取车载设备的工作状态,将每一车载设备工作状态作为顶点,构建包含各个车载设备工作状态转换关系的有向强连通图。
车载设备的工作过程是通过状态的不断转换来体现的。测试序列的设计,关键在于提取系统的内部状态,将系统的状态集找出之后,寻找起始状态至终止状态的转换路径,则每条状态转换路径就是一个测试序列。由于系统的状态变量往往很多,系统状态非常复杂,若一次将所有的状态变量的所有可能的组合完全描述出来,则十分繁杂,不可行。故可根据状态变量的覆盖度分为全局状态变量和局部状态变量。全局状态变量就是持续的时间相对较长,覆盖的功能范围较大,且是明显的状态分界点;局部状态变量则是在到达某个全局状态下的更具体状态。
根据全局状态变量产生全局的测试序列框架,然后,再以每个测试序列框架为研究对象,针对全局状态转换中的每个状态及状态转移,并结合局部状态变量转换产生测试子序列,从而由测试子序列形成若干个具体的可执行的测试序列。CTCS3级车载子系统中,全局状态变量为车载设备所处的运行模式。局部状态变量为数据完整性输入,消息,信息包,速度,是否建立通信会晤等。
基于这样的方式建立如图2所示的车载设备状态转换图G,也即有向强连通图G;图中的顶点SH、SB、NP、OS、FS、PT、TR、CO分别对应一个车载设备工作状态(工作模式);各个有向弧ai则对应测试子序列,其费用则为相应测试子序列包含的测试案例数量,所述测试案例数量是综合了测试案例以及与其相关的测试案例,例如,图2所示的有向弧a18,FS转为CO的测试案例包括正常收码转换、超速收码降速后转换、区间收码转换、进站收码转换以及出站收码转换等。
步骤13、判断有向强连通图是否为欧拉图;若是,则转入步骤14;若否,则转入步骤15。
步骤14、直接进行欧拉寻迹得到欧拉回路,欧拉回路所涉及的测试子序列构成最优测试序列。
由于CTCS-3级车载设备模式转换图G是一个有向强连通图,在此条件下,若有向强连通图G是欧拉图,则有向强连通图G的欧拉回路即是最优测试序列,欧拉回路可以通过欧拉循迹得到,其中欧拉图的定义是每个顶点的出度与入度相等。
步骤15、结合有向强连通图的路由矩阵及距离矩阵,将有向强连通图构造与欧拉图,再进行欧拉寻迹得到欧拉回路,欧拉回路所涉及的测试子序列构成测试序列,对测试序列进行再次优化,获得最优测试序列。
若有向强连通图G不是欧拉图,则必须通过添加重复弧将有向强连通图G转换为欧拉图G2。然后对欧拉图G2进行欧拉循迹得到欧拉回路,该欧拉回路就是邮路最佳路线,即最优测试序列。
本发明实施例中,对欧拉图构造流程进行了优化,减少了辅助空间的使用,提高了欧拉图构造的效率。主要步骤如下:
计算有向强连通图的路由矩阵P(n)及距离矩阵D(n);所述路由矩阵P(n)中保存模式了转换的前提条件,距离矩阵D(n)中保存模式转换的最短路径;
将路由矩阵P(n)与距离矩阵D(n)做为限制条件,利用贪婪策略算法保证添加重复弧总费用最小,计算得到所需添加重复弧的位置和费用,根据计算结果将有向强连通图构造为欧拉图。
将有向强连通图构造为欧拉图后,可以进行欧拉寻迹得到欧拉回路,从而获得测试序列;此时还需要进行再次优化,优化时,通过对欧拉图的路由矩阵与距离矩阵求解,用原始弧组合替换测试序列中所含的重复弧,使测试序列更加贴近现场测试需求并可快速估算测试序列总费用,最终获得最优测试序列。
步骤16、获得最优测试序列后,判断测试序列长度是否超出设定值。
本领域技术人员可以理解,所述的设定值可以根据实际情况或者经验来设定。
步骤17、根据预设的规则进行二次优化,获得优化后的测试序列。
本领域技术人员可以理解,所述预设的规则可以根据实际情况或者经验来设定。
步骤18、以Microsoft Word文档格式输出优化后的测试序列集。
本发明实施例上述方案,既保证测试序列的完整覆盖性,也兼顾测试序列总费用最小。大大减少了测试的复杂性和成本,并且减少了人力、物力的消耗和安全隐患;此外,经过优化后的测试序列更加符合现场测试的要求,可直接用于现场联调联试并可快速计算测试序列总费用。同时,欧拉图构造流程的优化,减少了辅助空间的使用,提高了欧拉图构造的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。