地铁CBTC系统测试方法及装置
技术领域
本发明涉及轨道交通领域,特别涉及一种地铁CBTC系统测试方法及装置。
背景技术
现有的地铁CBTC(CommunicationBasedTrainControlSystem,基于无线通信的列车自动控制系统)系统测试方法以测试用例为基础,为每条测试用例设计一个测试场景。测试人员逐一对每条测试用例中的场景进行输入和输出测试,根据系统的输入输出表现,判断测试用例是否通过,进而判断需求的正确性。
这种地铁CBTC系统测试方法,需要为每条测试用例设计一个测试场景,测试场景较多,测试过程繁琐,测试用例的设计工作工作量较大、测试效率较低。
发明内容
本发明实施例提供一种地铁CBTC系统测试方法及装置,能够减少测试用例的设计工作工作量、提高测试效率。
本发明实施例采用如下技术方案:
一种地铁CBTC系统测试方法,包括:
生成测试序列库,所述测试序列库覆盖全部测试案例;
根据所述测试序列库对地铁CBTC系统进行测试。
可选的,所述生成测试序列库包括:
根据测试案例库确定至少一类案例序列;
根据列车运行线路,确定列车运行交路;
根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库。
可选的,所述根据测试案例库确定至少一类案例序列包括:
获取测试案例库;
对所述测试案例库中的测试案例进行分类,得到所述至少一类案例序列;其中,每类案例序列对应一个线路中的位置,每类案例序列中包含了在所述位置执行的全部案例。
可选的,所述根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库包括:
生成测试序列;
以所述列车运行交路为载体,将所述测试案例库中的测试案例嵌入所述测试序列中,生成所述测试序列库。
一种地铁CBTC系统测试装置,包括:
生成单元,用于生成测试序列库,所述测试序列库覆盖全部测试案例;
测试单元,用于根据所述测试序列对地铁CBTC系统进行测试。
可选的,所述生成单元包括,
第一子单元,用于根据测试案例库确定至少一类案例序列;
第二子单元,用于根据列车运行线路,确定列车运行交路;
第三子单元,用于根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库。
可选的,所述第一子单元具体用于,获取测试案例库;对所述测试案例库中的测试案例进行分类,得到所述至少一类案例序列;其中,每类案例序列对应一个线路中的位置,每类案例序列中包含了在所述位置执行的全部案例。
可选的,所述第三子单元具体用于,生成测试序列;
以所述列车运行交路为载体,将所述测试案例库中的测试案例嵌入所述测试序列中,生成所述测试序列库。
基于上述技术方案,本发明实施例的地铁CBTC系统测试方法及装置,对测试案例库中的案例进行序列化,生成不同的测试案例类,分析测试交路中包含的不同测试案例类及这些测试案例类中包含的测试案例,以列车运行交路为载体,将多个不同的测试案例嵌入至测试序列中,整合测试案例库中的所有测试案例,生成完整的测试序列库,应用生成的测试序列库进行测试,能够减少测试用例的设计工作工作量、提高测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种一种地铁CBTC系统测试方法的流程图;
图2为本发明实施例2提供的一种案例分类示意图;
图3为本发明实施例2提供的一种案例系列生成示意图;
图4为本发明实施例2提供的一种列车运行交路示意图;
图5为本发明实施例2提供的一种测试序生成示意图;
图6为本发明实施例2提供的一种测试案例与序列对应关系示意图;
图7为本发明实施例3提供的一种地铁CBTC系统测试装置的结构示意图;
图8为本发明实施例3提供的另一种地铁CBTC系统测试装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提供一种地铁CBTC系统测试方法,该方法可以通过地铁CBTC系统测试装置实现,包括:
11、生成测试序列库,所述测试序列库覆盖全部测试案例;
12、根据所述测试序列对地铁CBTC系统进行测试。
可选的,所述生成测试序列库包括:
根据测试案例库确定至少一类案例序列;根据列车运行线路,确定列车运行交路;根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库。
可选的,所述根据测试案例库确定至少一类案例序列包括:
获取测试案例库;对所述测试案例库中的测试案例进行分类,得到所述至少一类案例序列;其中,每类案例序列对应一个线路中的位置,每类案例序列中包含了在所述位置执行的全部案例。
可选的,所述根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库包括:
生成测试序列;以所述列车运行交路为载体,将所述测试案例库中的测试案例嵌入所述测试序列中,生成所述测试序列库。
本实施例的方法,对测试案例库中的案例进行序列化,生成不同的测试案例类,分析测试交路中包含的不同测试案例类及这些测试案例类中包含的测试案例,以列车运行交路为载体,将多个不同的测试案例嵌入至测试序列中,整合测试案例库中的所有测试案例,生成完整的测试序列库,应用生成的测试序列库进行测试,能够减少测试用例的设计工作工作量、提高测试效率。
实施例2
本实施例中以测试案例库为基础,结合列车运行的实际线路,对所有测试案例进行整合和分析和归纳,使测试案例库序列化;以列车实际运行线路为依据,生成不同的列车运行交路,对列车实际运行线路进行覆盖;以列车运行交路为载体,测试案例为节点,生成测试序列库,以测试序列方法为中心,形成一套完整的测试序列库。
测试序列的生成采用基于地铁现有线路条件基础上,结合测试案例分析CBTC系统级别下列车可能经过的路线,以及在这些路线上列车基本功能的输入输出。对测试案例库中的所有案例进行分析和归类,将序测试案例库序列化。基本原理如图2所示。
本实施例可以通过如下步骤实现。
(一)生成测试序列。
测试案例库序列化就是将分析现有线路的具体条件,结合测试案例的特点对测试案例进行分类,将测试案例分成若干个类,每个类对应一线路中的一个具体位置,这个类中包含了可以在线路中此位置中执行的所有案例。这样就将这个完备的测试案例库中的所有测试案例分成了若干个案例序列。具体生成算法详见图3所示。生成后的案例与案例序列的对应矩阵如下表所示。
综上,即完成了对所有测试案例的归类。由上表可以看出所有的测试案例均已完成归类,且做到了案例类中覆盖了测试案例库中的所有案例的总和。
(二)对列车实际运行交路进行分析。
在完成测试案例库序列化的基础上,对列车实际运行交路进行分析,图4中标注了不同Location的具体位置,而不同的Location中包含了不同的测试案例类,故明确了这些Location的具体位置后,可以根据待测试案例进行列车运行交路的选择。
图4中包含了一条列车运行交路即列车运行交路A。列车运行交路A中包含了Location1、Location2、Location3、Location4。因此运行图4中的列车运行交路A即可执行上述Location中所对应的案例类中的所有测试案例。
(三)生成测试测试序列库。
以列车运行交路为载体,测试案例为节点,将运行交路抽象成图的描述形式,使用图论中的常用搜索算法根据待测试案例所在案例类中的特点,进行搜索,通过多次迭代生成一个完整的测试序列库及测试案例(Case)与测试序列(TestSequence)的对应关系矩阵。该测试序列库软件,其具体生成算法如图5所示。
按照上述方法生成的测试案例与测试序列对应矩阵如下表所示。
表格中,标注“1”表示该案例在所对应的测试序列中被执行,标注为“0”标志该案例在所对应的测试序列中未被执行,从上述表格可以看出,同一个测试案例可以在不同的测试序列中被执行,同一个测试序列中可以包含多个不同的测试案例,想要测试某些测试案例只需要测试人员执行包含这个案例的测试序列即可。
综上,本发明所采用的测试序列方法主要依据现有的运行交路为基础,在交路的相应位置上选取待测试的测试案例,以覆盖系统需求为原则生成一套完整的测试序列库。从而保证执行测试序列库覆盖测试案例库,测试案例库覆盖了全部系统需求。测试人员通过执行相应的测试序列,可以完成对测试案例的验证,进而完成对系统需求的验证。测试案例、测试序列、系统需求三者具体对应关系如图6所示。
具体实现时,可以通过现有的测试方法应用本实施例得到的测试序列库对地铁CBTC系统进行测试,本实施例不限定测试序列库的用法,能够达到对地铁CBTC系统进行测试的目的即可。
本实施例可以使不同的测试案例在同一个测试序列中得到测试,提高了测试的连续性,同时使每个测试案例可以在不同的测试序列中被执行,这样做,可验证同一个测试案例在不同测试序列中的输出结果。同时做到测试场景的连续性,使测试案例和测试序列的组合成为一个有机的整体。
运用该方法有效减少测试人员对每个测试案例输入输出的重复操作,大大提高测试执行的连续性,大幅减少单个测试案例的测试时间。以此方法为依据可以进行CBTC系统测试的自动化测试的研究和开发。
经验证,使用该方法可以达到以下效果:
采用本方法,对测试案例库中的案例进行整合,将测试案例序列化,使测试案例库中的测试案例更加规范化。
运用测试序列的方法进行测试,解决了单个测试案例测试场景重复执行的问题,大大减少测试执行时间,有效提高测试执行效率。目前实测执行效率比之前提高了约50%。
运用测试序列方法提高了地铁CBTC系统测试的连续性,使地铁CBTC系统测试实现自动化成为可能,可以此为依据进行自动化测试方法的探索和研究。
实施例3
如图7所示,本实施例一种地铁CBTC系统测试装置,包括:
生成单元71,用于生成测试序列库,所述测试序列库覆盖全部测试案例;
测试单元72,用于根据所述测试序列对地铁CBTC系统进行测试。
可选的,如图8所示,所述生成单元71包括,
第一子单元711,用于根据测试案例库确定至少一类案例序列;
第二子单元712,用于根据列车运行线路,确定列车运行交路;
第三子单元713,用于根据所述列车运行交路及所述至少一类案例序列,生成所述测试序列库。
可选的,所述第一子单元711具体用于,获取测试案例库;对所述测试案例库中的测试案例进行分类,得到所述至少一类案例序列;其中,每类案例序列对应一个线路中的位置,每类案例序列中包含了在所述位置执行的全部案例。
可选的,所述第三子单元713具体用于,生成测试序列;
以所述列车运行交路为载体,将所述测试案例库中的测试案例嵌入所述测试序列中,生成所述测试序列库。
本实施例的地铁CBTC系统测试装置中个单元的功能仅为简要介绍,详细实现过程请参阅上述方法实施例,此处不赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。