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

一种测试案例推荐方法、装置和电子设备

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


一种测试案例推荐方法、装置和电子设备

技术领域

本发明涉及计算机软件测试技术领域,具体涉及一种测试案例推荐方法、装置和电子设备。

背景技术

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

对于一个软件系统来说,负责系统测试的测试工程师通常会创建并维护一套全量的案例库,每次需要回归测试时,会从全量案例库中确定测试范围。目前测试工程师往往是通过软件改动范围以及以往的测试经验来确定回归测试范围,这种方式比较主观,难免会遗漏一些影响因素,确定的回归测试案例范围并不准确。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例公开了一种测试案例推荐方法,所述方法包括:

获取目标案例的预定指标信息;其中所述预定指标的个数大于等于1;

将所述预定指标信息输入至预先构建的测试案例推荐模型中;

所述测试案例推荐模型输出目标影响因子;

当所述目标影响因子满足预设阈值时,将所述目标案例推荐为回归测试案例。

进一步地,所述预定指标信息包括但不限于以下至少之一:

目标案例关联功能模块在预定时间内是否涉及改动;

目标案例关联功能模块的重要程度;

目标案例关联功能模块是否涉及账务变动功能;

目标案例关联功能模块的使用频率;

目标案例测试执行成本;

目标案例关联的历史缺陷数量;

目标案例关联的历史最高缺陷等级;

测试项目测试周期。

进一步地,将所述预定指标信息输入至预先构建的测试案例推荐模型中包括:

根据预设的指标量化规则,将所述预定指标信息进行量化;

将所述量化后的各预定指标的量化值输入至预先构建的测试案例推荐模型中。

进一步地,所述预先构建的测试案例推荐模型为基于神经网络模型和sigmoid函数构建的推荐模型;所述预定指标信息输入至预先构建的测试案例推荐模型中包括:

将所述各预定指标的量化值作为神经元输入至测试案例推荐模型的输入层。

进一步地,所述测试案例推荐模型输出目标影响因子包括:

所述各预定指标经过测试案例推荐模型的输入层和隐藏层,输出两个中间影响因子X;

根据所述sigmoid函数对所述X进行去线性化处理,所述测试案例推荐模型的输出层输出目标影响因子Y。

进一步地,所述测试案例推荐模型输出目标影响因子还包括:

所述各预定指标经过测试案例推荐模型的输入层和隐藏层,输出两个中间影响因子X1和X2;

根据所述sigmoid函数对所述X进行去线性化处理,所述测试案例推荐模型的输出层输出目标影响因子Y1和Y2;其中,所述Y1为正向影响因子,所述Y2为负向影响因子,所述Y1+Y2=1。

进一步地,当所述目标影响因子满足预设阈值时将所述目标案例推荐为回归测试案例包括:

当所述Y>0.5时,将所述目标案例推荐为回归测试案例;

或,

当所述Y1>Y2时,将所述目标案例推荐为回归测试案例。

第二方面,本申请实施例提供了一种测试案例推荐装置,所述装置包括:数据提取模块、通讯模块、存储模块、判断模块和推荐模块;其中,

所述数据提取模块,用于获取目标案例的预定指标信息;其中所述预定指标的个数大于等于1;

所述通讯模块,用于将所述预定指标信息输入至预先构建的测试案例推荐模型中;

所述存储模块,用于存储预先构建的测试案例推荐模型;

所述通讯模块,还用于控制所述测试案例推荐模型输出目标影响因子;

所述判断模块,用于判断所述目标影响因子是否满足预设阈值;

所述推荐模块,用于当所述目标影响因子满足预设阈值时将所述目标案例推荐为回归测试案例。

第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器;

所述存储器,用于存储操作指令;

所述处理器,用于通过调用所述操作指令,执行上述任一实施例中所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。

本申请实施例提供测试案例推荐方案基于神经网络模型结合sigmoid激活函数构建了一个回归测试案例推荐模型,并确定所有可能影响回归测试案例的关键指标信息(即预定指标),从软件修改的案例库中提取每一个案例预定指标信息输入至构建的回归测试案例推荐模型中,根据该模型输出的各案例的影响因子推荐哪些案例需要做回归测试。本申请的有益效果解决了目前人工进行测试案例的选取,实现了统一大批量自动推荐出适合的软件测试回归案例范围,能够有效指导测试工程师对回归测试范围进行合理的选择,达到保障系统质量,控制测试成本的目的。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种测试案例推荐方法的流程示意图;

图2为本申请实施例提供的一种测试案例推荐模型的示意图;

图3为本申请实施例提供的一种测试案例推荐装置的示意图;

图4为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,其中的“第一”“第二”等只是为了介绍清楚方案而进行的对象区分定义,并不对对象本身进行限制,当然“第一”和“第二”限定的对象可能是同一个终端、设备和用户等,也可能是同一种终端、设备和用户。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。此外应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面介绍一些下面实施例可能用到或用于辅助解释实施例技术方案的概念、术语或装置:

所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。sigmoid函数就是一种激活函数,该函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种测试案例推荐的流程示意图,如图1所示,该方法主要可以包括:

S101、获取目标案例的预定指标信息;其中所述预定指标的个数大于等于1;在本申请实施例中目标案例指的是软件修改案例库中的任一个当前用于所述测试案例推荐方法的测试案例。

在本申请实施例中,所述预定指标信息包括但不限于以下至少之一:

(a)目标案例关联功能模块在预定时间内是否涉及改动;在本申请实施例中一个软件具有多个功能模块,每一个功能模块至少对应一个测试案例用于测试该功能模块是否正常,而一个测试案例仅能对应一个软件功能模块,因此一个功能模块与测试案例是一对多的关联关系。

(b)目标案例关联功能模块的重要程度;

(c)目标案例关联功能模块是否涉及账务变动功能;

(d)目标案例关联功能模块的使用频率;

(e)目标案例测试执行成本;

(f)目标案例关联的历史缺陷数量;

(g)目标案例关联的历史最高缺陷等级;

(h)测试项目测试周期。

在具体的实施例中,需要根据预设的指标量化规则,将所述预定指标信息进行量化,量化规则包括:

(a)目标案例关联功能模块在预定时间内是否涉及改动(0为不涉及,1为涉及);

(b)目标案例关联功能模块的重要程度(1-5,最重要为5,最不重要为1);

(c)目标案例关联功能模块是否涉及账务变动功能(0为不涉及,1为涉及);

(d)目标案例关联功能模块的使用频率(1-5,最频繁为5,最不频繁为1);

(e)目标案例测试执行成本(1-5,成本最低为5,成本最高为1,通常可自动化执行的成本较低,手工执行的成本较高);

(f)目标案例关联的历史缺陷数量(以个为单位,取实际数量);

(g)目标案例关联的历史最高缺陷等级(等级1-4;1代表轻微缺陷,2代表一般缺陷,3代表严重缺陷,4代表致命缺陷);

(h)测试项目测试周期(以天为单位),其中测试项目周期指定是整个软件测试项目的时间,一个软件测试项目下包括多个测试案例。

S102、将所述预定指标信息输入至预先构建的测试案例推荐模型中;具体为:将所述量化后的各预定指标的量化值输入至预先构建的测试案例推荐模型中。

在本申请实施例中所述预先构建的测试案例推荐模型为基于神经网络模型和激活函数(可以为sigmoid函数)构建的推荐模型。该测试案例推荐模型的构成包括输入层、隐藏层、原始输出层、处理层(即Softmax层)和最终输出层。在利用该测试案例推荐模型之前需要利用历史数据对该模型进行训练,训练过程为采集模型对应系统的历史数据作为训练集,在确定隐藏层的数量后利用误差反向传播算法(BP算法)对深度神经网络模型进行迭代训练,训练收敛后可得到神经网络模型的权重,也就是节点与节点之间的连线对应的系数,并完成模型训练。

S103、所述测试案例推荐模型输出目标影响因子;

在本申请实施例中,所述测试案例推荐模型输出目标影响因子的步骤包括:

步骤1、将预定指标(a)-(h)的量化值作为神经元输入至测试案例推荐模型的输入层;

步骤2、所述各预定指标经过测试案例推荐模型的输入层和隐藏层,输出两个中间影响因子X;

步骤3、根据激活函数对所述X进行去线性化处理,所述测试案例推荐模型的输出层输出目标影响因子Y。Y>0.5时,将所述目标案例推荐为回归测试案例。

图2示出了本申请实施例提供的一种测试案例推荐模型的示意图,如图2所示,测试案例推荐模型的组成结构和输出目标影响因子的步骤可以包括:

输入层:表示神经网络模型的输入神经元,将预定指标(a)-(h)的量化值作为神经元输入至测试案例推荐模型的输入层。

隐藏层:中间两列表示隐藏层,m表示隐藏层数,n表示每一个隐藏层的节点数,Hmn表示第m个隐藏层的第n个节点,隐藏层之后为原始输出层,对应两个输出值X1和X2;隐藏层和原始输出层中神经元均需要使用激活函数实现去线性化。本申请实施例中采用的激活函数为sigmoid函数:

处理层:原始输出层之后为softmax层,softmax层是一层额外的处理层,将神经网络的输出变成一个概率分布,假设原始输出层的输出为X1、X2…、Xn那么经过softmax回归处理之后的输出为

S104、当所述目标影响因子满足预设阈值时,将所述目标案例推荐为回归测试案例,即表示推荐对此目标案例进行回归测试。

在本申请一个实施例中,当上述实施例中的Y>0.5时,将所述目标案例推荐为回归测试案例;或,在本申请另一个实施例中,所述Y1>Y2时,将所述目标案例推荐为回归测试案例。

基于图1所示的测试案例推荐方法,另一方面本申请实施例提供了一种测试案例推荐装置,所述装置如图3所示,所述装置可以包括:301数据提取模块、302通讯模块、303存储模块、304判断模块和305推荐模块;其中,

所述301数据提取模块,用于获取目标案例的预定指标信息;其中所述预定指标的个数大于等于1;

所述302通讯模块,用于将所述预定指标信息输入至预先构建的测试案例推荐模型中;

所述303存储模块,用于存储预先构建的测试案例推荐模型;

所述302通讯模块,还用于控制所述测试案例推荐模型输出目标影响因子;

所述304判断模块,用于判断所述目标影响因子是否满足预设阈值;

所述305推荐模块,用于当所述目标影响因子满足预设阈值时将所述目标案例推荐为回归测试案例。

可以理解的是,本实施例中的测试案例推荐装置的上述各组成设备具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或系统。上述模块和系统可以是软件和/或硬件,上述各模块和系统可以单独实现,也可以多个模块和系统集成实现。对于上述各模块和系统的功能描述具体可以参见图1中所示实施例中的方法的对应描述,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

可以理解的是,本发明实施例示意的结构并不构成对测试案例推荐装置的具体结构的具体限定。在本申请另一些实施例中,测试案例推荐装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的测试案例推荐方法。

作为一个示例,图4示出了本申请实施例所适用的一种电子设备的结构示意图,如图4所示,该电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。可选的,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个。可以理解的是,本发明实施例示意的结构并不构成对电子设备400的具体结构的具体限定。在本申请另一些实施例中,电子设备400可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实。可选地,电子设备还可以包括显示屏405,用于显示图像,或需要时接收用户的操作指令。

其中,处理器401应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器404可以包括接收机和发射机,收发器404应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

处理器401也可以包括一个或多个处理单元,例如:处理器401可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备400的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器401中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器401中的存储器为高速缓冲存储器。该存储器可以保存处理器401刚用过或循环使用的指令或数据。如果处理器401需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器401的等待时间,因而提高了系统的效率。

处理器401可以运行本申请实施例提供的测试案例推荐方法,以便于降低用户的操作复杂度、提高终端设备的智能化程度,提升用户的体验。处理器401可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的测试案例推荐方法,比如测试案例推荐方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。

总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘),也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS),或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现本申请任一实施方式中所提供的测试案例推荐方法。

存储器403可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器401通过运行存储在存储器403的指令,从而执行电子设备400的各种功能应用以及数据处理。存储器403可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序的代码等。存储数据区可存储电子设备400使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。

存储器403还可以存储本申请实施例提供的测试案例推荐方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器403中并被配置为被该一个或多个处理器401执行,该一个或多个计算机程序包括指令,上述指令可以用于执行上述相应实施例中的各个步骤。

当然,本申请实施例提供的测试案例推荐方法的代码还可以存储在外部存储器中。这种情况下,处理器401可以通过外部存储器接口运行存储在外部存储器中的测试案例推荐方法的代码,处理器401可以控制运行测试案例推荐流程。

显示屏405包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备400可以包括1个或N个显示屏405,N为大于1的正整数。显示屏405可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical userinterface,GUI)。例如,显示屏405可以显示照片、视频、网页、或者文件等。

本申请实施例提供的电子设备,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的测试案例推荐方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。本申请实施例提供的计算机程序产品,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请上述实施例公开的测试案例推荐方案基于神经网络模型结合sigmoid激活函数构建了一个回归测试案例推荐模型,并确定所有可能影响回归测试案例的关键指标信息(即预定指标),从软件修改的案例库中提取每一个案例预定指标信息输入至构建的回归测试案例推荐模型中,根据该模型输出的各案例的影响因子推荐哪些案例需要做回归测试。本申请解决了目前人工进行测试案例的选取,实现了统一大批量自动推荐出适合的软件测试回归案例范围,能够有效指导测试工程师对回归测试范围进行合理的选择,达到保障系统质量,控制测试成本的目的。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,还可以做出若干改进和润饰,这些变化、替换、改进和润饰也应视为都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种测试案例推荐方法、装置和电子设备
  • 测试案例推荐方法、电子装置及可读存储介质
技术分类

06120112837288