CN109684209A - 一种测试用例生成方法、装置及电子设备 - Google Patents
一种测试用例生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109684209A CN109684209A CN201811541591.8A CN201811541591A CN109684209A CN 109684209 A CN109684209 A CN 109684209A CN 201811541591 A CN201811541591 A CN 201811541591A CN 109684209 A CN109684209 A CN 109684209A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- interface
- line
- case data
- 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
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
Abstract
本发明公开了一种测试用例生成方法、装置及电子设备,所述方法包括:对线上访问数据进行分类处理,获得不同类别的用例数据,基于待测试的接口的测试参数,从不同类别的用例数据中获取与待测试的接口对应的目标用例数据,根据目标用例数据中的执行逻辑,生成与待测试的接口对应的测试用例。如此可以得到覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高。解决了现有技术中存在的难以获得覆盖用户的不同请求场景的测试用例,测试效率低的技术问题,达到了可以获得覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高的技术效果。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种测试用例生成方法、装置及电子设备。
背景技术
接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点,测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。接口测试需要用到多个测试用例,测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果的数据,以便测试某个程序路径或核实是否满足某个特定需求。目前互联网产品迭代频繁,然而,目前主要依靠人工生成测试用例,难以获得覆盖用户的不同请求场景的测试用例,测试效率低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试用例生成方法、装置及电子设备。
第一方面,本发明提供了一种测试用例生成方法,包括:
对线上访问数据进行分类处理,获得不同类别的用例数据;
基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
可选的,在所述对线上访问数据进行分类处理,获得不同类别的用例数据之前,还包括:
获取线上接口请求访问日志;
对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
可选的,在所述将所述线上访问数据存在数据库中之后,还包括:
对所述数据库中的所述线上访问数据进行清洗。
可选的,所述对线上访问数据进行分类处理,获得不同类别的用例数据,包括:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;
通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;
将所述不同类别的用例数据存储到所述数据库中。
可选的,所述将所述不同类别的用例数据存储到所述数据库中,包括:
获取每种用例数据的类别信息,其中,所述类别信息用于表示对应用例数据所适用的测试类别;
获取多种接口的测试参数,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;
建立所述测试类别参数与所述类别信息之间的对应关系;将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
可选的,所述基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述测试参数对应的目标用例数据,包括:
获取所述待测试的接口的测试参数;
根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从所述数据库中获取与所述待测试的接口对应的用例数据作为所述目标用例数据。
可选的,所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点;所述测试参数还包括接口参数;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例,包括:
根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;
若请求成功,则以所述执行逻辑作为所述测试用例。
第二方面,基于同一发明构思,本发明提供了一种测试用例生成装置,包括:
分类模块,用于对线上访问数据进行分类处理,获得不同类别的用例数据;
第一获取模块,用于基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
生成模块,用于根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
可选的,所述装置,还包括:
第二获取模块,用于获取线上接口请求访问日志;
解析模块,用于对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
可选的,所述装置,还包括:
清洗模块,用于对所述数据库中的所述线上访问数据进行清洗。
可选的,所述分类模块,还用于:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;将所述不同类别的用例数据存储到所述数据库中。
可选的,所述分类模块,还用于:
获取每种测试用例的类别信息,其中,所述类别信息用于表征所述用例数据的类别;获取多种接口的测试参数和所述类别信息,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;建立所述测试类别参数与所述类别信息之间的对应关系;将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
可选的,所述第一获取模块,还用于:
获取所述待测试的接口的测试参数;根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从所述数据库中获取与所述待测试的接口对应的用例数据作为所述目标用例数据。
可选的,所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点;所述测试参数还包括接口参数;
所述生成模块,还用于:
根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;若请求成功,则以所述执行逻辑作为所述测试用例。
第三方面,基于同一发明构思,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
第四方面,基于同一发明构思,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本发明实施例提供了一种测试用例生成方法、装置及电子设备,所述方法包括:对线上访问数据进行分类处理,获得不同类别的用例数据,基于待测试的接口的测试参数,从不同类别的用例数据中获取与待测试的接口对应的目标用例数据,根据目标用例数据中的执行逻辑,生成与待测试的接口对应的测试用例。通过对访问数据进行分类处理得到不同类别的用例数据,不同类别的用例数据对应不同的请求场景,因此可以得到覆盖用户的不同请求场景的用例数据;基于待测试的接口的测试参数,从不同类别的用例数据中获取与待测试的接口对应的目标用例数据,进一步的根据目标用例数据中的执行逻辑,生成与待测试的接口对应的测试用例,如此生成的测试用例满足用户的请求场景,基于不同的用例数据可以得到不同的测试用例,如此可以得到覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高。解决了现有技术中存在的难以获得覆盖用户的不同请求场景的测试用例,测试效率低的技术问题,达到了可以获得覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高的技术效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种测试用例生成方法的流程图;
图2示出了本发明实施例提供的一种测试用例生成装置200的方框结构示意图;
图3示出了本发明实施例提供的一种电子设备的方框结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
作为一种可选的实施例,本发明提供的一种测试用例生成方法,包括如图1所述的步骤S100~步骤S300,以下结合图1对步骤S100~步骤S300进行阐述。
步骤S100:对线上访问数据进行分类处理,获得不同类别的用例数据。
在本发明实施例中,线上访问数据是指通过互联网的方式访问网页或者网站或者某个接口的数据,具体的,可以通过获取线上接口请求访问日志以获得线上访问数据。在对线上访问数据进行分类处理,获得不同类别的用例数据之前,可以通过获取线上接口请求访问日志,对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
例如,获取的线上接口请求访问日志包含多个访问路径、接口签名和类别信息等数据数据,则将线上接口请求访问日志进行解析,得到包含解除封装的访问路径、接口签名和类别信息等数据的多个线上访问数据,例如,多个线上访问数据包括线上访问数据A、线上访问数据B、线上访问数据C和线上访问数据D,其中,类别信息表征用例数据的类别,也可以表征基于用例数据生成的测试用例的测试类别,例如功能性测试、接口的并发测试、容错机制测试、安全性测试等测试类别。其中,线上访问数据A和线上访问数据C中的类别信息是相同的,线上访问数据B和线上访问数据D中的类别信息是相同的,则线上访问数据A和线上访问数据C是同一类线上访问数据,线上访问数据B和线上访问数据D是同一类线上访问数据,则线上访问数据A和线上访问数据C是第一类别的用例数据,将线上访问数据A和线上访问数据C存入同一个数据库中,线上访问数据B和线上访问数据D是第二类别的用例数据库,将线上访问数据B和线上访问数据D存入同一个数据库中。
在本发明实施例中,可以通过开源数据收集引擎logstash采集线上接口请求访问日志,再将线上访问数据存在mongo数据库中。通过开源数据收集引擎logstash采集线上接口请求访问日志,可以获得各种场景下的访问日志。将线上访问数据存在mongo数据库中,可以通过网络访问线上访问数据。
作为一种可选的实施例,在所述将所述线上访问数据存在数据库中之后,测试用例生成方法,还包括:对所述数据库中的所述线上访问数据进行清洗。例如,可以根据参数的特征设定的规则进行的数据清洗。
作为一种可选的实施方式,所述的清洗操作可以是将所述数据库中的所述线上访问数据进行过滤,或者将所述数据库中的所述线上访问数据进行特征去除,特征去除指的是将线上访问数据中包含的一些无用的特征去除,例如,剔除掉线上访问数据中包含的接口签名,或者,对线上访问数据的参数值进行处理,线上访问数据的参数值可以包括线上访问数据的类别标识、访问接口、访问逻辑等。
例如,线上访问数据包括访问路径、接口签名和类别信息,对线上访问数据进行清洗后,得到包括访问路径和类别信息的线上访问数据。或者,线上访问数据的访问路径含有杂质,例如,访问路径包含无用的访问路径分支,则将这些无用的访问路径分支进行剪枝,得到可以作为测试用例的访问路径。
在本发明实施例中,所述对线上访问数据进行分类处理,获得不同类别的用例数据的具体实施方式可以是:通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据,一般,不同类别的用例数据对应不同的请求场景;将所述不同类别的用例数据存储到所述数据库中。
作为一种可选的实施方式,第一机器学习模型可以是词频逆文本频率指数模型(term frequency–inverse document frequency,TF-IDF)。通过TF-IDF对经过清洗后的线上访问数据进行加权,并基于加权后的线上访问数据构造聚类矩阵。第二机器学习模型可以是K均值聚类模型(K-means)。通过K-means对聚类矩阵内的线上访问数据进行文本聚类,获得不同类别的用例数据。把不同类别的用例输入按照类别归类存储到数据库中。
作为一种可选的实施方式,把不同类别的用例输入按照类别归类存储到数据库中,具体的实施方式可以是:
获取每种用例数据的类别信息,其中,所述类别信息用于表示对应用例数据所适用的测试类别;获取多种接口的测试参数,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;建立所述测试类别参数与所述类别信息之间的对应关系,将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
这里,建立所述测试类别参数与所述类别信息之间的对应关系的方式有多种,例如,判断测试类别参数与类别信息是否匹配,若匹配,则判定所述测试类别参数与所述类别信息之间是对应的。其中,所述测试类别参数与所述类别信息之间是否匹配,可以是,若所述测试类别参数与所述类别信息之间的相似度大于设定值,则说明所述测试类别参数与所述类别信息是匹配的。作为一种实施方式,可以通过判断所述测试类别参数与所述类别信息是否相同,若相同,则判定所述测试类别参数与所述类别信息之间是对应的。若所述测试类别参数与所述类别信息之间是对应的,则将所述测试类别参数、所述类别信息以及则所述测试类别参数与所述类别信息之间的对应关系存储在数据库中。
在具体实施过程中,接口包括测试参数,测试参数包括测试类别参数,其中,测试类别参数表征接口的测试类别,例如功能性测试、接口的并发测试、容错机制测试、安全性测试等测试类别。用例数据包括类别信息,其中,类别信息表征用例数据的类别,也可以表征基于用例数据生成的测试用例的测试类别,例如功能性测试、接口的并发测试、容错机制测试、安全性测试等测试类别。
例如,获取的多种接口有功能性测试接口、并发测试接口、容错机制测试接口和安全性测试接口,则功能性测试接口、并发测试接口、容错机制测试接口和安全性测试接口的测试类别参数分别是i、j、k和h,测试类别参数i、j、k和h分别指的是功能性测试、接口的并发测试、容错机制测试、安全性测试,有多个用例数据a、b、c和d,用例数据a、b、c和d的类别信息分别是w、x、y和z,类别信息分别w、x、y和z分别指的是功能性测试、接口的并发测试、容错机制测试、安全性测试,因为类别信息w和测试类别参数i都指的是功能性测试,则类别信息w与测试类别参数i对应,类别信息x和测试类别参数j都指的是接口的并发测试,则类别信息x与测试类别参数j对应,类别信息y和测试类别参数k都指的是容错机制测试,则类别信息y与测试类别参数k对应,类别信息z和测试类别参数h都指的是安全性测试,则类别信息z与测试类别参数h对应。如此,可以理解的,功能性测试接口、并发测试接口、容错机制测试接口和安全性测试接口分别与用例数据a、b、c和d相对应。可以将类别信息指的是功能性测试的用例数据存在一起,类别信息指的是接口的并发测试的用例数据存在一起,等等,如此,可以实现对不同类别的用例数据按照对应关系分类存储到所述数据库中。
步骤S200:基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据。
在本发明实施例中,步骤S200的具体实施方式,可以是:获取所述待测试的接口的测试参数,根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从数据库中存储的不同类别的用例数据中选出与所述待测试的接口对应的用例数据作为目标用例数据。
由于在步骤S100中,已将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。如此,在获得待测试的接口的测试类别参数时,可以从数据库中获得该测试类别参数对应的类别信息。因而,基于待测试的接口的测试参数中的测试类别参数,可以从数据库中获取与该测试类别参数对应的类别信息,根据该类别信息可以从数据库中获取与待测试的接口对应的用例数据作为目标用例数据。
步骤S300:根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
在本发明实施例中,测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一。所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点,所述测试参数还包括接口参数。根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例,包括:根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;若请求成功,则以所述执行逻辑作为所述测试用例。
本发明实施例的测试用例生成方法,通过对访问数据进行分类处理得到不同类别的用例数据,不同类别的用例数据对应不同的请求场景,因此可以得到覆盖用户的不同请求场景的用例数据;基于待测试的接口的测试参数,从不同类别的用例数据中获取与待测试的接口对应的目标用例数据,如此可以获取与待测试的接口对应的目标用例数据,进一步的根据目标用例数据中的执行逻辑,生成与待测试的接口对应的测试用例,如此生成的测试用例满足用户的请求场景,基于不同的用例数据可以得到不同的测试用例,如此可以得到覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高。解决了现有技术中存在的难以获得覆盖用户的不同请求场景的测试用例,测试效率低的技术问题,达到了可以获得覆盖用户的不同请求场景对应的测试类别的测试用例,测试效率高的技术效果。
针对上述实施例提供一种测试用例生成方法,本申请实施例还对应提供一种测试用例生成装置200。请参考图2,该装置包括:
分类模块210,用于对线上访问数据进行分类处理,获得不同类别的用例数据;
第一获取模块220,用于基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
生成模块230,用于根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
分类模块210、第一获取模块220和生成模块230连接。
作为一种实施方式,所述装置还包括:
第二获取模块,用于获取线上接口请求访问日志;
解析模块,用于对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
作为一种实施方式,所述装置还包括:
清洗模块,用于对所述数据库中的所述线上访问数据进行清洗。
作为一种可选的实施例,分类模块210,还用于:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;
通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;
将所述不同类别的用例数据存储到所述数据库中。
作为一种实施方式,分类模块210,还用于:
获取多种接口的测试参数和所述类别信息,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;建立所述测试类别参数与所述类别信息之间的对应关系;将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
作为一种可选的实施例,第一获取模块220,还用于:
获取所述待测试的接口的测试参数;根据所述测试参数中的测试类别参数所述类别信息的对应关系,从所述数据库中获取与所述测试类别参数对应的用例数据作为所述目标用例数据。
作为一种可选的实施例,生成模块230,还用于:
根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;若请求成功,则以所述执行逻辑作为所述测试用例。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例还提供了一种电子设备,如图3所示,包括存储器504、处理器502及存储在存储器504上并可在处理器502上运行的计算机程序,所述处理器502执行所述程序时实现前文所述测试用例生成方法的任一方法的步骤。
其中,在图3中,总线架构(用总线500来代表),总线500可以包括任意数量的互联的总线和桥,总线500将包括由处理器502代表的一个或多个处理器和存储器504代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进进一步描述。总线接口505在总线500和接收器501和发送器503之间提供接口。接收器501和发送器503可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器502负责管理总线500和通常的处理,而存储器504可以被用于存储处理器502在执行操作时所使用的数据。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述测试用例生成方法的任一方法的步骤。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种测试用例生成方法,其特征在于,包括:
对线上访问数据进行分类处理,获得不同类别的用例数据;
基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
A2、如A1所述的方法,其特征在于,在所述对线上访问数据进行分类处理,获得不同类别的用例数据之前,还包括:
获取线上接口请求访问日志;
对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
A3、如A2所述的方法,其特征在于,在所述将所述线上访问数据存在数据库中之后,还包括:
通过第一机器学习模型对所述数据库中的所述线上访问数据进行清洗。
A4、如A3所述的方法,其特征在于,所述对线上访问数据进行分类处理,获得不同类别的用例数据,包括:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;
通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;
将所述不同类别的用例数据存储到所述数据库中。
A5、如A4所述的方法,其特征在于,所述将所述不同类别的用例数据存储到所述数据库中,包括:
获取每种用例数据的类别信息,其中,所述类别信息用于表示对应用例数据所适用的测试类别;
获取多种接口的测试参数,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;
建立所述测试类别参数与所述类别信息之间的对应关系;将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
A6、如A5所述的方法,其特征在于,所述基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述测试参数对应的目标用例数据,包括:
获取所述待测试的接口的测试参数;
根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从所述数据库中获取与所述待测试的接口对应的用例数据作为所述目标用例数据。
A7、如A1~A6任一所述的方法,其特征在于,所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点;所述测试参数还包括接口参数;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例,包括:
根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;
若请求成功,则以所述执行逻辑作为所述测试用例。
B8、一种测试用例生成装置,其特征在于,包括:
分类模块,用于对线上访问数据进行分类处理,获得不同类别的用例数据;
第一获取模块,用于基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
生成模块,用于根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
B9、如B8所述的装置,其特征在于,还包括:
第二获取模块,用于获取线上接口请求访问日志;
解析模块,用于对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
B10、如B9所述的装置,其特征在于,还包括:
清洗模块,用于通过第一机器学习模型对所述数据库中的所述线上访问数据进行清洗。
B11、如B10所述的装置,其特征在于,所述分类模块还用于:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;
通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;
将所述不同类别的用例数据存储到所述数据库中。
B12、如B8所述的装置,其特征在于,所述述分类模块,还用于:
获取每种用例数据的类别信息,其中,所述类别信息用于表示对应用例数据所适用的测试类别;获取多种接口的测试参数,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;建立所述测试类别参数与所述类别信息之间的对应关系;将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
B13、如B12所述的装置,其特征在于,所述第一获取模块,还用于:
获取所述待测试的接口的测试参数;根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从所述数据库中获取与所述待测试的接口对应的用例数据作为所述目标用例数据。
B14、如B8所述的装置,其特征在于,所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点;所述测试参数还包括接口参数;
所述生成模块,还用于:根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;若请求成功,则以所述执行逻辑作为所述测试用例。
C15、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求A1~A7任一项所述方法的步骤。
D16、一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求A1-A7任一项所述方法的步骤。
Claims (10)
1.一种测试用例生成方法,其特征在于,包括:
对线上访问数据进行分类处理,获得不同类别的用例数据;
基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
2.如权利要求1所述的方法,其特征在于,在所述对线上访问数据进行分类处理,获得不同类别的用例数据之前,还包括:
获取线上接口请求访问日志;
对所述线上接口请求访问日志进行解析,获得所述线上访问数据,并将所述线上访问数据存在数据库中。
3.如权利要求2所述的方法,其特征在于,在所述将所述线上访问数据存在数据库中之后,还包括:
对所述数据库中的所述线上访问数据进行清洗。
4.如权利要求3所述的方法,其特征在于,所述对线上访问数据进行分类处理,获得不同类别的用例数据,包括:
通过第一机器学习模型对经过清洗后的所述线上访问数据进行加权,并基于加权后的所述线上访问数据构造聚类矩阵;
通过第二机器学习模型对所述聚类矩阵内的线上访问数据进行聚类,获得所述不同类别的用例数据;
将所述不同类别的用例数据存储到所述数据库中。
5.如权利要求4所述的方法,其特征在于,所述将所述不同类别的用例数据存储到所述数据库中,包括:
获取每种用例数据的类别信息,其中,所述类别信息用于表示对应用例数据所适用的测试类别;
获取多种接口的测试参数,其中,所述测试参数包括测试类别参数,所述测试类别参数用于表征所述接口的测试类别;
建立所述测试类别参数与所述类别信息之间的对应关系,将所述不同类别的用例数据按照所述对应关系分类存储到所述数据库中。
6.如权利要求5所述的方法,其特征在于,所述基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述测试参数对应的目标用例数据,包括:
获取所述待测试的接口的测试参数;
根据所述测试参数中的测试类别参数与所述类别信息的对应关系,从所述数据库中获取与所述待测试的接口对应的用例数据作为所述目标用例数据。
7.如权利要求1~6任一所述的方法,其特征在于,所述目标用例数据包括执行逻辑以及所述执行逻辑上的执行节点;所述测试参数还包括接口参数;
根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例,包括:
根据所述接口参数对所述执行逻辑上的执行节点进行路径请求;
若请求成功,则以所述执行逻辑作为所述测试用例。
8.一种测试用例生成装置,其特征在于,包括:
分类模块,用于对线上访问数据进行分类处理,获得不同类别的用例数据;
第一获取模块,用于基于待测试的接口的测试参数,从所述不同类别的用例数据中获取与所述待测试的接口对应的目标用例数据;
生成模块,用于根据所述目标用例数据中的执行逻辑,生成与所述待测试的接口对应的测试用例。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~7任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1~7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811541591.8A CN109684209A (zh) | 2018-12-17 | 2018-12-17 | 一种测试用例生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811541591.8A CN109684209A (zh) | 2018-12-17 | 2018-12-17 | 一种测试用例生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684209A true CN109684209A (zh) | 2019-04-26 |
Family
ID=66187930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811541591.8A Pending CN109684209A (zh) | 2018-12-17 | 2018-12-17 | 一种测试用例生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684209A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162979A (zh) * | 2019-05-27 | 2019-08-23 | 北京百度网讯科技有限公司 | 一种Web API的安全测试方法、装置、电子设备及存储介质 |
CN110334008A (zh) * | 2019-05-28 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种数据自动化处理方法、装置、电子设备及存储介质 |
CN110647471A (zh) * | 2019-09-26 | 2020-01-03 | 招商局金融科技有限公司 | 接口测试用例生成方法、电子装置及存储介质 |
CN111221743A (zh) * | 2020-03-18 | 2020-06-02 | 时时同云科技(成都)有限责任公司 | 自动化测试方法及系统 |
CN111651358A (zh) * | 2020-06-05 | 2020-09-11 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN112162914A (zh) * | 2020-07-27 | 2021-01-01 | 上海金融期货信息技术有限公司 | 一种测试用例自动生成的方法和装置 |
CN113051171A (zh) * | 2021-04-08 | 2021-06-29 | 平安国际智慧城市科技股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN113282489A (zh) * | 2021-05-13 | 2021-08-20 | 建信金融科技有限责任公司 | 一种接口测试方法和装置 |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
CN113704077A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团浙江有限公司 | 测试用例生成方法及装置 |
CN114090442A (zh) * | 2021-11-22 | 2022-02-25 | 安徽继远检验检测技术有限公司 | 一种电力云测试管理平台自动化测试方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984416A (zh) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | 一种测试用例的生成方法及装置 |
CN102999320A (zh) * | 2011-09-15 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 测试用例自动生成方法和系统 |
US20130311976A1 (en) * | 2012-05-17 | 2013-11-21 | Cognizant Technology Solutions India Pvt. Ltd. | Method and system for generating and processing black box test cases |
CN106815138A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 一种生成接口测试用例的方法和装置 |
CN107957944A (zh) * | 2017-11-24 | 2018-04-24 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN108073519A (zh) * | 2018-01-31 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
CN108319547A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 测试用例生成方法、装置和系统 |
CN108415846A (zh) * | 2018-04-19 | 2018-08-17 | 挖财网络技术有限公司 | 一种生成最小自动化测试用例集的方法和装置 |
CN108509339A (zh) * | 2018-03-22 | 2018-09-07 | 京北方信息技术股份有限公司 | 基于浏览器和思维导图的测试用例生成方法、装置及设备 |
-
2018
- 2018-12-17 CN CN201811541591.8A patent/CN109684209A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984416A (zh) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | 一种测试用例的生成方法及装置 |
CN102999320A (zh) * | 2011-09-15 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 测试用例自动生成方法和系统 |
US20130311976A1 (en) * | 2012-05-17 | 2013-11-21 | Cognizant Technology Solutions India Pvt. Ltd. | Method and system for generating and processing black box test cases |
CN106815138A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 一种生成接口测试用例的方法和装置 |
CN108319547A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 测试用例生成方法、装置和系统 |
CN107957944A (zh) * | 2017-11-24 | 2018-04-24 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN108073519A (zh) * | 2018-01-31 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
CN108509339A (zh) * | 2018-03-22 | 2018-09-07 | 京北方信息技术股份有限公司 | 基于浏览器和思维导图的测试用例生成方法、装置及设备 |
CN108415846A (zh) * | 2018-04-19 | 2018-08-17 | 挖财网络技术有限公司 | 一种生成最小自动化测试用例集的方法和装置 |
Non-Patent Citations (1)
Title |
---|
马菁等: "决策树在软件测试用例生成中的应用", 《计算机技术与发展》, no. 2008, pages 66 - 69 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162979A (zh) * | 2019-05-27 | 2019-08-23 | 北京百度网讯科技有限公司 | 一种Web API的安全测试方法、装置、电子设备及存储介质 |
CN110334008A (zh) * | 2019-05-28 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种数据自动化处理方法、装置、电子设备及存储介质 |
CN110647471A (zh) * | 2019-09-26 | 2020-01-03 | 招商局金融科技有限公司 | 接口测试用例生成方法、电子装置及存储介质 |
CN110647471B (zh) * | 2019-09-26 | 2023-05-23 | 招商局金融科技有限公司 | 接口测试用例生成方法、电子装置及存储介质 |
CN111221743A (zh) * | 2020-03-18 | 2020-06-02 | 时时同云科技(成都)有限责任公司 | 自动化测试方法及系统 |
CN113704077A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团浙江有限公司 | 测试用例生成方法及装置 |
CN113704077B (zh) * | 2020-05-20 | 2023-09-19 | 中国移动通信集团浙江有限公司 | 测试用例生成方法及装置 |
CN111651358A (zh) * | 2020-06-05 | 2020-09-11 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN111651358B (zh) * | 2020-06-05 | 2024-04-12 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN112162914A (zh) * | 2020-07-27 | 2021-01-01 | 上海金融期货信息技术有限公司 | 一种测试用例自动生成的方法和装置 |
CN113051171A (zh) * | 2021-04-08 | 2021-06-29 | 平安国际智慧城市科技股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN113051171B (zh) * | 2021-04-08 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 接口测试方法、装置、设备及存储介质 |
CN113282489B (zh) * | 2021-05-13 | 2023-06-16 | 建信金融科技有限责任公司 | 一种接口测试方法和装置 |
CN113282489A (zh) * | 2021-05-13 | 2021-08-20 | 建信金融科技有限责任公司 | 一种接口测试方法和装置 |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
CN114090442A (zh) * | 2021-11-22 | 2022-02-25 | 安徽继远检验检测技术有限公司 | 一种电力云测试管理平台自动化测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684209A (zh) | 一种测试用例生成方法、装置及电子设备 | |
US7266534B2 (en) | System and method and product of manufacture for automated test generation via constraint satisfaction with duplicated sub-problems | |
Mateescu et al. | Adaptation of service protocols using process algebra and on-the-fly reduction techniques | |
CN108121795A (zh) | 用户行为预测方法及装置 | |
Santos et al. | A framework for quality assessment of ROS repositories | |
CN110457918A (zh) | 滤除区块链数据中非法内容的方法、装置、节点和介质 | |
US8452786B2 (en) | Systems and methods for business process logging | |
EP2521078A1 (en) | Systems and methods for business process logging | |
CN110196809A (zh) | 接口测试方法及装置 | |
Trubiani et al. | Guilt-based handling of software performance antipatterns in palladio architectural models | |
Miksa et al. | Using ontologies for verification and validation of workflow-based experiments | |
Ali et al. | A hybrid DevOps process supporting software reuse: A pilot project | |
US9612828B2 (en) | Logging and profiling content space data and coverage metric self-reporting | |
US20120124565A1 (en) | Linking model instances to packages | |
Guana et al. | Improving software product line configuration: A quality attribute-driven approach | |
Nejati et al. | Handling state space explosion in component-based software verification: A review | |
Leucker et al. | Runtime verification for interconnected medical devices | |
Lee et al. | A high-level petri nets-based approach to verifying task structures | |
CN108304321A (zh) | 一种创建前后端开发联调环境的方法、系统及装置 | |
EP1646940A2 (en) | Designing computer programs | |
WO2016048294A1 (en) | Infrastructure rule generation | |
CN110019501A (zh) | 一种数据采集方法、装置及终端设备 | |
CN105138342B (zh) | 一种服务开发方法和装置 | |
Gall et al. | Translation of cognitive models from ACT-R to Constraint Handling Rules | |
Butler et al. | Model checking for verification of interactive health it systems |
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 |