CN113778864A - 一种测试用例的生成方法和装置、电子设备和存储介质 - Google Patents
一种测试用例的生成方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113778864A CN113778864A CN202110970088.XA CN202110970088A CN113778864A CN 113778864 A CN113778864 A CN 113778864A CN 202110970088 A CN202110970088 A CN 202110970088A CN 113778864 A CN113778864 A CN 113778864A
- Authority
- CN
- China
- Prior art keywords
- target
- test
- case
- candidate
- model
- 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.)
- Pending
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/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种测试用例的生成方法和装置、电子设备和存储介质,其中,方法包括:确定待测试的目标测试对象;获取所述目标测试对象的目标对象特征信息,其中,所述目标对象特征信息中包括至少一个目标对象特征;通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型;根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例。本申请实施例提供的该方法,相对于相关技术中的测试用例的生成方法,可以有效的减少人工编写测试用例的工作量,降低对接口或业务场景进行自动化测试的门槛,提高自动化测试的效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及一种测试用例的生成方法和装置、电子设备和存储介质。
背景技术
随着互联网的快速发展,基于接口的自动化测试越来越受到互联网技术开发团队的重视,同时在日常工作中也发挥了重要的作用,进行自动化测试就需要不断的维护和编写自动化用例。
发明内容
为了解决测试用例生成方法中存在的测试用例编写成本高的技术问题,本申请提供了一种测试用例的生成方法和装置、电子设备和存储介质。
第一方面,本申请实施例提供了一种测试用例的生成方法,包括:
确定待测试的目标测试对象;
获取所述目标测试对象的目标对象特征信息,其中,所述目标对象特征信息中包括至少一个目标对象特征;
通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型,其中,所述目标用例模型的目标模型特征信息与所述目标对象特征信息之间的匹配度满足预设要求,所述目标模型特征信息中包括至少一个目标模型特征;
根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例。
可选的,如前述的方法,所述获取所述目标测试对象的目标对象特征信息包括:
确定所述目标测试对象中包括的至少一个待测试接口;
通过获取的每个所述待测试接口的所有目标接口特征,得到所述目标测试对象的所述目标对象特征信息。
可选的,如前述的方法,在所述通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型之前,所述方法包括:
获取历史场景对应的历史测试用例代码脚本,其中,所述历史测试用例代码脚本中包括至少一个历史测试用例,所述历史测试用例与所述历史场景中的候选接口一一对应;
从所述历史测试用例代码脚本中提取得到目标关键词信息;
将所述目标关键词信息输入目标神经网络中,预测在所述历史场景中所需使用的预测测试用例以及预测使用情况信息,其中,所述预测使用情况信息用于指示各个所述预测测试用例的组合关系;
根据所述目标关键词信息在所述历史测试用例代码脚本中匹配到每个所述预测测试用例;
根据所述预测使用情况信息对所述预测测试用例进行组合,得到待定用例模型;
根据所述待定用例模型生成对应的待定测试用例代码脚本;
在通过所述待定测试用例代码脚本对所述历史场景进行测试后的测试结果符合预设结果的情况下,将所述待定用例模型确定为对应于所述历史场景的所述候选用例模型。
可选的,如前述的方法,所述从所述历史测试用例代码脚本中提取得到目标关键词信息包括:
在所述历史测试用例代码脚本中进行关键词提取,得到候选关键词;
在所有所述候选关键词中,选择得到满足预设要求的所述目标关键词信息。
可选的,如前述的方法,所述在所述历史测试用例代码脚本中进行关键词提取,得到候选关键词信息之后,还包括:
按照每个所述候选接口的功能,对所述候选关键词信息进行聚类,得到对应于每个所述功能的候选关键词集合,其中,每个所述候选关键词集合中包括至少一个所述候选关键词。
可选的,如前述的方法,所述在所有所述候选关键词中,选择得到满足预设要求的所述目标关键词信息包括:
按照预设加权方案,根据每个所述候选关键词的权重,以及所有所述候选关键词中每个所述候选关键词的重复个数,确定出每个所述候选关键词的加权值;
对所有所述候选关键词进行去重后,得到去重后关键词;
根据每个所述去重后关键词的所述加权值,在所有所述去重后关键词中确定出所述目标关键词信息,其中,所述目标关键词信息的加权值高于其他所述去重后关键词的加权值。
可选的,如前述的方法,还包括:
按照目标场景对应业务的业务特征信息,确定所述目标场景对应的目标测试框架;
按照所述目标场景所需的目标接口,生成与所述目标测试框架适配,且对应于所述目标接口的测试用例模板以及数据模板;
按照所述目标接口对应的所述测试用例模板以及数据模板,生成所述目标接口对应于所述目标场景的候选测试用例。
可选的,如前述的方法,所述通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型包括:
获取所述候选用例模型的候选模型特征信息,其中,所述候选用例模型与候选模型特征信息之间一一对应,所述候选模型特征信息中包括至少一个候选模型特征;
通过确定所有所述候选模型特征中,与所有所述目标对象特征中的任一个所述目标对象特征相同的所述候选模型特征的个数,得到所述候选模型特征信息与所述目标对象特征信息之间的所述匹配度;
在所述匹配度满足所述预设要求的情况下,将所述匹配度对应的所述候选用例模型作为所述目标用例模型。
可选的,如前述的方法,所述根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例包括:
根据所述目标用例模型生成与所述目标测试对象对应的测试用例组合,其中,所述测试用例组合中包括所述目标测试对象中的每个接口对应的测试用例;
将所述测试用例组合集成到所述目标用例模型对应的测试框架中,得到用于对所述目标测试对象进行测试的所述目标测试用例。
第二方面,本申请实施例提供了一种测试用例的生成装置,包括:
确定模块,用于确定待测试的目标测试对象;
获取模块,用于获取所述目标测试对象的目标对象特征信息,其中,所述目标对象特征信息中包括至少一个目标对象特征;
匹配模块,用于通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型,其中,所述目标用例模型的目标模型特征信息与所述目标对象特征信息之间的匹配度满足预设要求,所述目标模型特征信息中包括至少一个目标模型特征;
生成模块,用于根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,相对于相关技术中的测试用例的生成方法,可以有效的减少人工编写测试用例的工作量,降低对接口或业务场景进行自动化测试的门槛,提高自动化测试的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种测试用例的生成方法的流程图;
图2为本申请另一实施例提供的一种测试用例的生成方法的流程图;
图3为本申请另一实施例提供的一种测试用例的生成方法的流程图;
图4为本申请实施例提供的一种测试用例的生成装置的框图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在相关技术中,为了快速高效的编写和维护自动化测试用例和脚本,会采用如下几种方案:
方案一:人工设计测试用例,手动编写测试用例,运行测试用例,最后输出测试报告。
方案二:基于历史用例,复用历史测试用例,自动生成常见的必有的用例,减少一部分用例的编写。
方案三:基于现有开源框架入RF,Pytest,TestNg等,做一定的封装改造后进行自动化用例的编写和生成。
上述方案存在如下所述的问题:
方案一存在的问题:自动化用例的编写执行效率较低,不同的API都要单独设计、编写、运行,对历史用例的复用度较低。
方案二存在的问题:对历史测试用例有了利用,一定程度上提高了编写效率,但自动化脚本会特别冗余,不利于后期的维护。
方案三存在的问题:开源框架封装后,既能提高历史用例的复用,提高编写效率,又能降低自动化测试脚本的冗余度,但是对测试人员编写脚本的能力有一定的要求,增加了学习成本;同时,框架内的改造对不同业务,不同框架的适用性较差,不具备通用性。
针对相关技术的测试用例生成方法中存在的测试用例编写成本高的技术问题,目前尚未提供有效的解决方案。
根据本申请实施例的一个方面,提供了一种测试用例的生成方法。可选地,在本实施例中,上述测试用例的生成方法可以应用于由终端和服务器所构成的硬件环境中。服务器通过网络与终端进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库,用于为服务器提供数据存储服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端可以并不限定于为PC、手机、平板电脑等。
本申请实施例的测试用例的生成方法可以由服务器来执行,也可以由终端来执行,还可以是由服务器和终端共同执行。其中,终端执行本申请实施例的测试用例的生成方法也可以是由安装在其上的客户端来执行。
以由服务器来执行本实施例中的测试用例的生成方法为例,图1为本申请实施例提供的一种测试用例的生成方法,包括如下所述步骤:
步骤S101,确定待测试的目标测试对象。
本实施例中的测试用例的生成方法可以应用于需要对新的业务场景(例如,线上购物场景、查询场景等等)进行测试的场景等。本申请实施例中以对新的接口进行测试的场景为例,在不矛盾的情况下,对于其他场景,上述的测试用例的生成方法同样适用。
当目标测试对象为业务场景时,由于一个业务场景中可能包括多个接口也可能只包括一个接口,因此目标测试对象中的接口数量也会根据实际情况发生变化,例如:以购物场景为例,则需要具有:查询、下单、支付等接口;当为查询场景时,则可以只存在查询接口。
步骤S102,获取目标测试对象的目标对象特征信息,其中,目标对象特征信息中包括至少一个目标对象特征。
在确定待测试的目标测试对象之后,即可获取目标测试对象的目标对象特征信息。
目标对象特征信息可以是对目标测试对象对应的测试用例代码脚本进行关键词提取后,得到的一个或多个关键词构成的信息。包括但不限于:场景(例如,购物、查询等等)、接口信息(例如,接口的路径),接口参数(例如,入参字段)。
步骤S103,通过目标对象特征信息,在所有候选用例模型中匹配到与目标测试对象对应的目标用例模型,其中,目标用例模型的目标模型特征信息与目标对象特征信息之间的匹配度满足预设要求,目标模型特征信息中包括至少一个目标模型特征。
在确定出目标对象特征信息之后,即可在所有候选用例模型中匹配到与目标测试对象对应的目标用例模型。
候选用例模型可以是能够表征对应的业务场景中,各个测试用例的组合关系的数据模型。
候选用例模型可以采用RNN神经网络,由于候选用例模型是对应于特定的业务场景,且包括多个测试用例,因此候选用例模型也对应有候选模型特征信息;并且,每个候选模型特征信息中环包括至少一个候选模型特征。
在确定目标对象特征信息以及每个候选用例模型的候选对象特征信息之后,即可确定出目标对象特征分别与每个候选对象特征信息之间的匹配度,并且,在匹配度符合预设结果的情况下,将匹配度对应的候选用例模型确定为目标用例模型。
步骤S104,根据目标用例模型生成用于对目标测试对象进行测试的目标测试用例。
在确定出目标用例模型之后,即可根据目标用例模型生成用于对目标测试对象进行测试的目标测试用例,以便于通过目标测试用例对目标测试对象进行测试,并得到对应的测试结果。
目标测试用例可以是一个单独的测试用例,也可以是由多个测试用例组成的集合,具体测试用例的数量基于目标测试对象的实际情况进行调整,例如,当目标测试对象为一独立查询接口时,目标测试用例可以是一个用于对该查询接口进行测试的测试用例,当目标测试对象为购物场景时,则目标测试用例需要包括与该购物场景下的各个接口对应的测试用例。
通过本实施例中的方法,相对于相关技术中的测试用例的生成方法,可以有效的减少人工编写测试用例的工作量,降低对接口或业务场景进行自动化测试的门槛,提高自动化测试的效率。
作为一种可选的实施方式,如前述的方法,所述步骤S102获取目标测试对象的目标对象特征信息包括如下所述步骤:
步骤S201,确定目标测试对象中包括的至少一个待测试接口。
步骤S202,通过获取的每个待测试接口的所有目标接口特征,得到目标测试对象的目标对象特征信息。
在确定目标测试对象之后,即可确定出目标测试对象中包括的所有待测试接口。
由于每个待测试接口都存在对应的特征,因此,可以对每个待测试接口进行关键词提取,得到每个待测试接口的所有目标接口特征,进而基于所有目标接口特征得到目标测试对象的目标对象特征信息。
例如,可以根据目标测试对象的每个接口文档进行文本预处理,通过分词的方法如基于字符串匹配的正向匹配、基于统计方法的互信息等方法提取得到每个接口文档中的目标接口特征,进而可以得到与每个待测试接口对应的目标接口特征,并且基于所有目标接口特征即可得到目标测试对象的目标对象特征信息。
通过本实施例中的方法,可以快速提取得到目标测试对象的目标对象特征信息,以便于之后根据目标对象特征信息,匹配目标测试对象对应的目标用例模型。
如图2所示,作为一种可选的实施方式,如前述的方法,在所述步骤S103通过目标对象特征信息,在所有候选用例模型中匹配到与目标测试对象对应的目标用例模型之前,方法包括如下所述步骤:
例如在资源管理业务模块的测试中,将设备类型、节点类型等关键词信息根据预设关键词权重进行对历史测试用例代码脚本抽样,对采样得到的数据集合进行排序、编码,然后将这些信息输入到RNN神经网络中进行学习,输出一个具有关键词标签的数据模型。
步骤S301,获取历史场景对应的历史测试用例代码脚本,其中,历史测试用例代码脚本中包括至少一个历史测试用例,历史测试用例与历史场景中的候选接口一一对应。
在预先对历史场景进行过测试的情况下,可以得到历史场景对应的历史测试用例代码脚本。
历史测试用例代码脚本,可以是包括数据文件和运行的具体代码的文件;并且,历史测试用例代码脚本中包括用于对历史场景进行测试的所有历史测试用例,因此,存在与每个历史场景中的候选接口一一对应的历史测试用例。
步骤S302,从历史测试用例代码脚本中提取得到目标关键词信息。
历史测试用例代码脚本中包括所有用于对历史场景进行测试的历史测试用例,因此,在对历史测试用例代码脚本进行关键词提取,即可提取得到目标关键词信息。
目标关键词信息可以是包括预设类型的一个或多个关键词。
步骤S303,将目标关键词信息输入目标神经网络中,预测在历史场景中所需使用的预测测试用例以及预测使用情况信息,其中,预测使用情况信息用于指示各个预测测试用例的组合关系。
在得到目标关键词信息之后,可以将目标关键词信息输入至目标神经网络中,以使目标神经网络根据目标关键词信息分析得到在历史场景中所需使用的预测测试用例以及预测使用情况信息。
预测测试用例可以是目标神经网络根据目标关键词信息分析得到的历史场景所需使用的测试用例。可选的,目标神经网络可以是RNN(递归神经网络)。
预测使用情况可以是目标神经网络根据目标关键词信息分析得到的历史场景中,各个预测测试用例的组合关系,该组合关系可以是各个预测测试用例的在测试过程中的先后关系;例如,当历史场景为购物场景时,则在逻辑关系上,用于生成订单的接口对应的测试用例需在结账的接口对应的测试用例之后。
步骤S304,根据目标关键词信息在历史测试用例代码脚本中匹配到每个预测测试用例。
目标关键词信息是从历史测试用例代码脚本中提取得到的,因此,历史测试用例代码脚本中存在目标关键词信息中的各个关键词。
一般情况下,每个测试用例都具有多个关键词。因此,通过目标关键词信息中的各个关键词可以在历史测试用例代码脚本中匹配得到对应的预测测试用例。
步骤S305,根据预测使用情况信息对预测测试用例进行组合,得到待定用例模型。
在得到预测使用情况信息以及预测测试用例之后,即可按照预测使用情况信息对各个预测测试用例进行组合,得到初步确定的待定用例模型。
步骤S306,根据待定用例模型生成对应的待定测试用例代码脚本。
在得到待定用例模型之后,可以将待定用例模型集成到对应的测试框架中,进而得到可以用于进行测试的待定测试用例代码脚本。
步骤S307,在通过待定测试用例代码脚本对历史场景进行测试后的测试结果符合预设结果的情况下,将待定用例模型确定为对应于历史场景的候选用例模型。
在得到待定测试用例代码脚本之后,即可通过待定测试用例代码脚本对历史场景进行测试,并得到对应的测试结果,当测试结果符合预设结果的情况下,将待定用例模型确定为对应于历史场景的候选用例模型。
预设结果可以是用于指示通过该待定测试用例代码脚本可以完成对历史场景进行测试的结果。当待定测试用例代码脚本无法对历史场景进行测试时,说明得到的待定用例模型还存在错误,需要进一步完善后才能够对历史场景进行测试。反之,在测试结果符合预设结果的情况下,将待定用例模型确定为对应于历史场景的候选用例模型,即,该候选用例模型可以用于对历史场景进行测试。
通过本实施例中的方法,可以快速确定出与每个场景对应的用例模型,进而可以提高用例模型确定的效率。
作为一种可选的实施方式,如前述的方法,所述步骤S302从历史测试用例代码脚本中提取得到目标关键词信息包括如下所述步骤:
步骤S401,在历史测试用例代码脚本中进行关键词提取,得到候选关键词。
在确定历史测试用例代码脚本之后,可以通过预设的字符串,在历史测试用例代码脚本中进行匹配,在根据字符串定位到对应字段之后,即可将该字段的信息作为关键词,提取出来,得到每个字符串提取到的关键词,通过一个字符串可以提取得到多个相同的关键词或多个不同的关键词,当历史场景中存在多个相同的测试用例或者不同的测试用例的同一字段的关键词相同时,通过一个字符串可以提取得到多个相同的关键词;在通过各个字符串进行关键词提取之后,即可得到所有候选关键词。
步骤S402,在所有候选关键词中,选择得到满足预设要求的目标关键词信息。
在确定所有候选关键词之后,为了避免存在重复或者重要性程度较低的候选关键词信息,可以对所有候选关键词信息进行进一步筛选,得到目标关键词信息。
作为一种可选的实施方式,如前述的方法,在所述步骤S401在历史测试用例代码脚本中进行关键词提取,得到候选关键词信息之后,所述方法还包括如下所述步骤:
步骤S501,按照每个候选接口的功能,对候选关键词信息进行聚类,得到对应于每个功能的候选关键词集合,其中,每个候选关键词集合中包括至少一个候选关键词。
在确定每个历史测试用例对应的候选接口之后,即可确定出每个候选接口的功能,例如:查询、配置、分析、大数据等等。在确定出候选关键词之后,可以确定每个功能对应的所有候选关键词,进而可以得到对应于每个功能的候选关键词集合。
在得到对应于每个功能的候选关键词集合之后,可以对每个功能的候选关键词集合中的候选关键词进行再次筛选,得到与每个功能对应的目标关键词信息。
通过本实施例中的方法,当需要针对于只包括某一功能的接口的场景建立候选用例模型时,可以只在该功能对应的候选关键词集合中进行查找,进而提高建立候选用例模型的精准度和效率。
作为一种可选的实施方式,如前述的方法,所述步骤S402在所有候选关键词中,选择得到满足预设要求的目标关键词信息包括如下所述步骤:
步骤S601,按照预设加权方案,根据每个候选关键词的权重,以及所有候选关键词中每个候选关键词的重复个数,确定出每个候选关键词的加权值。
候选关键词的权重可以是用于指示候选关键词对应的重要性程度的信息。例如,当候选关键词的类型为场景,接口信息,接口参数时,对应的权重可以高于其他类型的候选关键词的权重。
此外,在得到所有候选关键词之后,若同样的候选关键词出现的次数多,则说明该候选关键词的重要性高。
因此,预设加权方案可以是根据每个候选关键词的权重以及重复个数,确定出每个候选关键词的加权值的方案。
步骤S602,对所有候选关键词进行去重后,得到去重后关键词。
由于候选关键词中可能会存在重复的关键词,不利于后期根据候选关键词进行测试用例的匹配,因此,对所有候选关键词进行去重,并将剩下的候选关键词作为驱虫后关键词信息。
步骤S603,根据每个去重后关键词的加权值,在所有去重后关键词中确定出目标关键词信息,其中,目标关键词信息的加权值高于其他去重后关键词的加权值。
各个去重后关键词之间互不重复,并且由于每个候选关键词都计算得到了对应的加权值,因此每个去重后关键词也存在对应的加权值。
可以根据加权值的高低,对各个去重后关键词进行筛选,得到目标关键词信息。
例如,可以确定目标关键词信息中关键词的数量N,然后对去重后关键词按照加权值由高至低的顺序进行排序,并且取前N个去重后关键词后,即可得到目标关键词信息。
通过本实施例中的方法,可以避免筛选出的关键词过多的情况,并且可以保留重要性程度较高的候选关键词,可以有效提高后期确定出候选用例模型的效率。
如图3所示,作为一种可选的实施方式,如前述的方法,还包括如下所述步骤:
步骤S701,按照目标场景对应业务的业务特征信息,确定目标场景对应的目标测试框架。
步骤S702,按照目标场景所需的目标接口,生成与目标测试框架适配,且对应于目标接口的测试用例模板以及数据模板。
步骤S703,按照目标接口对应的测试用例模板以及数据模板,生成目标接口对应于目标场景的候选测试用例。
在未对目标场景进行过测试的情况下,则不存在与目标场景对应的用例模型以及测试用例。因此需要先生成对应于目标场景中的各个目标接口对应的候选测试用例。
不同的业务具有不同的业务特征信息(即,业务特征),因此适合不同的测试框架(例如,RF,Pytest,TestNg等)。
在按照目标场景对应业务的业务特征信息,确定目标场景对应的目标测试框架之后,即可以确定目标场景所需的所有目标接口,然后生成与目标测试框架适配,且对应于目标接口的测试用例模板以及数据模板。
测试用例模板可以是符合目标测试框架格式的模板。
数据模板可以是用于限定目标接口所需参数的模板,例如,当目标接口为登录接口时,数据模板可以限定有需要写入用户名和密码。
在确定目标接口对应的测试用例模板以及数据模板,即可生成目标接口对应于目标场景的候选测试用例。
进而,还可以基于目标场景中的所有接口,根据各个候选测试用例生成与目标场景对应的测试用例代码脚本。
通过本实施例中的方法,可以在不存在与目标场景对应的测试用例的情况下,先生成目标接口对应于目标场景的候选测试用例,以便于后期根据生成的候选测试用例得到候选用例模型。
作为一种可选的实施方式,如前述的方法,所述步骤S103通过目标对象特征信息,在所有候选用例模型中匹配到与目标测试对象对应的目标用例模型包括如下所述步骤:
步骤S801,获取候选用例模型的候选模型特征信息,其中,候选用例模型与候选模型特征信息之间一一对应,候选模型特征信息中包括至少一个候选模型特征。
由于候选用例模型是对应于特定的业务场景,且包括多个测试用例,因此候选用例模型也对应有唯一的候选模型特征信息;并且,每个候选模型特征信息中环包括至少一个候选模型特征。
步骤S802,通过确定所有候选模型特征中,与所有目标对象特征中的任一个目标对象特征相同的候选模型特征的个数,得到候选模型特征信息与目标对象特征信息之间的匹配度。
在确定目标对象特征信息以及每个候选用例模型的候选对象特征信息之后,即可确定出目标对象特征分别与每个候选对象特征信息之间的匹配度。
匹配度的确定方法可以是通过确定所有候选模型特征中,与所有目标对象特征中的任一个目标对象特征相同的候选模型特征的个数得到。
例如,在存在候选用例模型I的候选模型特征信息A(包括:a1、a2、a3、a4、a5共五个候选模型特征),目标对象特征信息B(包括:a1、a2、a3、a6、a7共五个目标模型特征),则候选模型特征信息A与目标对象特征信息B之间的匹配度可以是相同的特征个数与总特征个数之商,即(3+3)/(5+5)=0.6。
步骤S803,匹配度大于或等于预设匹配度阀值的情况下,将匹配度对应的候选用例模型作为目标用例模型。
在得到匹配度之后,即可根据匹配度判断是否可以将该候选用力模型作为目标用例模型。
例如,当预设匹配度阀值为0.8,则上述候选模型特征信息A与一个提测任务的目标对象特征信息B的匹配度1为0.6的情况下,该匹配度1对应的候选用例模型,即候选用例模型I无法作为目标测试对象的目标用例模型,当存在候选用例模型II的候选模型特征信息C与目标对象特征信息B的匹配度2为0.9的情况下,该匹配度2对应的候选用例模型,即候选用例模型II可以作为目标测试对象的目标用例模型。
通过本实施例中的方法,可以快速匹配得到目标测试对象对应的目标用例模型,进而可以提高匹配的效率。
作为一种可选的实施方式,如前述的方法,所述步骤S104根据目标用例模型生成用于对目标测试对象进行测试的目标测试用例包括如下所述步骤:
步骤S901,根据目标用例模型生成与目标测试对象对应的测试用例组合,其中,测试用例组合中包括目标测试对象中的每个接口对应的测试用例。
在得到目标测试对象对应的目标用例模型之后,即可根据目标用例模型生成与目标测试对象对应的测试用例组合,测试用例组合中可以包括与每个接口对应的测试用例,以及指示各个测试用例之间的逻辑关系。
例如在资源管理模块中的用例模型,其中包含了节点类型、设备类型、节点状态等关键词,当测试场景有相同关键词出现时,即可落在此用例模型上,将模型中的各接口测试用例与新的接口进行组合,构造出新的业务测试场景。
步骤S902,将测试用例组合集成到目标用例模型对应的测试框架中,得到用于对目标测试对象进行测试的目标测试用例。
在得到测试用例组合之后,即可将测试用例组合集成到对应的测试框架中,得到目标测试用例,最后再运行该目标测试用例最后生成测试报告。同时将测试用例反馈到历史测试用例库中,再被深度学习机器去训练学习,从而达到丰富模型,精细化业务场景的目的。
如图4所示,根据本申请另一方面的一个实施例,还提供了一种测试用例的生成装置,包括:
确定模块1,用于确定待测试的目标测试对象;
获取模块2,用于获取目标测试对象的目标对象特征信息,其中,目标对象特征信息中包括至少一个目标对象特征;
匹配模块3,用于通过目标对象特征信息,在所有候选用例模型中匹配到与目标测试对象对应的目标用例模型,其中,目标用例模型的目标模型特征信息与目标对象特征信息之间的匹配度满足预设要求,目标模型特征信息中包括至少一个目标模型特征;
生成模块4,用于根据目标用例模型生成用于对目标测试对象进行测试的目标测试用例。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图5所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种计算机可读存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种测试用例的生成方法,其特征在于,包括:
确定待测试的目标测试对象;
获取所述目标测试对象的目标对象特征信息,其中,所述目标对象特征信息中包括至少一个目标对象特征;
通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型,其中,所述目标用例模型的目标模型特征信息与所述目标对象特征信息之间的匹配度满足预设要求,所述目标模型特征信息中包括至少一个目标模型特征;
根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标测试对象的目标对象特征信息包括:
确定所述目标测试对象中包括的至少一个待测试接口;
通过获取的每个所述待测试接口的所有目标接口特征,得到所述目标测试对象的所述目标对象特征信息。
3.根据权利要求1所述的方法,其特征在于,在所述通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型之前,所述方法包括:
获取历史场景对应的历史测试用例代码脚本,其中,所述历史测试用例代码脚本中包括至少一个历史测试用例,所述历史测试用例与所述历史场景中的候选接口一一对应;
从所述历史测试用例代码脚本中提取得到目标关键词信息;
将所述目标关键词信息输入目标神经网络中,预测在所述历史场景中所需使用的预测测试用例以及预测使用情况信息,其中,所述预测使用情况信息用于指示各个所述预测测试用例的组合关系;
根据所述目标关键词信息在所述历史测试用例代码脚本中匹配到每个所述预测测试用例;
根据所述预测使用情况信息对所述预测测试用例进行组合,得到待定用例模型;
根据所述待定用例模型生成对应的待定测试用例代码脚本;
在通过所述待定测试用例代码脚本对所述历史场景进行测试后的测试结果符合预设结果的情况下,将所述待定用例模型确定为对应于所述历史场景的所述候选用例模型。
4.根据权利要求3所述的方法,其特征在于,所述从所述历史测试用例代码脚本中提取得到目标关键词信息包括:
在所述历史测试用例代码脚本中进行关键词提取,得到候选关键词;
在所有所述候选关键词中,选择得到满足预设要求的所述目标关键词信息。
5.根据权利要求4所述的方法,其特征在于,所述在所述历史测试用例代码脚本中进行关键词提取,得到候选关键词信息之后,还包括:
按照每个所述候选接口的功能,对所述候选关键词信息进行聚类,得到对应于每个所述功能的候选关键词集合,其中,每个所述候选关键词集合中包括至少一个所述候选关键词。
6.根据权利要求4所述的方法,其特征在于,所述在所有所述候选关键词中,选择得到满足预设要求的所述目标关键词信息包括:
按照预设加权方案,根据每个所述候选关键词的权重,以及所有所述候选关键词中每个所述候选关键词的重复个数,确定出每个所述候选关键词的加权值;
对所有所述候选关键词进行去重后,得到去重后关键词;
根据每个所述去重后关键词的所述加权值,在所有所述去重后关键词中确定出所述目标关键词信息,其中,所述目标关键词信息的加权值高于其他所述去重后关键词的加权值。
7.根据权利要求1所述的方法,其特征在于,还包括:
按照目标场景对应业务的业务特征信息,确定所述目标场景对应的目标测试框架;
按照所述目标场景所需的目标接口,生成与所述目标测试框架适配,且对应于所述目标接口的测试用例模板以及数据模板;
按照所述目标接口对应的所述测试用例模板以及数据模板,生成所述目标接口对应于所述目标场景的候选测试用例。
8.根据权利要求1所述的方法,其特征在于,所述通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型包括:
获取所述候选用例模型的候选模型特征信息,其中,所述候选用例模型与候选模型特征信息之间一一对应,所述候选模型特征信息中包括至少一个候选模型特征;
通过确定所有所述候选模型特征中,与所有所述目标对象特征中的任一个所述目标对象特征相同的所述候选模型特征的个数,得到所述候选模型特征信息与所述目标对象特征信息之间的所述匹配度;
在所述匹配度满足所述预设要求的情况下,将所述匹配度对应的所述候选用例模型作为所述目标用例模型。
9.根据权利要求1所述的方法,其特征在于,所述根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例包括:
根据所述目标用例模型生成与所述目标测试对象对应的测试用例组合,其中,所述测试用例组合中包括所述目标测试对象中的每个接口对应的测试用例;
将所述测试用例组合集成到所述目标用例模型对应的测试框架中,得到用于对所述目标测试对象进行测试的所述目标测试用例。
10.一种测试用例的生成装置,其特征在于,包括:
确定模块,用于确定待测试的目标测试对象;
获取模块,用于获取所述目标测试对象的目标对象特征信息,其中,所述目标对象特征信息中包括至少一个目标对象特征;
匹配模块,用于通过所述目标对象特征信息,在所有候选用例模型中匹配到与所述目标测试对象对应的目标用例模型,其中,所述目标用例模型的目标模型特征信息与所述目标对象特征信息之间的匹配度满足预设要求,所述目标模型特征信息中包括至少一个目标模型特征;
生成模块,用于根据所述目标用例模型生成用于对所述目标测试对象进行测试的目标测试用例。
11.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970088.XA CN113778864A (zh) | 2021-08-23 | 2021-08-23 | 一种测试用例的生成方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970088.XA CN113778864A (zh) | 2021-08-23 | 2021-08-23 | 一种测试用例的生成方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778864A true CN113778864A (zh) | 2021-12-10 |
Family
ID=78838918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970088.XA Pending CN113778864A (zh) | 2021-08-23 | 2021-08-23 | 一种测试用例的生成方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778864A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817004A (zh) * | 2022-04-07 | 2022-07-29 | 中国联合网络通信集团有限公司 | 测试用例生成方法、装置、设备及可读存储介质 |
CN115827423A (zh) * | 2022-09-15 | 2023-03-21 | 江苏瑞蓝自动化设备集团有限公司 | 基于多场景聚类的测试案例生成方法、装置、设备及介质 |
CN117112400A (zh) * | 2023-07-24 | 2023-11-24 | 东方通创新科技(重庆)有限公司 | 测试用例自动生成平台 |
-
2021
- 2021-08-23 CN CN202110970088.XA patent/CN113778864A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817004A (zh) * | 2022-04-07 | 2022-07-29 | 中国联合网络通信集团有限公司 | 测试用例生成方法、装置、设备及可读存储介质 |
CN114817004B (zh) * | 2022-04-07 | 2024-05-17 | 中国联合网络通信集团有限公司 | 测试用例生成方法、装置、设备及可读存储介质 |
CN115827423A (zh) * | 2022-09-15 | 2023-03-21 | 江苏瑞蓝自动化设备集团有限公司 | 基于多场景聚类的测试案例生成方法、装置、设备及介质 |
CN117112400A (zh) * | 2023-07-24 | 2023-11-24 | 东方通创新科技(重庆)有限公司 | 测试用例自动生成平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343857B (zh) | 线上部署机器学习模型的方法、设备和存储介质 | |
US20200065160A1 (en) | Automated api evaluation based on api parameter resolution | |
CN110474900B (zh) | 一种游戏协议测试方法及装置 | |
CN113778864A (zh) | 一种测试用例的生成方法和装置、电子设备和存储介质 | |
CN109144879B (zh) | 测试分析方法及装置 | |
CN111723192B (zh) | 代码推荐方法和装置 | |
CN111338692A (zh) | 基于漏洞代码的漏洞分类方法、装置及电子设备 | |
CN113158189A (zh) | 一种恶意软件分析报告生成方法、装置、设备和介质 | |
CN112527676A (zh) | 模型自动化测试方法、装置及存储介质 | |
CN112559344A (zh) | 远程mock测试方法及系统 | |
CN116797195A (zh) | 工单处理方法、装置、计算机设备和计算机可读存储介质 | |
US10956914B2 (en) | System and method for mapping a customer journey to a category | |
CN114254661A (zh) | 应用的国际化语言翻译方法和系统、电子设备及存储介质 | |
CN114492601A (zh) | 资源分类模型的训练方法、装置、电子设备及存储介质 | |
US20210286706A1 (en) | Graph-based method for inductive bug localization | |
US11574250B2 (en) | Classification of erroneous cell data | |
CN113516251A (zh) | 一种机器学习系统及模型训练方法 | |
CN113343248A (zh) | 一种漏洞识别方法、装置、设备和存储介质 | |
CN112416800A (zh) | 智能合约的测试方法、装置、设备及存储介质 | |
CN113837210A (zh) | 小程序分类方法、装置、设备及计算机可读存储介质 | |
CN112711678A (zh) | 数据解析方法、装置、设备及存储介质 | |
US11556460B2 (en) | Test case generation for software development using machine learning | |
CN111459774A (zh) | 一种应用程序的流量的获取方法、装置、设备及存储介质 | |
CN109597828A (zh) | 一种离线数据核对方法、装置及服务器 | |
CN115292178A (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 |