CN111159007A - 测试序列生成方法及装置 - Google Patents
测试序列生成方法及装置 Download PDFInfo
- Publication number
- CN111159007A CN111159007A CN201811325971.8A CN201811325971A CN111159007A CN 111159007 A CN111159007 A CN 111159007A CN 201811325971 A CN201811325971 A CN 201811325971A CN 111159007 A CN111159007 A CN 111159007A
- Authority
- CN
- China
- Prior art keywords
- test
- project
- sequence
- item
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种测试序列生成方法及装置,其中方法包括:获取待测试的系统,及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列;将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列;将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,从而能够根据实际需要对测试案例进行排序,例如将相同场景的测试案例排在一起,避免系统在场景间的频繁切换,从而缩短了测试时间,提高了系统测试效率。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种测试序列生成方法及装置。
背景技术
目前,对轨道交通行业中的各系统进行测试时,一般是获取与系统对应的测试案例库中的所有测试案例,将所有测试案例随机排列得到测试序列,然后采用测试序列对系统进行测试。然而,上述方案中,测试序列中测试案例的随机排列,导致可能存在前一个测试案例为一个场景下的测试案例、后一个测试案例为另一个场景下的测试案例,导致系统需要在场景间、运行模式间等进行频繁切换,增加了测试时间,降低了测试效率。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种测试序列生成方法,用于解决现有技术中系统测试效率差的问题。
本发明的第二个目的在于提出一种测试序列生成装置。
本发明的第三个目的在于提出另一种测试序列生成装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种测试序列生成方法,包括:
获取待测试的系统,以及所述系统对应的项目序列;所述项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;
针对每个一级项目,根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列;
将各个二级项目对应的测试序列按照二级项目序列进行排序,生成所述一级项目对应的测试序列;
将各个一级项目对应的测试序列按照一级项目序列进行排序,生成所述系统对应的测试序列,以采用所述系统对应的测试序列对所述系统进行测试。
进一步的,所述系统对应的测试案例库中包括:所述系统的各个功能对应的测试案例集合;所述测试案例集合中包括:测试案例与测试需求的对应关系;
所述根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列,包括:
针对每个二级项目,查询各个功能对应的测试案例集合,获取与所述二级项目的各个测试需求对应的测试案例;
根据与所述二级项目的各个测试需求对应的测试案例,生成所述二级项目对应的测试序列。
进一步的,所述二级项目的各个测试需求中不包括:故障测试需求。
进一步的,所述获取待测试的系统,以及所述系统对应的项目序列之前,还包括:
针对每个系统,获取所述系统中的各个项目类型;所述项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;
针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;所述资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;
根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;
根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;
将项目类型的级别,确定为对应的项目序列的级别。
进一步的,当所述待测试的系统为车载控制器VOBC时,所述一级项目序列中包括:限制人工驾驶模式RM、列车自动防护模式CM、列车自动运行模式AM;
所述RM模式对应的二级项目序列包括:列车出车辆段、列车入车辆段;
所述CM模式对应的二级项目序列包括:列车正线运行;
所述AM模式对应的二级项目序列包括:站台作业。
进一步的,当所述待测试的系统为计算机联锁系统CI时,所述一级项目序列中包括:UT列车进路作业和AT列车进路作业;
所述UT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路;
所述AT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路。
进一步的,当所述待测试的系统为区域控制器系统ZC时,所述一级项目序列中包括:一车场景、两车场景和三车场景;
所述一车场景对应的二级项目序列包括:一辆车的注册、完成头尾筛、计算移动授权、协助连锁业务;
所述两车场景对应的二级项目序列包括:列车位置管理、粘连;
所述三车场景对应的二级项目序列包括:列车位置管理、粘连。
本发明实施例的测试序列生成方法,通过获取待测试的系统,以及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列;将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列;将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,从而能够根据实际需要对测试案例进行排序,例如将相同场景的测试案例排在一起,或者将相同运行模式的测试案例排在一起,避免系统在场景间、运行模式间等的频繁切换,从而缩短了测试时间,提高了系统测试效率。
为达上述目的,本发明第二方面实施例提出了一种测试序列生成装置,包括:
获取模块,用于获取待测试的系统,以及所述系统对应的项目序列;所述项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;
查询模块,用于针对每个一级项目,根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列;
生成模块,用于将各个二级项目对应的测试序列按照二级项目序列进行排序,生成所述一级项目对应的测试序列;
所述生成模块,还用于将各个一级项目对应的测试序列按照一级项目序列进行排序,生成所述系统对应的测试序列,以采用所述系统对应的测试序列对所述系统进行测试。
进一步的,所述系统对应的测试案例库中包括:所述系统的各个功能对应的测试案例集合;所述测试案例集合中包括:测试案例与测试需求的对应关系;
所述查询模块具体用于,
针对每个二级项目,查询各个功能对应的测试案例集合,获取与所述二级项目的各个测试需求对应的测试案例;
根据与所述二级项目的各个测试需求对应的测试案例,生成所述二级项目对应的测试序列。
进一步的,所述的装置还包括:确定模块;
所述获取模块,还用于针对每个系统,获取所述系统中的各个项目类型;所述项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;
所述确定模块,用于针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;所述资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;
所述确定模块,还用于根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;
所述确定模块,还用于根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;
所述确定模块,还用于将项目类型的级别,确定为对应的项目序列的级别。
本发明实施例的测试序列生成装置,通过获取待测试的系统,以及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列;将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列;将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,从而能够根据实际需要对测试案例进行排序,例如将相同场景的测试案例排在一起,或者将相同运行模式的测试案例排在一起,避免系统在场景间、运行模式间等的频繁切换,从而缩短了测试时间,提高了系统测试效率。
为达上述目的,本发明第三方面实施例提出了另一种测试序列生成装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的测试序列生成方法。
为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的测试序列生成方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的测试序列生成方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种测试序列生成方法的流程示意图;
图2为本发明实施例提供的一种测试序列生成装置的结构示意图;
图3为本发明实施例提供的另一种测试序列生成装置的结构示意图;
图4为本发明实施例提供的另一种测试序列生成装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的测试序列生成方法及装置。
图1为本发明实施例提供的一种测试序列生成方法的流程示意图。如图1所示,该测试序列生成方法包括以下步骤:
S101、获取待测试的系统,以及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列。
本发明提供的测试序列生成方法的执行主体为测试序列生成装置,测试序列生成装置可以为终端设备、服务器等硬件设备,或者为硬件设备上安装的软件。本实施例中,待测试的系统具体可以指轨道交通行业中的系统,例如车载控制器(vehicle on-boardcontroller,VOBC)、计算机联锁(ComputerInterlocking,CI)系统、区域控制器(ZoneController,ZC)系统、自动列车监控(Automatic Train Supervision,ATS)系统等。
本实施例中,各级项目序列中项目的类型例如可以为以下类型中的任意一种或者多种:运行模式、场景、进路类型等。对应的,步骤101之前,所述的方法还可以包括以下步骤:针对每个系统,获取系统中的各个项目类型;项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;针对每个项目类型,确定项目类型中任意两个项目之间进行切换时所需要的资源;资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;将项目类型的级别,确定为对应的项目序列的级别。
本实施例中,项目序列中定义有所包括的各个项目的排列顺序,各个项目的排列顺序根据各个项目的切换顺序确定。例如,若项目序列中包括:项目1、项目2、项目3,则表示项目序列中各个项目的排列顺序为项目1→项目2→项目3。获取项目序列对应的测试序列时,先获取项目1的测试序列,然后获取项目2的测试序列,最后获取项目3的测试序列;将项目1的测试序列,项目2的测试序列,项目3的测试序列按照上述排列顺序进行排列整合,得到项目序列对应的测试序列。
本实施例中,针对待测试的系统,将切换难度最大、切换时间最长或者切换成本最高的项目类型对应的项目确定为一级项目;针对一级项目,将除了一级项目对应的项目类型之外的其他项目类型中切换难度最大、切换时间最长或者切换成本最高的项目类型对应的项目确定为二级项目,且针对每级项目,根据该级项目中任意两个项目之间的切换时间、切换成本或者切换难度,来确定该级项目中各项目之间的切换顺序,减少该级项目中各项目之间切换时的整体切换时间、整体切换成本和整体切换难度,从而进一步缩短系统测试时间,提高系统测试效率。
本实施例中,针对待测试的系统,当系统的项目类型中任意两个项目之间进行切换时所需要的资源包括多种时,例如包括切换时间、切换成本和切换难度时,测试序列生成装置可以先确定切换时间、切换成本和切换难度的权重,然后,针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;根据资源以及对应的权重,对资源进行加权求和,确定任意两个项目之间的切换数值;对所述项目类型中任意两个项目之间的切换数值,进行求和平均,确定所述项目类型的切换数值;根据各个项目类型的切换数值,确定各个项目类型的级别。其中,切换数值越大,级别越高;切换数值越小,级别越小。
S102、针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列。
本实施例中,系统对应的测试案例库中包括:系统的各个功能对应的测试案例集合;测试案例集合中包括:测试案例与测试需求的对应关系。对应的,测试序列生成装置执行步骤102的过程具体可以为,针对每个二级项目,查询各个功能对应的测试案例集合,获取与二级项目的各个测试需求对应的测试案例;根据与二级项目的各个测试需求对应的测试案例,生成二级项目对应的测试序列。
本实施例中,当待测试的系统为车载控制器VOBC时,系统中的功能包括:列车升级类等;当待测试的系统为ATS系统时,系统中的功能包括:非常站控类、中控类、回放类、报警类等;当待测试的系统为CI系统时,系统中的功能包括:自动列车(Automatic Train,AT)进路的办理类、非装备列车(Unequipped Train,UT)进路的办理类、自动折返进路类、自动触发进路类等;当待测试的系统为区域控制器ZC时,系统中的功能包括:列车注册注销类、列车位置管理类、列车位置粘连类等。
本实施例中,测试序列生成装置根据项目序列中的各级项目,以及相同级别项目之间的排序顺序来获取测试案例并生成测试序列,避免对测试案例进行随机排列,能够极大的避免对系统场景、运行模式等的频繁切换,从而降低整体切换时间、整体切换成本和整体切换难度,缩短系统测试时间,提高系统测试效率。
进一步的,在上述实施例的基础上,由于故障测试案例的测试,需要在系统上设置故障,且测试完成后需要恢复故障或者对系统进行重启,才能够继续进行测试。例如,在测试CI系统收到数据包无效时,需要故障测试案例在CI系统中注入无效的数据包,注入之后系统无法恢复,需要重启CI系统才能够继续进行测试,影响测试序列的执行,因此,本实施例中,二级项目的各个测试需求中可以不包括故障测试需求,从而确保二级项目对应的测试序列中不包括故障测试案例,进而确保系统对应的测试序列中不包括故障测试案例,从而能够进一步缩短系统测试时间,进一步提高系统测试效率。
本实施例中,系统对应的测试案例库中还包括部分无需序列化的测试案例,即独立测试案例,例如宕机测试案例等,将无需序列化的测试案例进行序列化,增加了测试序列的设计难度,且需要测试序列设计人员对系统有一定程度的了解才能够实现对无需序列化的测试案例进行序列化。而通过本实施例的测试序列生成算法可以避免无需序列化的测试案例的序列化操作,从而进一步缩短了测试时间,且避免了测试序列设计人员的手动参与,提高了测试序列的生成效率。
S103、将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列。
S104、将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,以采用系统对应的测试序列对系统进行测试。
本实施例中,在第一种实施场景中,待测试的系统为车载控制器VOBC。对应的,一级项目序列中可以包括:限制人工驾驶模式RM、列车自动防护模式CM、列车自动运行模式AM。RM模式对应的二级项目序列包括:列车出车辆段、列车入车辆段;CM模式对应的二级项目序列包括:列车正线运行;AM模式对应的二级项目序列包括:站台作业。
在第二种实施场景中,待测试的系统为计算机联锁系统CI。对应的,一级项目序列中包括:UT列车进路作业和AT列车进路作业。UT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路;AT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路。
在第三种实施场景中,待测试的系统为区域控制器系统ZC。对应的,一级项目序列中包括:一车场景、两车场景和三车场景。一车场景对应的二级项目序列包括:一辆车的注册、完成头尾筛、计算移动授权、协助连锁业务;所述两车场景对应的二级项目序列包括:列车位置管理、粘连;所述三车场景对应的二级项目序列包括:列车位置管理、粘连。
本发明实施例的测试序列生成方法,通过获取待测试的系统,以及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列;将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列;将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,从而能够根据实际需要对测试案例进行排序,例如将相同场景的测试案例排在一起,或者将相同运行模式的测试案例排在一起,避免系统在场景间、运行模式间等的频繁切换,从而缩短了测试时间,提高了系统测试效率。
图2为本发明实施例提供的一种测试序列生成装置的结构示意图。如图2所示,包括:获取模块21、查询模块22和生成模块23。
其中,获取模块21,用于获取待测试的系统,以及所述系统对应的项目序列;所述项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;
查询模块22,用于针对每个一级项目,根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列;
生成模块23,用于将各个二级项目对应的测试序列按照二级项目序列进行排序,生成所述一级项目对应的测试序列;
所述生成模块23,还用于将各个一级项目对应的测试序列按照一级项目序列进行排序,生成所述系统对应的测试序列,以采用所述系统对应的测试序列对所述系统进行测试。
本发明提供的测试序列生成装置可以为终端设备、服务器等硬件设备,或者为硬件设备上安装的软件。本实施例中,待测试的系统具体可以指轨道交通行业中的系统,例如车载控制器(vehicle on-board controller,VOBC)、计算机联锁(ComputerInterlocking,CI)系统、区域控制器(Zone Controller,ZC)系统、自动列车监控(Automatic TrainSupervision,ATS)系统等。
本实施例中,各级项目序列中项目的类型例如可以为以下类型中的任意一种或者多种:运行模式、场景、进路类型等。对应的,结合参考图3,在图2所示实施例的基础上,所述的装置还可以包括:确定模块24;
所述获取模块21,还用于针对每个系统,获取所述系统中的各个项目类型;所述项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;
所述确定模块24,用于针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;所述资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;
所述确定模块24,还用于根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;
所述确定模块24,还用于根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;
所述确定模块24,还用于将项目类型的级别,确定为对应的项目序列的级别。
本实施例中,针对待测试的系统,将切换难度最大、切换时间最长或者切换成本最高的项目类型对应的项目确定为一级项目;针对一级项目,将除了一级项目对应的项目类型之外的其他项目类型中切换难度最大、切换时间最长或者切换成本最高的项目类型对应的项目确定为二级项目,且针对每级项目,根据该级项目中任意两个项目之间的切换时间、切换成本或者切换难度,来确定该级项目中各项目之间的切换顺序,减少该级项目中各项目之间切换时的整体切换时间、整体切换成本和整体切换难度,从而进一步缩短系统测试时间,提高系统测试效率。
本实施例中,针对待测试的系统,当系统的项目类型中任意两个项目之间进行切换时所需要的资源包括多种时,例如包括切换时间、切换成本和切换难度时,测试序列生成装置可以先确定切换时间、切换成本和切换难度的权重,然后,针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;根据资源以及对应的权重,对资源进行加权求和,确定任意两个项目之间的切换数值;对所述项目类型中任意两个项目之间的切换数值,进行求和平均,确定所述项目类型的切换数值;根据各个项目类型的切换数值,确定各个项目类型的级别。其中,切换数值越大,级别越高;切换数值越小,级别越小。
进一步的,在上述实施例的基础上,所述系统对应的测试案例库中包括:所述系统的各个功能对应的测试案例集合;所述测试案例集合中包括:测试案例与测试需求的对应关系;对应的,所述查询模块22具体可以用于,针对每个二级项目,查询各个功能对应的测试案例集合,获取与所述二级项目的各个测试需求对应的测试案例;根据与所述二级项目的各个测试需求对应的测试案例,生成所述二级项目对应的测试序列。
本实施例中,测试序列生成装置根据项目序列中的各级项目,以及相同级别项目之间的排序顺序来获取测试案例并生成测试序列,避免对测试案例进行随机排列,能够极大的避免对系统场景、运行模式等的频繁切换,从而降低整体切换时间、整体切换成本和整体切换难度,缩短系统测试时间,提高系统测试效率。
进一步的,在上述实施例的基础上,由于故障测试案例的测试,需要在系统上设置故障,且测试完成后需要恢复故障或者对系统进行重启,才能够继续进行测试。例如,在测试CI系统收到数据包无效时,需要故障测试案例在CI系统中注入无效的数据包,注入之后系统无法恢复,需要重启CI系统才能够继续进行测试,影响测试序列的执行,因此,本实施例中,二级项目的各个测试需求中可以不包括故障测试需求,从而确保二级项目对应的测试序列中不包括故障测试案例,进而确保系统对应的测试序列中不包括故障测试案例,从而能够进一步缩短系统测试时间,进一步提高系统测试效率。
本实施例中,系统对应的测试案例库中还包括部分无需序列化的测试案例,即独立测试案例,例如宕机测试案例等,将无需序列化的测试案例进行序列化,增加了测试序列的设计难度,且需要测试序列设计人员对系统有一定程度的了解才能够实现对无需序列化的测试案例进行序列化。而通过本实施例的测试序列生成算法可以避免无需序列化的测试案例的序列化操作,从而进一步缩短了测试时间,且避免了测试序列设计人员的手动参与,提高了测试序列的生成效率。
本发明实施例的测试序列生成装置,通过获取待测试的系统,以及系统对应的项目序列;项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;针对每个一级项目,根据一级项目对应的二级项目序列中的各个二级项目,查询系统对应的测试案例库,获取与各个二级项目对应的测试序列;将各个二级项目对应的测试序列按照二级项目序列进行排序,生成一级项目对应的测试序列;将各个一级项目对应的测试序列按照一级项目序列进行排序,生成系统对应的测试序列,从而能够根据实际需要对测试案例进行排序,例如将相同场景的测试案例排在一起,或者将相同运行模式的测试案例排在一起,避免系统在场景间、运行模式间等的频繁切换,从而缩短了测试时间,提高了系统测试效率。
图4为本发明实施例提供的另一种测试序列生成装置的结构示意图。该测试序列生成装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的测试序列生成方法。
进一步地,测试序列生成装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的测试序列生成方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的测试序列生成方法。
本发明还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的测试序列生成方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种测试序列生成方法,其特征在于,包括:
获取待测试的系统,以及所述系统对应的项目序列;所述项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;
针对每个一级项目,根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列;
将各个二级项目对应的测试序列按照二级项目序列进行排序,生成所述一级项目对应的测试序列;
将各个一级项目对应的测试序列按照一级项目序列进行排序,生成所述系统对应的测试序列,以采用所述系统对应的测试序列对所述系统进行测试。
2.根据权利要求1所述的方法,其特征在于,所述系统对应的测试案例库中包括:所述系统的各个功能对应的测试案例集合;所述测试案例集合中包括:测试案例与测试需求的对应关系;
所述根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列,包括:
针对每个二级项目,查询各个功能对应的测试案例集合,获取与所述二级项目的各个测试需求对应的测试案例;
根据与所述二级项目的各个测试需求对应的测试案例,生成所述二级项目对应的测试序列。
3.根据权利要求2所述的方法,其特征在于,所述二级项目的各个测试需求中不包括:故障测试需求。
4.根据权利要求1所述的方法,其特征在于,所述获取待测试的系统,以及所述系统对应的项目序列之前,还包括:
针对每个系统,获取所述系统中的各个项目类型;所述项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;
针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;所述资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;
根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;
根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;
将项目类型的级别,确定为对应的项目序列的级别。
5.根据权利要求1所述的方法,其特征在于,当所述待测试的系统为车载控制器VOBC时,所述一级项目序列中包括:限制人工驾驶模式RM、列车自动防护模式CM、列车自动运行模式AM;
所述RM模式对应的二级项目序列包括:列车出车辆段、列车入车辆段;
所述CM模式对应的二级项目序列包括:列车正线运行;
所述AM模式对应的二级项目序列包括:站台作业。
6.根据权利要求1所述的方法,其特征在于,当所述待测试的系统为计算机联锁系统CI时,所述一级项目序列中包括:UT列车进路作业和AT列车进路作业;
所述UT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路;
所述AT列车进路作业对应的二级项目序列包括:普通进路、自动触发进路、自动通过进路。
7.根据权利要求1所述的方法,其特征在于,当所述待测试的系统为区域控制器系统ZC时,所述一级项目序列中包括:一车场景、两车场景和三车场景;
所述一车场景对应的二级项目序列包括:一辆车的注册、完成头尾筛、计算移动授权、协助连锁业务;
所述两车场景对应的二级项目序列包括:列车位置管理、粘连;
所述三车场景对应的二级项目序列包括:列车位置管理、粘连。
8.一种测试序列生成装置,其特征在于,包括:
获取模块,用于获取待测试的系统,以及所述系统对应的项目序列;所述项目序列中包括:一级项目序列,以及一级项目序列中每个一级项目对应的二级项目序列;
查询模块,用于针对每个一级项目,根据所述一级项目对应的二级项目序列中的各个二级项目,查询所述系统对应的测试案例库,获取与各个二级项目对应的测试序列;
生成模块,用于将各个二级项目对应的测试序列按照二级项目序列进行排序,生成所述一级项目对应的测试序列;
所述生成模块,还用于将各个一级项目对应的测试序列按照一级项目序列进行排序,生成所述系统对应的测试序列,以采用所述系统对应的测试序列对所述系统进行测试。
9.根据权利要求8所述的装置,其特征在于,所述系统对应的测试案例库中包括:所述系统的各个功能对应的测试案例集合;所述测试案例集合中包括:测试案例与测试需求的对应关系;
所述查询模块具体用于,
针对每个二级项目,查询各个功能对应的测试案例集合,获取与所述二级项目的各个测试需求对应的测试案例;
根据与所述二级项目的各个测试需求对应的测试案例,生成所述二级项目对应的测试序列。
10.根据权利要求8所述的装置,其特征在于,还包括:确定模块;
所述获取模块,还用于针对每个系统,获取所述系统中的各个项目类型;所述项目类型包括以下类型中的任意一种或者多种:运行模式、场景、进路类型;
所述确定模块,用于针对每个项目类型,确定所述项目类型中任意两个项目之间进行切换时所需要的资源;所述资源包括以下资源中的任意一种或者多种:切换时间、切换成本、切换难度;
所述确定模块,还用于根据资源,确定各个项目类型的级别,以及项目类型中各个项目的切换顺序;
所述确定模块,还用于根据项目类型中各个项目的切换顺序,确定项目类型对应的项目序列;
所述确定模块,还用于将项目类型的级别,确定为对应的项目序列的级别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811325971.8A CN111159007B (zh) | 2018-11-08 | 2018-11-08 | 测试序列生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811325971.8A CN111159007B (zh) | 2018-11-08 | 2018-11-08 | 测试序列生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159007A true CN111159007A (zh) | 2020-05-15 |
CN111159007B CN111159007B (zh) | 2023-04-07 |
Family
ID=70555550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811325971.8A Active CN111159007B (zh) | 2018-11-08 | 2018-11-08 | 测试序列生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159007B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949008A (zh) * | 2020-08-06 | 2020-11-17 | 青岛海信微联信号有限公司 | 区域控制器的测试方法、装置、电子设备及存储介质 |
CN112346898A (zh) * | 2020-10-28 | 2021-02-09 | 交控科技股份有限公司 | 一种轨道交通系统的测试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968368A (zh) * | 2012-08-30 | 2013-03-13 | 中国人民解放军63928部队 | 一种遍历场景状态图的嵌入式测试用例设计与生成方法 |
CN103577325A (zh) * | 2013-10-31 | 2014-02-12 | 南京大学 | 测试用例集执行顺序确定的方法及系统 |
CN105511951A (zh) * | 2016-01-06 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种wifi性能自动化测试平台的任务调度方法和系统 |
US20160173868A1 (en) * | 2014-12-10 | 2016-06-16 | Facebook, Inc. | Methods, Systems, and Apparatus for Camera Testing Using Virtual Images |
CN106681785A (zh) * | 2016-12-28 | 2017-05-17 | 东方网力科技股份有限公司 | 一种软件生成方法和装置 |
-
2018
- 2018-11-08 CN CN201811325971.8A patent/CN111159007B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968368A (zh) * | 2012-08-30 | 2013-03-13 | 中国人民解放军63928部队 | 一种遍历场景状态图的嵌入式测试用例设计与生成方法 |
CN103577325A (zh) * | 2013-10-31 | 2014-02-12 | 南京大学 | 测试用例集执行顺序确定的方法及系统 |
US20160173868A1 (en) * | 2014-12-10 | 2016-06-16 | Facebook, Inc. | Methods, Systems, and Apparatus for Camera Testing Using Virtual Images |
CN105511951A (zh) * | 2016-01-06 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种wifi性能自动化测试平台的任务调度方法和系统 |
CN106681785A (zh) * | 2016-12-28 | 2017-05-17 | 东方网力科技股份有限公司 | 一种软件生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
梁茨 等: "基于路径优化算法的测试序列自动生成及验证", 《铁道学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949008A (zh) * | 2020-08-06 | 2020-11-17 | 青岛海信微联信号有限公司 | 区域控制器的测试方法、装置、电子设备及存储介质 |
CN112346898A (zh) * | 2020-10-28 | 2021-02-09 | 交控科技股份有限公司 | 一种轨道交通系统的测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111159007B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9459324B2 (en) | Device and method for the redundant determination of a battery current flowing through the poles of a battery | |
CN111159007B (zh) | 测试序列生成方法及装置 | |
US10288666B2 (en) | Systems for detecting electrical faults in a vehicle | |
CN110908888B (zh) | 服务器测试方法及装置 | |
KR101834851B1 (ko) | 배터리 교체 시기를 알려주는 전기차 관리 장치 및 방법 | |
CN109398419B (zh) | 轨道交通的逻辑区段占用状态检测方法和装置 | |
CN113778557B (zh) | 车辆诊断软件配置方法、装置、服务器及存储介质 | |
CN111381147B (zh) | 一种众核芯片的测试方法、装置及测试设备 | |
CN104727962A (zh) | 喷射器驱动器及其控制方法 | |
JP2003329719A (ja) | 信号処理装置 | |
CN110286666A (zh) | 车辆行程状态标定方法、装置及计算机可读存储介质 | |
CN110298666B (zh) | 交易处理过程中的异常处理方法及装置 | |
CN110457114B (zh) | 应用集群部署方法及装置 | |
US9355506B2 (en) | Method for managing fault messages of a motor vehicle | |
CN111651350B (zh) | 测试用例处理方法、装置、设备及计算机可读存储介质 | |
CN111159833A (zh) | 无人驾驶车辆算法的评估的方法和装置 | |
KR100345115B1 (ko) | 로직 진단 방법 | |
CN109229150B (zh) | 进路区段解锁方法及装置 | |
CN109947846B (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN112216882B (zh) | 操作电池管理系统的方法、对应的设备和车辆 | |
CN115113071A (zh) | 电池soc值修正方法及相关装置 | |
CN110751747A (zh) | 一种数据处理方法及装置 | |
CN111591302A (zh) | 车辆控制方法及装置 | |
CN110909378A (zh) | 自动化检测方法、装置、存储介质及电子设备 | |
CN112149696A (zh) | 图嵌入模型的训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |