CN117762804A - 用例自动化生成方法、装置、电子设备、存储介质、产品 - Google Patents

用例自动化生成方法、装置、电子设备、存储介质、产品 Download PDF

Info

Publication number
CN117762804A
CN117762804A CN202311817246.3A CN202311817246A CN117762804A CN 117762804 A CN117762804 A CN 117762804A CN 202311817246 A CN202311817246 A CN 202311817246A CN 117762804 A CN117762804 A CN 117762804A
Authority
CN
China
Prior art keywords
data
interface
assertion
standard format
interface operation
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
Application number
CN202311817246.3A
Other languages
English (en)
Inventor
冯梓瀚
谢宇昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN202311817246.3A priority Critical patent/CN117762804A/zh
Publication of CN117762804A publication Critical patent/CN117762804A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本公开实施例公开了一种用例自动化生成方法、装置、电子设备、存储介质、产品,其中,方法包括:从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库;本公开实施例通过对接口运行数据执行标准化处理,并基于接口运行数据确定断言数据,自动化生成具有用例断言的接口测试用例。

Description

用例自动化生成方法、装置、电子设备、存储介质、产品
技术领域
本公开涉及自动化测试技术领域,尤其是一种用例自动化生成方法、装置、电子设备、存储介质、产品。
背景技术
在现代软件开发中,自动化测试是确保软件质量和稳定性的重要环节。然而,传统的手动编写测试用例方式以及现有的自动化用例生成方法存在着时间消耗长、人力成本高、维护成本高、测试覆盖不全等问题。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种用例自动化生成方法、装置、电子设备、存储介质、产品。
根据本公开实施例的一个方面,提供了一种用例自动化生成方法,包括:
从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;
对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;
对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;
对所述标准格式数据和所述断言数据进行整合,得到测试用例并存入用例库。
可选地,所述对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据,包括:
获取预设配置数据;
基于所述预设配置数据确定以下至少之一:产品规则、技术规则、配置描述数据;
基于所述产品规则和所述技术规则对所述标准格式数据进行处理;和/或,基于所述配置描述数据对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据。
可选地,所述获取预设配置数据,包括:
根据所述标准格式数据生成提示信息;
接收用户根据所述提示信息反馈的预设配置数据。
可选地,所述基于所述配置规则对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据,包括:
利用语言识别模型对所述产品规则和所述技术规则进行内容识别,确定断言规则;
基于所述断言规则和所述标准格式数据,确定断言数据。
可选地,所述基于所述产品规则和所述技术规则对所述标准格式数据进行处理;和基于所述配置描述数据对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据,包括:
利用语言识别模型对所述配置描述数据进行内容识别,确定断言规则;
基于所述断言规则和所述标准格式数据,确定断言数据。
可选地,所述对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据,包括:
根据所述目标接口对应的服务类型和预设配置字段,对所述接口运行数据执行至少一个预处理操作,得到预处理后的接口运行数据;
将所述预处理后的接口运行数据,按照属性写入预设模板中,得到所述标准格式数据。
可选地,所述从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据之前,还包括:
根据预设抓取属性,对至少一个数据接口执行数据抓取,得到接口数据;其中,所述预设抓取属性包括:抓取对象、抓取内容、抓取路径、存储路径、存储地址和抓取操作中至少一项的配置信息;
对所述接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据;
根据所述预设抓取属性中的存储路径和存储地址,将所述接口运行数据按照对应的数据接口存入所述存储地址。
可选地,所述从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据之前,还包括:
每间隔预设时间间隔,对所述数据库中的接口运行数据执行更新处理。
可选地,所述对所述接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据之后,还包括:
基于预设逻辑或预设规则确定所述接口运行数据中是否包括噪音数据;
响应于所述接口运行数据中包括噪音数据,对所述接口运行数据执行数据清洗,得到清洗后的接口运行数据。
可选地,还包括:
通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口;
在所述用例库中为所述变更接口新建对应的存储条目;或,对所述用例库中所述变更接口对应的存储条目执行汰换。
可选地,所述通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口,包括:
通过监听处于执行状态的接口对应的代码文件,确定所述代码文件是否发生变更;
响应于所述代码文件发生变更,对所述代码文件执行代码差异操作,确定变更的代码信息;
基于所述代码信息确定变更对应的至少一个变更接口。
可选地,所述对所述标准格式数据和所述断言数据进行整合,得到测试用例并存入用例库,包括:
基于所述标准格式数据生成所述自动化用例的用例文本;
基于所述断言数据作为所述用例断言,基于所述用例文本和所述用例断言确定所述测试用例;
将所述测试用例存入所述用例库中所述目标接口对应的存储条目。
根据本公开实施例的另一方面,提供了一种用例自动化生成装置,包括:
数据获得模块,用于从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;其中,所述接口运行数据所运行的接口类型与所述目标接口的类型相同,且所述接口运行数据的运行环境与所述目标接口对应的运行环境相同;
数据标准化模块,用于对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;
断言确定模块,用于对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;
用例自动化模块,用于对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库。
可选地,所述断言确定模块,包括:
配置数据单元,用于获取预设配置数据;
规则确定单元,用于基于所述预设配置数据确定以下至少之一:产品规则、技术规则、配置描述数据;
断言处理单元,用于基于所述产品规则和所述技术规则对所述标准格式数据进行处理;和/或,基于所述配置描述数据对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据。
可选地,所述配置数据单元,具体用于根据所述标准格式数据生成提示信息;接收用户根据所述提示信息反馈的预设配置数据。
可选地,所述断言处理单元,具体用于利用语言识别模型对所述产品规则和所述技术规则进行内容识别,确定断言规则;基于所述断言规则和所述标准格式数据,确定断言数据。
可选地,所述断言处理单元,具体用于利用语言识别模型对所述配置描述数据进行内容识别,确定断言规则;基于所述断言规则和所述标准格式数据,确定断言数据。
可选地,所述数据标准化模块,具体用于根据所述目标接口对应的服务类型和预设配置字段,对所述接口运行数据执行至少一个预处理操作,得到预处理后的接口运行数据;将所述预处理后的接口运行数据,按照属性写入预设模板中,得到所述标准格式数据。
可选地,所述装置还包括:
数据抓取模块,用于根据预设抓取属性,对至少一个数据接口执行数据抓取,得到接口数据;其中,所述预设抓取属性包括:抓取对象、抓取内容、抓取路径、存储路径、存储地址和抓取操作中至少一项的配置信息;
数据解析模块,用于对所述接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据;
数据存储模块,用于根据所述预设抓取属性中的存储路径和存储地址,将所述接口运行数据按照对应的数据接口存入所述存储地址。
可选地,所述装置还包括:
接口数据更新模块,用于每间隔预设时间间隔,对所述数据库中的接口运行数据执行更新处理。
可选地,所述装置还包括:
数据清洗模块,用于基于预设逻辑或预设规则确定所述接口运行数据中是否包括噪音数据;响应于所述接口运行数据中包括噪音数据,对所述接口运行数据执行数据清洗,得到清洗后的接口运行数据。
可选地,所述装置还包括:
接口变更模块,用于通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口;
用例汰换模块,用于在所述用例库中为所述变更接口新建对应的存储条目;或,对所述用例库中所述变更接口对应的存储条目执行汰换。
可选地,所述接口变更模块,具体用于通过监听处于执行状态的接口对应的代码文件,确定所述代码文件是否发生变更;响应于所述代码文件发生变更,对所述代码文件执行代码差异操作,确定变更的代码信息;基于所述代码信息确定变更对应的至少一个变更接口。
可选地,所述用例自动化模块,具体用于基于所述标准格式数据生成所述自动化用例的用例文本;基于所述断言数据作为所述用例断言,基于所述用例文本和所述用例断言确定所述测试用例;将所述测试用例存入所述用例库中所述目标接口对应的存储条目。
根据本公开实施例的又一方面,提供了一种电子设备,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述任一实施例所述的方法。
根据本公开实施例的还一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述任一实施例所述的方法。
根据本公开实施例的再一方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任一实施例所述的方法。
基于本公开上述实施例提供的一种用例自动化生成方法、装置、电子设备、存储介质、产品,包括:从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库;本公开实施例通过对接口运行数据执行标准化处理,并基于接口运行数据确定断言数据,自动化生成具有用例断言的接口测试用例。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是本公开一示例性实施例提供的用例自动化生成方法的流程示意图;
图2是本公开图1所示的实施例中步骤104的一个流程示意图;
图3是本公开图1所示的实施例中步骤106的一个流程示意图;
图4是本公开一示例性实施例提供的用例自动化生成装置的结构示意图;
图5图示了根据本公开实施例的电子设备的框图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。本公开中所指数据可以包括文本、图像、视频等非结构化数据,也可以是结构化数据。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,现有的自动化用例生成方法没有获取真实数据,导致用户检索数据、调试用例的成本较高;并且,现有的自动化用例生成方法中,接口断言部分需要用户自己手动添加、编写,对于不熟悉逻辑的用户,写断言费时费力,除了存在时间、人力成本外,还存在一定的理解成本。另外,在自动化用例生成后,针对新增、变更的接口用例,自动化用例的维护成本高。针对上述问题,本公开发明人提出以下用例自动化生成方法。
示例性方法
图1是本公开一示例性实施例提供的用例自动化生成方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括如下步骤:
步骤102,从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据。
本实施例中,数据库中可预存通过抓取或其他方式获得的大量真实接口运行数据;这些接口运行数据可对应多种不同接口以及多种不同的运行环境。由于相同接口在不同运行环境下可能执行完全不同的功能,因此,在基于目标接口进行用例自动化时,获得的接口运行数据所运行的接口类型与目标接口的类型相同,且接口运行数据的运行环境与目标接口对应的运行环境相同,因此,基于该接口运行数据生成的测试用例更符合该目标接口。
步骤104,对接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据。
在一实施例中,现有技术中生成用例的过程中,由于对数据未经过标准化处理,会导致数据可用性差,无法直接应用于生成测试用例;本实施例针对该问题,在生成测试用例之前,对接口运行数据执行格式标准化处理,以使接口运行数据的格式符合测试用例的要求,在后续生成用例时,提升效率。
步骤106,对标准格式数据执行至少一种处理,确定标准格式数据对应的断言数据。
可选地,为了解决现有技术中通过人为添加断言而导致的时间成本、人力成本的问题,通过对标准格式数据执行至少一种处理,以确定对应的断言数据,实现自动化生成用例对应的断言。
步骤108,对标准格式数据和断言数据进行整合,得到测试用例并存入用例库。
可选地,对标准格式数据和断言数据进行整合的过程可以包括:
基于标准格式数据生成自动化用例的用例文本;基于断言数据作为用例断言,基于用例文本和用例断言确定测试用例;将测试用例存入用例库中目标接口对应的存储条目。
本实施例中,提出生成一种包括用例文本和用例断言的测试用例。在用例文本生成的过程中,可选地,可通过提供预设模板,将标准格式数据自动录入到预设模板中相应的位置上,即可得到用例文本,再将用例文本与用例断言整体为一个整体的测试用例,并将生成的测试用例存入用例库中,在对目标接口进行测试时,可直接进行调用。可选地,在用例库中可按照接口类型以及运行环境对测试用例进行存储。
本公开上述实施例提供的一种用例自动化生成方法,包括:从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库;本公开实施例通过对接口运行数据执行标准化处理,并基于接口运行数据确定断言数据,自动化生成具有用例断言的接口测试用例。
在一些可选的实施例中,在执行步骤102之前,还可以包括:
根据预设抓取属性,对至少一个数据接口执行数据抓取,得到接口数据。
其中,预设抓取属性包括但不限于:抓取对象(例如,采集流量的端口号等)、抓取内容(例如,是否抓取响应体等)、抓取路径(例如,需要执行的接口路径、需要排除的接口路径等)、存储路径(例如,kafka的topic名字等)、存储地址(例如,kafka的集群地址等)和抓取操作(例如,采样频率等)中至少一项的配置信息。
在一些可选示例中,可基于以下实现接口数据抓取:准备网络监控工具(例如,goreplay等)的执行文件,以及安装部署脚本、启动脚本,使用脚本语言(例如,Python3等,其中,Python3是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言)启动一个http共享服务,以便于需要做流量抓取的设备(可以为任意可实现流量抓取的电子设备)下载安装部署包。在需要做流量抓取的设备上下载安装启动的压缩包(tar),并执行安装部署脚本,执行流量数据抓取,得到接口数据。
可选地,在启动脚本执行数据抓取时,可以接收用户的自定义设置实现对数据的抓取;自定义设置可以包括但不限于:采集流量的端口号,需要排除的接口路径,采样频率,是否输出响应体(可以设置为是或否),kafka的集群地址,kafka的topic名字(按一定命名规则,比如gor_nrs_default等)等。
对接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据。
本实施例中,可通过解析脚本(例如,python脚本等)对同一对请求和响应(通过接口数据包括请求及其对应的响应)进行解析,可选地,解析的字段可以包括但不限于:请求url(req url)、请求类型(req type)、请求头(req headers)、请求体(req body)、响应头(resp headers)、响应体(resp body)等。
根据预设抓取属性中的存储路径和存储地址,将接口运行数据按照对应的数据接口存入存储地址。
本实施例中,在进行数据抓取之前,通过设置抓取属性,对数据存储的路径以及存储地址进行设置,基于设置的存储路径将抓取到的接口运行数据存入对应的存储地址即可完成接口运行数据的获取。
在一些可选的实施例中,在数据库中存储了一定数量的接口运行数据之后,还可以包括:
每间隔预设时间间隔,对数据库中的接口运行数据执行更新处理。
可选地,通常在测试用例生成时,以环境、服务和接口url为维度只需要最新的n条数据即可,因此,在数据库中对于每个接口可以仅保留n条数据即可,以减少数据库的空间占用,另外,为了保持数据库中保存的数据为最新的数据,可选地,可以每间隔预设时间间隔对数据库中的接口运行数据进行更新,或者,每次抓取到新的接口运行数据,就以该新的接口运行数据替换数据库中时间最早的接口运行数据;其中,n的取值可根据具体应用场景进行设置。例如,一个可选示例中,通过变形mysql的EVENT每分钟一次清除掉多余的数据。
在一些可选的实施例中,对接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据之后,还包括:
基于预设逻辑或预设规则确定接口运行数据中是否包括噪音数据;
响应于接口运行数据中包括噪音数据,对接口运行数据执行数据清洗,得到清洗后的接口运行数据。
可选地,本实施例中,为了提升抓取的接口运行数据在用例自动化生成过程中的可用性,提前执行数据清洗。可选地,通过预设逻辑或预设规则(例如,识别数据中是否包括乱码,或者,数据中是否包括特定信息,若接口url等字段为乱码,或存在其他乱序字段等)过滤噪音字段,可选地,可将包括乱码的数据直接删除,以提高清洗后的数据的可用性。
如图2所示,在上述图1所示实施例的基础上,步骤104可包括如下步骤:
步骤1041,根据目标接口对应的服务类型和预设配置字段,对接口运行数据执行至少一个预处理操作,得到预处理后的接口运行数据。
可选地,服务类型可以包括但不限于JAVA、PHP等。预设配置字段可以是根据用户预先输入的个性化配置,例如,去除header中的某些时效性字段,替换验签数据等。
步骤1042,将预处理后的接口运行数据,按照属性写入预设模板中,得到标准格式数据。
本实施例中根据服务类型以及用户配置对接口运行数据进行预处理,并对预处理后的接口运行数据写入预设模板中,实现以标准化格式输出标准格式数据,便于后续作为断言生成及用例生成的数据源。本实施例通过将接口运行数据转化成自动化用例的标准格式数据。节省了用户的时间成本,为后续快速生成用例提供了可靠、准确的数据源。
如图3所示,在上述图1所示实施例的基础上,步骤106可包括如下步骤:
步骤1061,获取预设配置数据。
可选地,预设配置数据可以通过以下至少一种方式获得:从历史存储的数据中获得,根据接收用户输入的配置数据确定等。一个可选示例中,接收用户输入的配置数据的过程可包括:根据标准格式数据生成提示信息;接收用户根据提示信息反馈的预设配置数据。
可选地,基于标准格式数据中包括的特定数据可生成提示信息,该提示信息可以为提问信息,例如,发出是否设置某些数据的时效性等提示信息。通过接收用户输入的反馈(是或否),确定预设配置数据。
步骤1062,基于预设配置数据确定以下至少之一:产品规则、技术规则、配置描述数据。
本实施例中,预设配置数据可以包括较多内容,在生成断言数据时,需要从预设配置数据中确定与断言相关的产品规则、技术规则、配置描述数据中的至少一种,例如,产品规则可以为:已付金额+待付金额=总金额;对应的技术规则为:已付金额的接口字段为paid_fee,待付金额的接口字段为to_pay_fee,总金额为total_fee。配置描述数据可以为对配置规则没有以规则而以文字形式描述的内容,例如:订单详情页接口,其中包含订单金额、订单备注等参数。
步骤1063,基于产品规则和技术规则对标准格式数据进行处理;和/或,基于配置描述数据对标准格式数据进行处理,确定标准格式数据对应的断言数据。
本实施例中,可以单独基于配置规则确定断言数据,或者单独基于配置描述数据确定断言数据,还可以结合配置规则和配置描述数据确定断言数据。另外,当不包括预设配置数据,或者,基于预设规则和/或配置描述数据无法生成断言数据时,可从接口运行数据对应的接口返回值(接口执行操作后反馈的数据)作为断言数据。通过自动化生成断言数据,解决了现有技术中无法自动生成断言数据的技术问题,实现了无需认为参与的自动化用例生成。
可选地,基于产品规则和技术规则对标准格式数据进行处理,确定标准格式数据对应的断言数据,包括:
利用语言识别模型对产品规则和技术规则进行内容识别,确定断言规则。
基于断言规则和标准格式数据,确定断言数据。
可选地,利用语言识别模型(例如,LLM,Large Language Model等)接收技术规则和产品规则,将产品规则和技术规则输入LLM模型(该模型可经过大量已知断言规则的训练数据训练获得),经过语言处理即可得到断言规则,基于断言规则从标准格式数据中匹配相应的内容,即可得到断言数据。例如,一个示例中,产品规则:已付金额+待付金额,总金额;技术规则:已付金额的接口字段为paid fee,待付金额的接口字段为to_pay fee。总金额为total fee;经过LLM模型,可得到断言规则为:paid fee+to pay fee=total fee;基于该断言规则从标准格式数据中可获得相应字段的内容,即可得到该标准格式数据对应的断言数据。
在另一些可选实施例中,基于配置描述数据对标准格式数据进行处理,确定标准格式数据对应的断言数据,包括:
利用语言识别模型对配置描述数据进行内容识别,确定断言规则;
基于断言规则和标准格式数据,确定断言数据。
可选地,本实施例中的语言识别模型可以与上述实施例中语言识别模型相同,例如为LLM模型等,将描述数据输入LLM模型,即可确定对应的断言规则,基于该断言规则从标准格式数据中可获得相应字段的内容,即可得到该标准格式数据对应的断言数据。例如,一个可选示例中,描述数据为:该接口是订单金额查询接口(代表金额计算正确性非常重要),对应生成的断言规则为订单金额为断言;基于该断言规则从标准格式数据中获得订单金额,即可作为断言数据。
在另一些实施例中,还可以利用语言识别模型对产品规则、技术规则和配置描述数据进行内容识别,确定断言规则;基于断言规则和标准格式数据,确定断言数据。
在结合产品规则、技术规则和配置描述数据共同确定断言规则时,将产品规则、技术规则和配置描述数据共同作为LLM模型的入参,通过LLM模型输入断言规则。例如,一个可选示例中,产品规则:已付金额+待付金额,总金额;技术规则:已付金额的接口字段为paidfee,待付金额的接口字段为to_pay fee。总金额为total fee;配置描述数据:该接口是订单金额查询接口(代表金额计算正确性非常重要);通过LLM模型给出期望回答为:paid fee+to pay fee=total fee。本实施例是因为产品规则和技术规则中会存在很多冗余元素,希望通过用配置描述数据的补充说明,来告诉语言识别模型重点该生成哪些关键断言作为断言规则,以达到更准确的生成断言数据的目的。本实施例中利用语言识别模型结合规则和/或描述文本生成断言数据。解决了用户编写断言费时费力的问题,减少因编写用例的能力差带来的资源成本。
在一些可选的实施例中,本公开实施例还可以包括:
通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口;
在用例库中为变更接口新建对应的存储条目;或,对用例库中变更接口对应的存储条目执行汰换。
本实施例中,通过监听版本控制工具(例如,Git等,Git是一款分布式源代码管理工具)代码变更事件。可选地,通过监听处于执行状态的接口对应的代码文件,确定代码文件是否发生变更;响应于代码文件发生变更,对代码文件执行代码差异操作,确定变更的代码信息;基于代码信息确定变更对应的至少一个变更接口。本实施例中,在代码文件内容发生变化时,进行代码diff,获取到此次变更的代码信息,基于变更的代码信息,即可确定受影响的接口,确定了至少一个变更接口。在确定变更接口后,执行汰换操作,可选地,当变更接口在用例库中不存在对应的存储条目时,说明针对该变更接口未生成测试用例,此时,为该变更接口在用例库中新建对应的存储条目,以用于存储对应该变更接口对应的测试用例。而当变更接口在用例库中已存在对应的存储条目时,说明针对该变更接口,用例库中已存储了相应的测试用例,但是,由于该变更接口对应的代码发生了变化,之前存储的测试用例大概率无法继续适用该变更接口,因此,此时需要对该变更接口对应的测试用例进行汰换,以存储适用代码变更后的接口对应的测试用例;另外,当已存储测试用例的变更接口的代码文件发生变更时,还可以提供用户输入接口,以实现根据用户的选择确定在用例库中对该变更接口替换对应的测试用例,或者,根据用户的选择删除该变更接口在用例库中原始存储的存储条目,为该变更接口新建对应的存储条目以存储变更后的测试用例。本实施例基于代码diff,评估最近存在的接口变动,进而实现对已有的测试用例进行汰换。减少了对测试用例的后续持续维护的成本。
本公开实施例提供的任一种用例自动化生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种用例自动化生成方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用例自动化生成方法。下文不再赘述。
示例性装置
图4是本公开一示例性实施例提供的用例自动化生成装置的结构示意图。如图4所示,本实施例提供的装置,包括:
数据获得模块41,用于从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据。
数据标准化模块42,用于对接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据。
断言确定模块43,用于对标准格式数据执行至少一种处理,确定标准格式数据对应的断言数据。
用例自动化模块44,用于对标准格式数据和断言数据进行整合,得到自动化用例并存入用例库。
本公开上述实施例提供的一种用例自动化生成装置,包括:从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库;本公开实施例通过对接口运行数据执行标准化处理,并基于接口运行数据确定断言数据,自动化生成具有用例断言的接口测试用例。
在一些可选实施例中,断言确定模块43,包括:
配置数据单元,用于获取预设配置数据。
规则确定单元,用于基于预设配置数据确定以下至少之一:产品规则、技术规则、配置描述数据。
断言处理单元,用于基于产品规则和技术规则对标准格式数据进行处理;和/或,基于配置描述数据对标准格式数据进行处理,确定标准格式数据对应的断言数据。
可选地,配置数据单元,具体用于根据标准格式数据生成提示信息;接收用户根据提示信息反馈的预设配置数据。
可选地,断言处理单元,具体用于利用语言识别模型对产品规则和技术规则进行内容识别,确定断言规则;基于断言规则和标准格式数据,确定断言数据。
可选地,断言处理单元,具体用于利用语言识别模型对配置描述数据进行内容识别,确定断言规则;基于断言规则和标准格式数据,确定断言数据。
在一些可选的实施例中,数据标准化模块42,具体用于根据目标接口对应的服务类型和预设配置字段,对接口运行数据执行至少一个预处理操作,得到预处理后的接口运行数据;将预处理后的接口运行数据,按照属性写入预设模板中,得到标准格式数据。
在一些可选的实施例中,本公开实施例提供的装置还包括:
数据抓取模块,用于根据预设抓取属性,对至少一个数据接口执行数据抓取,得到接口数据;其中,预设抓取属性包括:抓取对象、抓取内容、抓取路径、存储路径、存储地址和抓取操作中至少一项的配置信息;
数据解析模块,用于对接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据;
数据存储模块,用于根据预设抓取属性中的存储路径和存储地址,将接口运行数据按照对应的数据接口存入存储地址。
在一些可选的实施例中,本公开实施例提供的装置还包括:
接口数据更新模块,用于每间隔预设时间间隔,对数据库中的接口运行数据执行更新处理。
在一些可选的实施例中,本公开实施例提供的装置还包括:
数据清洗模块,用于基于预设逻辑或预设规则确定接口运行数据中是否包括噪音数据;响应于接口运行数据中包括噪音数据,对接口运行数据执行数据清洗,得到清洗后的接口运行数据。
在一些可选的实施例中,本公开实施例提供的装置还包括:
接口变更模块,用于通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口;
用例汰换模块,用于在用例库中为变更接口新建对应的存储条目;或,对用例库中变更接口对应的存储条目执行汰换。
可选地,接口变更模块,具体用于通过监听处于执行状态的接口对应的代码文件,确定代码文件是否发生变更;响应于代码文件发生变更,对代码文件执行代码差异操作,确定变更的代码信息;基于代码信息确定变更对应的至少一个变更接口。
可选地,用例自动化模块,具体用于基于标准格式数据生成自动化用例的用例文本;基于断言数据作为用例断言,基于用例文本和用例断言确定测试用例;将测试用例存入用例库中目标接口对应的存储条目。
示例性电子设备
下面,参考图5来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图5图示了根据本公开实施例的电子设备的框图。
如图5所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以存储一个或多个计算机程序产品,所述存储器可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器可以运行所述计算机程序产品,以实现上文所述的本公开的各个实施例的用例自动化生成方法以及/或者其他期望的功能。
在一个示例中,电子装置还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图5中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用例自动化生成方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用例自动化生成方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (16)

