掌桥专利:专业的专利平台
掌桥专利
首页

测试用例生成方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:29:13


测试用例生成方法、装置、设备及存储介质

技术领域

本发明涉及测试领域,具体涉及用于无线通信物理层的测试用例生成方法、装置、设备及存储介质。

背景技术

随着科学技术的日益发展,针对硬件和/或软件产品进行性能测试变得越来越重要,由此,对测试用例的有效性和覆盖全面性提出了挑战。示例性地,在5G无线通信中,物理层软件测试配置参数多,协议相比4G LTE(长期演进)配置更加灵活,导致需要用大量的测试用例做覆盖测试,测试效率较低。

目前生成测试用例有两种方式:通过人工配置用例和在一定规则下随机生成用例进行测试。前者由测试人员经过测试分析生成,用例有效性较高,即平均发现一个缺陷需要的用例个数较少,但是人工配置用例产出效率较低,一定测试时间内覆盖有限;后者可以批量生成测试用例,提高覆盖率,但是由于是无差别的随机生成测试用例,用例有效性较低,即平均发现一个缺陷需要的用例个数较多。

发明内容

针对以上现有技术的缺陷,本发明提供一种测试用例生成方法、装置、设备及存储介质,通过计算物理层特性参数的失败预测概率,选择失败预测概率相对高的物理层特性参数生成用于物理层软件测试的用例,以提升用例有效性并且兼顾覆盖率。

为实现上述目的,本发明的实施例提供了一种测试用例生成方法,所述方法包括:获取预设的用例集合中的每个测试用例;将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;以及基于所述每个测试用例的失败预测概率生成目标测试用例集合。

所述基于所述每个测试用例的失败预测概率生成目标测试用例集合的步骤进一步包括:根据所述预设的用例集合中的所述每个测试用例的失败预测概率计算每个测试参数的不同取值的失败预测概率;以及根据所述每个测试参数的不同取值的失败预测概率生成所述目标测试用例集合。

所述测试用例生成方法进一步包括:通过如下方式得到所述用例失败预测模型:收集预定时间范围内的历史用例测试数据,其中所述历史用例测试数据至少包括每个用例所包含的测试参数的取值,以及每个用例的测试结果;以及基于所述历史用例测试数据对预设的原始模型进行训练,以获得所述用例失败预测模型。

进一步地,所述预设的原始模型为三层神经网络模型,其中所述三层神经网络模型具有输入层、隐藏层和输出层。

根据所述预设的用例集合中的所述每个测试用例的失败预测概率计算每个测试参数的不同取值的失败预测概率的步骤进一步包括:根据所述每个测试参数的不同取值对所述预设的用例集合中的每个用例进行分类,以获得分别与每个测试参数的特定取值或特定取值范围相对应的关联用例集合,其中,针对每个测试参数,与其特定取值或特定取值范围相对应的关联用例集合中的全部用例中的该测试参数的取值均是该特定取值或均在该特定取值范围内。

根据所述预设的用例集合中的所述每个测试用例的失败预测概率计算每个测试参数的不同取值的失败预测概率的步骤进一步包括:将所述每个测试用例的失败预测概率大于预设门限值的测试用例标记为预测失败的用例。

计算每个测试参数的不同取值的失败预测概率的步骤进一步包括:针对一测试参数的每个特定取值或特定取值范围,将与所述特定取值或特定取值范围对应的关联用例集合中被标记为预测失败的用例数量与该关联用例集合中的用例总数量的比值作为所述测试参数的所述特定取值或特定取值范围的失败预测概率。

根据所述每个测试参数的不同取值的失败预测概率生成所述目标测试用例集合的步骤进一步包括:选择失败预测概率超过预设门限值的测试参数的取值生成所述目标测试用例集合。

进一步地,所述测试用例是用于无线通信物理层的测试用例。

本发明的实施例还提供了一种测试用例生成装置,所述装置包括:获取模块,用于获取预设的用例集合中的每个测试用例;预测模块,用于将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;生成模块,用于基于所述每个测试用例的失败预测概率生成目标测试用例集合。

进一步地,所述装置还包括计算模块,用于根据所述预设的用例集合中的所述每个测试用例的失败预测概率计算每个测试参数的不同取值的失败预测概率。

本发明的实施例还提供了一种计算机设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上任一实施例所述的方法中的步骤。

本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上任一实施例所述的方法中的步骤。

本发明的优点在于,通过选择失败预测概率相对高的物理层特性参数生成用于物理层软件测试的用例,能够提升用例有效性并且兼顾覆盖率,以达到使用更小的测试用例规模,更快发现软件缺陷的目的。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1示出了本发明的第一实施例所提供的测试用例生成方法的流程示意图。

图2示出了本发明的第一实施例所提供测试用例生成方法的另一流程示意图。

图3示出了本发明的第一实施例所提供的测试用例生成方法的软件仿真的界面截图。

图4示出了本发明的第二实施例所提供的测试用例生成装置的结构示意图。

图5示出了本发明的实施例提供的计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书以及附图中的术语“第一”“第二”“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件电路或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1示出了本发明的第一实施例所提供的测试用例生成方法的流程示意图,图2示出了本发明的第一实施例所提供的测试用例生成方法的另一流程示意图。本实施例可适用于在软件测试(例如物理层软件测试)的工作开展前,对待测试软件的功能模块的缺陷进行预测的情况。该方法可以由本发明第二实施例提供的测试用例生成装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以被集成在各种用户终端或服务器上。

参见图1,本发明第一实施例的方法具体包括如下步骤:

步骤S10、获取预设的用例集合中的每个测试用例;

步骤S20、将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;

步骤S30、基于所述每个测试用例的失败预测概率生成目标测试用例集合。

具体的,在步骤S10中,根据不同测试对象(例如无线通信中的物理信道)手动或随机生成多个新用例作为预设的用例集合,其中每个新用例包含该用例所测试到的所有物理层特性参数的取值列表,以测试PUSCH信道为例,其物理层特性参数的取值列表包括grpHopEnable:0,rxAntennaNumber:1,addDmrsPos:1,NumberOfPrb:50,Modulation:16QAM,layerNumber:1,CdmGrpIdxWodata:1,ILbrm:0,PTRS:0,HARQbitNumber:1。

在步骤S20中,将每个新用例所测试到的所有物理层特性参数的取值列表输入至已训练完成的用例失败预测模型中,获得所述每个新用例的失败预测概率,其中所述用例失败预测模型是通过以下步骤S21-S22预先训练得到。

在步骤S21,搜索并收集预定时间范围内的历史用例测试数据,其中所述历史用例测试数据至少包括每个用例所使用的每个物理层特性参数的取值数据,以及每个用例的测试结果(即,通过或失败)。在本实施例中,预定时间范围可以由测试人员根据测试要求设置,优选地,所述预定时间范围可以为24小时内。在本实施例中,所述历史用例测试数据是收集得到的大批量的用于不同测试对象的历史用例测试数据。

在步骤S22,使用所述历史用例测试数据对预设的原始模型进行训练,以获得用于不同测试对象的用例失败预测模型。其中,所述预设的原始模型为三层神经网络模型,其中所述三层神经网络模型具有输入层、隐藏层和输出层。根据测试对象不同,预设的原始模型被训练成不同的用例失败预测模型用于后续预测使用。所述三层神经网络模型的输入层包含了根据该测试对象(例如物理信道测试)而预设的所有物理层特性参数,其权值相同;隐藏层分为五层,每层的丢弃(dropout)概率均为20%,每层的节点数分别为200,100,100,100,20;输出层则输出用例的失败预测概率。具体的,根据测试对象的要求,所述输入层输入收集得到的大批量的历史用例测试数据中每个历史用例所测试到的所有物理层特性参数取值列表与该用例测试结果(通过或失败)。以测试PUSCH信道为例,输入层的输入参数包括:grpHopEnable:0,rxAntennaNumber:1,addDmrsPos:1,NumberOfPrb:50,Modulation:16QAM,layerNumber:1,CdmGrpIdxWodata:1,ILbrm:0,PTRS:0,HARQbitNumber:1,Result:PASS。在输入全部所述参数后训练所述预设模型,并保留训练结果供预测使用。

在用例失败预测模型训练完成后,将步骤S10中手动或随机生成的多个新用例中的每个新用例所测试到的所有物理层特性参数的取值列表输入至已训练完成的用例失败预测模型中,获得所述每个新用例的失败预测概率。

在步骤S30中,根据步骤S10中手动或随机生成的多个新用例中的每个测试用例的失败预测概率计算每个物理层特性参数的不同取值的失败预测概率;以及根据所述每个物理层特性参数的不同取值的失败预测概率生成所述目标测试用例集合。

在本实施例中,首先在新用例输入之后,软件会将每条用例的物理层特性参数进行解析,得到基于物理层特性参数的用例集合。具体的,根据所述每个物理层特性参数的不同取值对所述新用例集合中的每个用例进行分类,以获得分别与每个物理层特性参数的特定取值或特定取值范围相对应的关联用例集合,其中,针对每个物理层特性参数,与其特定取值或特定取值范围相对应的关联用例集合中的全部用例中的该物理层特性参数的取值均是该特定取值或均在该特定取值范围内。例如,所有物理层特性参数“rxAntennaNumber”的取值等于1的用例会归入物理层特性参数取值分类为“1ant”的关联用例集合中,又例如所有物理层特性参数“NumberOfPrb”的取值小于100的用例会归入物理层特性参数取值分类为“NumberOfPrbSmaller100”的关联用例集合中。随后当用例失败预测模型获得每个新用例的失败预测概率之后,设置一个失败预测概率的门限值,超过预设的所述门限值的用例会被标记为预测失败的用例。针对物理层特性参数的每个特定取值或特定取值范围,将与所述特定取值或特定取值范围对应的关联用例集合中被标记为预测失败的用例数量与该关联用例集合中的用例总数量的比值作为所述测试参数的所述特定取值或特定取值范围的失败预测概率。

图3示出了本发明的第一实施例所提供的用于物理层软件测试的用例生成方法的软件仿真的界面截图。具体的,图3中的区域1示出了手动或随机生成的多个新用例所测试到的所有物理层特性参数的取值(feature),即,包括参数0至参数17;区域2示出了针对每个物理层特性参数的每个特定取值或特定取值范围的失败预测概率,例如,对应于参数0(featureld:0)的失败预测概率为72.2957%,同时以代表每个物理层特性参数的每个特定取值或特定取值范围的区块颜色的深浅表示出失败预测概率的高低,即,区块颜色越深,失败预测概率越高。

在本实施例中,根据所述每个测试参数的不同取值的失败预测概率生成所述目标测试用例集合,具体的,选择失败预测概率超过预设门限值的物理层特性参数的取值生成所述目标测试用例集合。例如,当第一物理层特性参数的取值A、第二物理层特性参数的取值B,和第三物理层特性参数的取值C的失败预测概率均超过一门限值,可以手动生成同时含有该三个物理层特性参数取值A、B、C的用例,或者利用随机生成用例工具设置参数来固定生成含有物理层特性参数取值A、B、C,同时其他参数随机的用例。如此可以达到使用更小的测试用例规模,更快发现软件功能模块(对应于不同物理层特性参数)缺陷的目的。

图4示出了本发明的第二实施例所提供的测试用例生成装置100的结构示意图。所述装置100包括:获取模块10,用于获取预设的用例集合中的每个测试用例;预测模块20,用于将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;生成模块40,用于基于所述每个测试用例的失败预测概率生成目标测试用例集合。所述装置100进一步包括:计算模块30,用于根据所述预设的用例集合中的所述每个测试用例的失败预测概率计算每个测试参数的不同取值的失败预测概率。

同时应当理解,第二实施例与第一实施例中的相关特征可相互参考、借鉴,此处不再一一赘述。

作为示例,本发明的应用场景可以包括应用于物理层PUSCH信道测试,该信道的物理层特性参数包括grpHopEnable、ant数、additional DMRS、MCS等。前期已有部分历史用例测试数据,将其导入用例失败预测模型中供其训练。假设场景A包括,64QAM、多用户、PUSCH携带HARQ信息,且HARQ长度大于11bit,满足此场景A的用例错误较多,当向用例失败预测模型输入新用例运行后,会得到满足以上场景条件的用例失败预测概率较高,进而会得到涉及上述物理层特性参数的取值的失败预测概率较高。随后通过选择失败预测概率较高的上述物理层特性参数的取值生成用于物理层软件测试的用例以提高用例的有效性。

本发明通过用例失败预测模型预测新用例的失败概率,能够将可能测出软件缺陷的用例筛选出来,以减少测试的工作量,提高用例有效性;另外,通过进一步预测每个物理层特性参数的取值的失败概率,能够更有针对性地生成测试用例,以进一步提高用例有效性。此外,本发明用于物理层软件测试的用例生成方法及装置能够帮助质量管理人员度量物理层软件的质量,例如,相同的用例集合可以用于支持功能相似的产品,而对于相同的用例集合,不同的产品由于质量不同,可能得出差异很大的特性参数失败概率表现。

图5示出了本发明的实施例提供的计算机设备200的结构示意图。该计算机设备包括通过系统总线300连接的处理器310、存储器320、网络接口330、显示屏340和输入装置350。其中,该计算机设备200的处理器310用于提供计算和控制能力。该计算机设备200的存储器320包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备200的网络接口330用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器310执行时以实现一种测试用例生成方法。该计算机设备200的显示屏340可以是液晶显示屏或者电子墨水显示屏,该计算机设备200的输入装置350可以是显示屏340上覆盖的触摸层,也可以是计算机设备200外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取预设的用例集合中的每个测试用例;将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;以及基于所述每个测试用例的失败预测概率生成目标测试用例集合。

对上述步骤的具体限定和实现方式可以参看上述实施例一,在此不再赘述。

在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现以下用于测试用例生成方法的步骤:获取预设的用例集合中的每个测试用例;将所述每个测试用例所包含的测试参数的取值输入至已训练完成的用例失败预测模型中,以获得所述每个测试用例的失败预测概率;以及基于所述每个测试用例的失败预测概率生成目标测试用例集合。

对上述步骤的具体限定和实现方式可以参看上述实施例一,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上对本发明实施例所提供的一种测试用例生成方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。

相关技术
  • 测试用例生成方法、装置、存储介质和电子设备
  • 测试用例生成方法、装置、电子设备及存储介质
技术分类

06120112941943