1.一种用例自动化生成方法,其特征在于,包括:
从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;
对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;
对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;
对所述标准格式数据和所述断言数据进行整合,得到测试用例并存入用例库。
2.根据权利要求1所述的方法,其特征在于,所述对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据,包括:
获取预设配置数据;
基于所述预设配置数据确定以下至少之一:产品规则、技术规则、配置描述数据;
基于所述产品规则和所述技术规则对所述标准格式数据进行处理;和/或,基于所述配置描述数据对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据。
3.根据权利要求2所述的方法,其特征在于,所述获取预设配置数据,包括:
根据所述标准格式数据生成提示信息;
接收用户根据所述提示信息反馈的预设配置数据。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述配置规则对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据,包括:
利用语言识别模型对所述产品规则和所述技术规则进行内容识别,确定断言规则;
基于所述断言规则和所述标准格式数据,确定断言数据。
5.根据权利要求2-4任一所述的方法,其特征在于,所述基于所述产品规则和所述技术规则对所述标准格式数据进行处理;和基于所述配置描述数据对所述标准格式数据进行处理,确定所述标准格式数据对应的断言数据,包括:
利用语言识别模型对所述配置描述数据进行内容识别,确定断言规则;
基于所述断言规则和所述标准格式数据,确定断言数据。
6.根据权利要求1-5任一所述的方法,其特征在于,所述对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据,包括:
根据所述目标接口对应的服务类型和预设配置字段,对所述接口运行数据执行至少一个预处理操作,得到预处理后的接口运行数据;
将所述预处理后的接口运行数据,按照属性写入预设模板中,得到所述标准格式数据。
7.根据权利要求1-6任一所述的方法,其特征在于,所述从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据之前,还包括:
根据预设抓取属性,对至少一个数据接口执行数据抓取,得到接口数据;其中,所述预设抓取属性包括:抓取对象、抓取内容、抓取路径、存储路径、存储地址和抓取操作中至少一项的配置信息;
对所述接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据;
根据所述预设抓取属性中的存储路径和存储地址,将所述接口运行数据按照对应的数据接口存入所述存储地址。
8.根据权利要求7所述的方法,其特征在于,所述从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据之前,还包括:
每间隔预设时间间隔,对所述数据库中的接口运行数据执行更新处理。
9.根据权利要求7或8所述的方法,其特征在于,所述对所述接口数据执行解析处理,得到包括至少一个解析字段的接口运行数据之后,还包括:
基于预设逻辑或预设规则确定所述接口运行数据中是否包括噪音数据;
响应于所述接口运行数据中包括噪音数据,对所述接口运行数据执行数据清洗,得到清洗后的接口运行数据。
10.根据权利要求1-9任一所述的方法,其特征在于,还包括:
通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口;
在所述用例库中为所述变更接口新建对应的存储条目;或,对所述用例库中所述变更接口对应的存储条目执行汰换。
11.根据权利要求10所述的方法,其特征在于,所述通过监听处于执行状态的接口对应的代码文件,确定代码发生变更的至少一个变更接口,包括:
通过监听处于执行状态的接口对应的代码文件,确定所述代码文件是否发生变更;
响应于所述代码文件发生变更,对所述代码文件执行代码差异操作,确定变更的代码信息;
基于所述代码信息确定变更对应的至少一个变更接口。
12.根据权利要求1-11任一所述的方法,其特征在于,所述对所述标准格式数据和所述断言数据进行整合,得到测试用例并存入用例库,包括:
基于所述标准格式数据生成所述自动化用例的用例文本;
基于所述断言数据作为所述用例断言,基于所述用例文本和所述用例断言确定所述测试用例;
将所述测试用例存入所述用例库中所述目标接口对应的存储条目。
13.一种用例自动化生成装置,其特征在于,包括:
数据获得模块,用于从数据库中预存的接口运行数据中,获得对应目标接口的接口运行数据;
数据标准化模块,用于对所述接口运行数据执行格式标准化处理,得到符合预设格式的标准格式数据;
断言确定模块,用于对所述标准格式数据执行至少一种处理,确定所述标准格式数据对应的断言数据;
用例自动化模块,用于对所述标准格式数据和所述断言数据进行整合,得到自动化用例并存入用例库。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-12任一所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-12任一所述的方法。
16.一种计算机程序产品,包括计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现上述权利要求1-12任一所述的方法。
CN202311817246.3A 2023-12-26 2023-12-26 用例自动化生成方法、装置、电子设备、存储介质、产品 Pending CN117762804A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311817246.3A CN117762804A (zh) 2023-12-26 2023-12-26 用例自动化生成方法、装置、电子设备、存储介质、产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311817246.3A CN117762804A (zh) 2023-12-26 2023-12-26 用例自动化生成方法、装置、电子设备、存储介质、产品

Publications (1)

Publication Number Publication Date
CN117762804A true CN117762804A (zh) 2024-03-26

Family

ID=90323845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311817246.3A Pending CN117762804A (zh) 2023-12-26 2023-12-26 用例自动化生成方法、装置、电子设备、存储介质、产品

Country Status (1)

Country Link
CN (1) CN117762804A (zh)

Similar Documents

Publication Publication Date Title
CN112099768B (zh) 业务流程处理方法、装置及计算机可读存储介质
KR101869895B1 (ko) 딥 러닝 기반의 오브젝트 인식 서버, 오브젝트 인식 시스템 및 오브젝트 인식 방법
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN110750433A (zh) 接口测试方法和装置
CN110704102A (zh) 页面跳转协议接口文档生成方法、系统、介质和电子设备
CN112729868A (zh) 一种车辆诊断方法、装置、设备及介质
CN111464515A (zh) 一种数据转换方法、装置、设备及存储介质
CN114398396A (zh) 数据查询方法、存储介质和计算机程序产品
CN110704273B (zh) 配置信息的处理方法和装置、电子设备和存储介质
CN111580821B (zh) 脚本绑定方法、装置、电子设备及计算机可读存储介质
CN117762804A (zh) 用例自动化生成方法、装置、电子设备、存储介质、产品
CN113688134B (zh) 基于多维数据的可视化变量管理方法、系统及设备
CN110765003B (zh) 代码检测方法、装置以及设备、存储介质
CN111752847A (zh) 接口比对方法和微服务器、计算机可读存储介质、电子设备
CN112433752A (zh) 页面解析方法、装置、介质及电子设备
CN111475403A (zh) 测试脚本的动态生成方法及相关装置
CN111930377A (zh) 拓扑关系展示方法、装置、服务器及存储介质
CN117555533B (zh) 代码生成方法、电子设备及存储介质
CN115795058B (zh) 一种威胁建模方法、系统、电子设备及存储介质
CN117648718B (zh) 基于数据源的业务对象显示方法、装置、电子设备和介质
CN112162738B (zh) 数据转化方法、装置、终端设备及存储介质
CN114880209A (zh) 软件测试方法、装置及存储介质
CN116781510A (zh) 业务流程处理方法、装置、电子设备和存储介质
CN115033606A (zh) 基于规则引擎的数据核对方法、装置、设备及介质
CN116562955A (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