CN117873878A - 一种测试方法、装置、电子设备及存储介质 - Google Patents
一种测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117873878A CN117873878A CN202311799914.4A CN202311799914A CN117873878A CN 117873878 A CN117873878 A CN 117873878A CN 202311799914 A CN202311799914 A CN 202311799914A CN 117873878 A CN117873878 A CN 117873878A
- Authority
- CN
- China
- Prior art keywords
- test
- target
- interface
- information
- target test
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 584
- 238000010998 test method Methods 0.000 title claims description 28
- 230000006870 function Effects 0.000 claims description 82
- 238000000034 method Methods 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及测试技术领域,具体涉及一种测试方法、装置、电子设备及存储介质,本发明通过获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;基于所述测试描述信息确定出目标功能信息和目标测试数据;根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种测试方法、装置、电子设备及存储介质。
背景技术
随着软件开发技术的发展,应用程序之间的交互越来越依赖于接口。为了确保接口的稳定性和可靠性,接口测试成为了软件开发过程中的重要环节。
目前,开发人员在进行接口自测阶段或者测试人员在接口测试阶段,使用的测试方案比较传统,虽然引入了自动化测试,但是仍需要测试人员去挨个梳理接口信息,将接口输入输出定义清楚,再通过各种测试工具重复进行数据校验完成接口测试。在传统的测试方案中,人工需要处理大量的接口信息,每接入一个测试都需要重新梳理需要测试的接口信息,测试效率不高。
由此可见,现有技术中存在接口测试效率低的问题。
发明内容
本发明的目的在于提供一种测试方法、装置、电子设备及存储介质,以解决现有技术中接口测试效率低的问题。
为了实现上述目的,本发明采用的技术方案如下:
根据本申请实施例的一个方面,提供了一种测试方法,包括:
获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;
基于所述测试描述信息确定出目标功能信息和目标测试数据;
根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;
通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
根据上述技术手段,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
进一步,所述根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口,包括:
在所有候选接口功能信息中,判断是否存在与所述目标功能信息相同的目标接口功能信息,其中,所述候选接口功能信息用于指示所对应的候选测试接口的功能;
在确定存在所述目标接口功能信息的情况下,将所述目标接口功能信息对应的候选测试接口确定为所述目标测试接口。
根据上述技术手段,选取与待测试内容功能相近的测试接口,不需要人工选择和处理接口信息,进一步提高测试效率。
进一步,所述通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,包括:
将所述目标测试数据转换成目标参数信息,其中,所述目标参数信息为满足所述目标测试接口输入要求的信息;
根据所述目标参数信息和所述目标测试接口的接口标识信息,构造接口请求体;
使用所述接口请求体中的所述接口标识信息请求调用所述目标测试接口,通过所述接口请求体请求中的所述目标参数信息对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
根据上述技术手段,通过目标测试数据对选取的接口自动进行测试,并得到目标测试结果,无需梳理测试接口信息,即使新接入测试时也不需要重新梳理需要测试的接口信息,进一步提高了测试效率。
进一步,所述基于所述测试描述信息确定出目标功能信息和目标测试数据,包括:
基于所述测试描述信息确定出所有目标测试步骤;
确定出与每个目标测试步骤对应的目标功能信息和目标测试数据;
在所述所有目标测试步骤的数量大于预设阈值时,检测所述所有目标测试步骤的依赖关系;
根据所述依赖关系确定所述所有目标测试步骤的执行方式,其中,所述执行方式包括:并行执行和/或串行执行。
根据上述技术手段,在多个测试要执行时,通过确定测试执行的步骤以及测试间的依赖关系,按照依赖关系确定的执行方式执行测试,不需要人工确定测试的执行方式和顺序,进一步提高了测试效率。
进一步,所述获取测试描述信息,包括以下至少一项:
获取语言描述信息,其中,所述语言描述信息用于指示具体测试内容;将所述语言描述信息转换成文本,得到测试描述信息;
获取文本描述信息;将所述文本描述信息作为所述测试描述信息。
根据上述技术手段,通过将测试人员的语言描述信息,转换成测试描述信息,或者,直接获取文本形式的测试描述信息,不需要编写测试代码,减少了人工的开发的时间,进一步提高了测试效率。
进一步,在得到所述目标测试接口对应的目标测试结果之前,所述方法还包括:
基于所述测试描述信息确定出目标存储格式,其中,所述目标存储格式用于指示目标测试数据和目标测试接口测试完成后目标测试结果的存储格式;
在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
根据所述目标存储格式,保存所述目标测试结果。
根据上述技术手段,通过将测试结果按照预先设定的存储格式进行存储,有利于后续其他测试的调用,进一步提高测试效率。
进一步,在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
基于所述测试描述信息确定出目标期望结果,其中,所述目标期望结果用于指示目标测试接口测试完成后的期望的输出结果;
根据所述目标期望结果与所述目标测试结果,使用预设的判断标准,判断测试是否通过;
在满足所述判断标准的情况下,测试通过;在不满足所述判断标准的情况下,测试不通过。
根据上述技术手段,通过将期望结果与测试结果自动进行判断是否一致,进而判断测试是否通过,不需要人工判断测试是否通过,进一步提高测试效率。
根据本申请实施例的又一个方面,还提供了一种测试装置,包括:
信息获取模块,用于获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;
数据确定模块,用于基于所述测试描述信息确定出目标功能信息和目标测试数据;
接口确定模块,用于根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;
接口调用模块,用于通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的测试方法。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的测试方法。
本发明的有益效果:
本发明通过获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;基于所述测试描述信息确定出目标功能信息和目标测试数据;根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
附图说明
图1是本申请实施例提供的一种可选的测试方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的测试方法的流程示意图;
图3是根据本申请实施例的一种可选的测试装置的结构框图;
图4是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种测试方法。可选地,在本实施例中,上述测试方法可以应用于由终端和服务器所构成的硬件环境中。服务器通过网络与终端进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库,用于为服务器提供数据存储服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端可以并不限定于为PC、手机、平板电脑等。
本申请实施例的测试方法可以由服务器来执行,也可以由终端来执行,还可以是由服务器和终端共同执行。其中,终端执行本申请实施例的测试方法也可以是由安装在其上的客户端来执行。
以由服务器来执行本实施例中的测试方法为例,请参阅图1,图1是本申请实施例提供的一种可选的测试方法的硬件环境的示意图,如图1所示,该测试方法的硬件环境包括:终端102,以及通过网络与终端102连接的服务器104。服务器104用于部署接口信息管理平台,所述接口信息管理平台用于管理已将发布上线的所有接口,服务器104还用于部署接口调用程序,所述接口调用程序用于执行本申请实施例的测试方法,根据测试描述信息,从接口信息管理平台选取合适的接口,使用测试数据进行测试,并得到测试结果;终端102用于展示测试结果以及测试是否通过,其中,判断测试是否通过可以由服务器104部署的接口调用程序进行判断。
本实施例中的测试方法可以应用于跨系统交互、可靠性验证等场景,例如:系统与系统之间的调用场景、上层服务对下层服务的调用场景、跨平台、跨系统的集成测试场景、验证系统间接口的可靠性和安全性场景等。
由于开发人员在进行接口自测阶段或者测试人员在接口测试阶段,使用的测试方案比较传统,虽然引入了自动化测试,但是仍需要测试人员去挨个梳理接口信息,将接口输入输出定义清楚,再通过各种测试工具重复进行数据校验完成接口测试。在传统的测试方案中,人工需要处理大量的接口信息,每接入一个测试都需要重新梳理需要测试的接口信息,测试效率不高。
为解决上述问题,本实施例中提供了一种运行于上述服务器的测试方法,请参阅图2,图2是根据本申请实施例的一种可选的测试方法的流程示意图,如图2所示,本申请实施例的测试方法具体包括如下步骤:
步骤S201,获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容。
步骤S202,基于所述测试描述信息确定出目标功能信息和目标测试数据。
步骤S203,根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口。
步骤S204,通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
通过上述步骤S201至步骤S204,通过获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;基于所述测试描述信息确定出目标功能信息和目标测试数据;根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,解决了相关技术中接口测试效率低的问题,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
下面结合图2对本申请实施例中的测试方法进行解释说明。
在步骤S201的技术方案中,获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容。
由于传统的测试方式,对于一个功能测试需求,需要人工编写测试用例,进而通过设置相应的测试数据,通过测试用例调用测试接口进行测试,其中,编写测试用例时需要梳理需要用到的所有测试接口,这样对于有些功能类似的测试需求,也还是需要重新梳理一下需要用到的所有测试接口,这样不但繁琐,而且效率不高。本发明通过获取用于指示具体测试内容的测试描述信息,来简化测试用例的编写过程,提高效率。
在具体实践中,测试描述信息具体包括:目标功能信息和目标测试数据,其中,目标功能休息用于指示测试的功能,目标测试数据为调用接口测试时用的数据。
作为一种可选的实施例,获取测试描述信息,包括以下至少一项:
获取语言描述信息,其中,所述语言描述信息用于指示具体测试内容;将所述语言描述信息转换成文本,得到测试描述信息;
获取文本描述信息;将所述文本描述信息作为所述测试描述信息。
在具体实践中,可以通过语言识别系统获取测试人员或开发人员说的语言描述信息,并解析该语言描述信息,将其转换成文本,得到测试描述信息。该测试描述信息被传输给接口调用程序,用于后续测试使用。在具体实践中,该语言识别系统可以是任意厂商的源识别系统。
可以理解的是,本实施例提供的技术方案,通过将测试人员的语言描述信息,转换成测试描述信息,不需要编写测试代码,减少了测试人员的编写代码的时间,进一步提高了测试效率。
在具体实践中,也可以不使用语言识别系统获取测试描述信息,直接获取文本描述信息;将所述文本描述信息作为所述测试描述信息,具体的可以通过终端直接获取输入测试描述信息。
可以理解的是,本实施例提供的技术方案,通过终端直接输入测试描述信息,可以更加准确的描述测试内容,提高确定测试接口的准确率。
需要说明的是,接口调用程序为预先设计并开发的标准SDK,该标准SDK具有已发布接口的查询功能,其能够通过接口信息管理平台的所有已发布接口的接口明细信息列表查询需要的接口。具体的,该标准SDK设置有基于大语言模型的接口调用方法,该接口调用方法用于根据测试人员或开发人员的测试描述信息,从接口信息管理平台的接口明细信息列表中或者接口调用程序中配置的接口中,选择与测试描述信息中功能相同、最有效的接口。
由于有的新开发的接口在发布上线前,需要经过测试,而在测试期间是无法通过接口信息管理平台的接口明细信息列表查询到该接口,因此标准SDK还具有本地新开发接口的配置功能,其通过配置文件方式配置未发布上线的接口信息列表。在接口识别及测试过程中,标准SDK将已发布上线的接口和本地新开发接口进行合并。
接口信息管理平台,用于管理所有已经发布上线的所有接口,新上线接口均需在该平台录入接口明细信息,通过该平台录入的接口最终形成接口明细列表,该接口明细列表中每个接口的接口明细信息包含以下内容:接口名称:接口的名称、接口描述信息、参数信息、必传字段列表、接口域名、接口路径、接口请求方式及格式以及状态码明细。
其中,接口的名称,简洁易懂,一定要与接口功能一致;接口描述信息为接口的功能描述,需要完成描述该接口的功能;参数信息即参数列表,包含每个参数的字段名、类型、字段详细介绍;必传字段列表为列举必须传的参数名;接口域名为接口的请求域名;接口路径为接口的请求路径地址;状态码明细:用于指示接口返回内容是否符合预期,其中不同状态码的含义例如:200代表成功,404代表未找到,429代表请求次数超过限制次数,500代表服务器内部错误;接口请求方式及格式包括:POST、GET、DELETE、PATCH、PUT等请求,以下是POST、GET、DELETE、PATCH和PUT等请求的含义、格式和使用场景具体介绍:
1、POST请求通常用于向服务器提交数据,例如表单数据。在HTTP/1.1中,POST请求在请求体中通常包括要发送的数据,请求体的格式通常是由HTML表单提交的application/x-www-form-urlencoded或multipart/form-data。其适用于创建或更新资源等场景,当数据需要从客户端发送到服务器时使用。
2、GET请求用于请求从服务器检索数据。GET请求的数据会附加在URL之后,以查询字符串的形式出现,通常是以?分隔URL和传输数据,多个参数之间以&连接,数据在URL中是可见的。其适用于请求数据的场景,当数据不需要从客户端发送到服务器时使用。
3、DELETE请求用于请求服务器删除指定的资源。与POST和PUT相似,DELETE请求通常也有一个请求体,尽管在实际中它常常被忽略。其适用于删除资源的场景。
4、PATCH请求用于对资源进行部分更新。PATCH请求通常有一个请求体,它包含了对资源进行修改的指令,它的格式可以是JSON、XML或任何其他服务器能够理解并处理的数据格式。其适用于更新资源的特定部分,而不是重新创建或删除资源的场景。
5、PUT请求用于创建或更新资源。与POST相似,PUT请求的实体通常包括在请求体中,可以使用各种格式,如JSON、XML等。其适用于创建或更新资源,且该资源已存在时的场景。
在步骤S202的技术方案中,基于所述测试描述信息确定出目标功能信息和目标测试数据。
本实施例中,使用接口调用程序中设置的基于大语言模型的接口调用方法,直接识别测试人员或开发人员的测试描述信息中的目标功能信息和目标测试数据。
由于测试人员或开发人员的测试描述信息中,可能包括多个测试步骤,因此,对于多个测试步骤,本发明的方法会将测试描述信息自动拆解成多个测试步骤,然后再确定每个测试步骤对应的目标功能信息和目标测试数据。
作为一种可选的实施例,基于所述测试描述信息确定出目标功能信息和目标测试数据,包括:
基于所述测试描述信息确定出所有目标测试步骤;
确定出与每个目标测试步骤对应的目标功能信息和目标测试数据;
在所述所有目标测试步骤的数量大于预设阈值时,检测所述所有目标测试步骤的依赖关系;
根据所述依赖关系确定所述所有目标测试步骤的执行方式,其中,所述执行方式包括:并行执行和/或串行执行。
由于测试描述信息中,可以包括多个目标测试步骤,也可以包括单个目标测试步骤。在包括多个目标测试步骤的情况下,如果之前未指定每个目标测试步骤,接口调用程序会将测试描述信息自动拆解为多个目标测试步骤;当然也可以在输入测试描述信息时就指定好每个目标测试步骤。
在具体实践中,接口调用程序通过基于大语言模型的接口调用方法,根据目标测试接口的功能信息,自动将测试描述信息拆解成多个目标测试步骤。例如测试描述信息为:创建一个用户1234,为该用户设置年龄为18岁,性别为女,该用户发起项目有3笔捐款:用户3241捐10块钱,用户3312捐15块钱,用户4123捐5块钱。根据该测试描述信息可以确定其包括多个目标测试步骤,因此,接口调用程序将该测试描述信息拆解成如下的目标测试步骤:stage1:创建一个用户1234;stage2:为这个用户设置年龄为18岁;stage3:为这个用户设置性别为女;stage4:3241捐款;stage5:3312捐款;stage6:4123捐款;final:统计用户1234发起项目的捐款次数是否为3。其中,每个目标测试步骤对应有目标功能信息和目标测试数据,例如stage2的目标功能信息为更新用户信息,目标测试数据为年龄18岁。
在具体实践中,只有在测试描述信息中包括多个目标测试步骤的情况下,才需要检测所有目标测试步骤的依赖关系,对于测试描述信息中只包括单个测试步骤时,不需要检测依赖关系,因此,可以将目标测试步骤的数量作为判断条件,在目标测试步骤的数量大于预设阈值时,检测所有目标测试步骤的依赖关系。具体的,阈值根据实际情况设定,优选的,阈值设置为1。当阈值设为1时,如果目标测试步骤的数量大于1,则进行检测依赖关系;如果目标测试步骤的数量等于1,则不进行检测依赖关系。
由于存在多个目标测试步骤,为了提高测试效率和成功率,可以在测试执行前,检测所有目标测试步骤间的依赖关系,通过依赖关系确定所有目标测试步骤的执行方式,如果多个目标测试步骤有依赖关系,则串行执行;如果多个目标测试步骤没有依赖关系,则并行执行。
具体的,根据上述例子可知:目标测试步骤stage1创建一个用户,他将返回一个用户ID,目标测试步骤stage2为这个用户设置年龄为18岁,目标测试步骤stage3为这个用户设置性别为女,那么stage1分别与stage2、stage3中间存在依赖关系,stage1和stage2、stage3为串行关系,而stage2与stage3之间没有存在依赖关系,可以独立执行,所以stage2与stage3并行执行,最终的目标测试步骤执行方式是先执行stage1,再并行执行stage2和stage3。
在具体实践中,多个目标测试步骤检测依赖关系后,可以根据依赖关系生成一个可视化的测试步骤节点依赖图,图中可以包括每个测试步骤节点的测试状态和测试结果,该图可以在图1硬件环境中的终端中显示。
对于测试描述信息中包括多个目标测试步骤的情况,测试人员或开发人员在描述时不需要明确指定使用哪一个目标测试步骤的需要传入哪个参数,若当前接口需要使用上游测试接口的输入或者输出数据时,因为测试接口的输入输出明细都已经在测试接口中进行明确的定义,接口调用程序会自动判断使用上游测试接口具体哪个输入或者输出结果。
可以理解的是,本实施例提供的技术方案,在多个目标测试步骤要执行时,通过确定所有目标测试步骤以及所有目标测试步骤间的依赖关系,按照依赖关系确定所有目标测试步骤的执行方式,再按照执行方式执行目标测试步骤,不需要人工确定测试的执行方式和顺序,进一步提高了测试效率。
在步骤S203的技术方案中,根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口。
在本发明中,接口调用程序通过基于大语言模型的接口调用方法,根据测试人员或开发人员的测试描述信息,从候选测试接口中选择与测试描述信息中功能相同、最有效的接口。
作为一种可选的实施例,根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口,包括:
在所有候选接口功能信息中,判断是否存在与所述目标功能信息相同的目标接口功能信息,其中,所述候选接口功能信息用于指示所对应的候选测试接口的功能;
在确定存在所述目标接口功能信息的情况下,将所述目标接口功能信息对应的候选测试接口确定为所述目标测试接口。
需要说明的是,候选测试接口为接口信息管理平台中已将发布的接口或通过接口调用程序配置的未发布的接口。候选接口功能信息用于指示候选测试接口的功能,候选接口功能信息可以通过查询接口信息管理平台中接口明细列表得到,具体的为查询接口明细列表中接口描述信息;候选接口功能信息还可以直接从接口调用程序的接口配置信息中获得。
可以理解的是,本实施例提供的技术方案,接口调用程序通过基于大语言模型的接口调用方法,根据测试人员或开发人员的测试描述信息,从接口信息管理平台的接口明细信息列表中或者接口调用程序中配置的接口中,选择与测试描述信息中功能相同、最有效的接口,不需要人工选择和处理接口信息,进一步提高测试效率。
在步骤S204的技术方案中,通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
由于获取到的测试描述信息为自然语言信息,接口调用程序无法直接使用该信息,因此需要将该信息转换成接口调用程序可以使用的信息。
作为一种可选的实施例,通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,包括:
将所述目标测试数据转换成目标参数信息,其中,所述目标参数信息为满足所述目标测试接口输入要求的信息;
根据所述目标参数信息和所述目标测试接口的接口标识信息,构造接口请求体;
使用所述接口请求体中的所述接口标识信息请求调用所述目标测试接口,通过所述接口请求体请求中的所述目标参数信息对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
需要说明的是,目标参数信息为满足目标测试接口输入要求的信息。在具体实践中,根据目标测试接口的参数信息将目标测试数据转换成多个目标参数信息,多个目标参数信息形成参数列表,参数列表中包括每个参数的字段名、类型、参数值等。根据上述实施例中的例子中的目标测试步骤stage2和目标测试步骤stage3,是为用户1234设置年龄为18岁,性别女,这将会调用用户信息更新接口,该接口传入参数列表为:{“user_id”:“用户ID”,“age”:18,“sex”:“female”},其中,用户ID为目标测试步骤stage1执行后返回的。
接口标识信息用于指示接口的标识和访问地址,以便其他系统或程序可以通过它们访问和调用接口,接口标识信息包括:接口域名、接口路径、接口名称、接口请求方式等。接口调用程序使用接口请求体,通过HTTP请求调用目标测试接口。
可以理解的是,本实施例提供的技术方案,通过目标测试数据对选取的接口自动进行测试,并得到目标测试结果,无需梳理测试接口信息,即使新接入测试时也不需要重新梳理需要测试的接口信息,进一步提高了测试效率。
作为一种可选地实施例,在得到所述目标测试接口对应的目标测试结果之前,所述方法还包括:
基于所述测试描述信息确定出目标存储格式,其中,所述目标存储格式用于指示目标测试接口测试完成后目标测试结果的存储格式;
在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
根据所述目标存储格式,保存所述目标测试结果。
需要说明的是,测试描述信息中还包括目标存储格式,其中,目标存储格式用于指示目标测试接口测试完成后目标测试结果的存储格式。具体的,存储格式可以包括:JSON、数组、字符串等。在具体实践中,目标测试结果可以缓存在Redis中,也可以存储在Mysql数据库。
可以理解的是,本实施例提供的技术方案,通过将测试结果按照预先设定的存储格式进行存储,有利于后续其他测试的调用,进一步提高测试效率。
需要说明的是,目标存储格式还用于指示目标参数信息的存储格式。
可以理解的是,为了方便后续其他测试步骤的执行,在测试步骤执行之前,都会将目标参数信息以预设的存储格式进行存储。具体的,存储格式可以包括:JSON、数组、字符串等。在具体实践中,目标参数信息可以缓存在Redis中,也可以存储在Mysql数据库。
在具体实践中,目标存储格式在测试开始前为测试人员或开发人员设置,通过语音或者文本形式设置在测试描述信息中。接口调用程序通过基于大语言模型的接口调用方法自动识别测试描述信息中的目标存储格式。
可以理解的是,本实施例提供的技术方案,有利于后续其他测试的调用,进一步提高测试效率。
在得到目标测试接口的目标测试结果后,接口调用程序还需要将目标期望结果与目标测试结果进行比较,来判断目标测试接口的测试是否通过。在具体实践中,测试描述信息还包括:目标期望结果,其中,目标期望结果用于指示目标测试接口测试完成后的期望的输出结果。
作为一种可选地实施例,在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
基于所述测试描述信息确定出目标期望结果,其中,所述目标期望结果用于指示目标测试接口测试完成后的期望的输出结果;
根据所述目标期望结果与所述目标测试结果,使用预设的判断标准,判断测试是否通过;
在满足所述判断标准的情况下,测试通过;在不满足所述判断标准的情况下,测试不通过。
需要说明的是,判断标准用于指示目标测试结果与目标期望结果是否结果一致,当结果一致时,测试通过,当结果不一致时,测试不通过。具体的,判断标准包括:目标测试结果与目标期望结果完全一致和目标测试结果与目标期望结果含义一致。其中,完全一致是指目标测试结果与目标期望结果完全相同,例如:目标测试结果为1,目标期望结果也为1,此时目标测试结果与目标期望结果完全一致;含义一致是指目标测试结果与目标期望结果含义相近,不一定完全相同,例如:目标测试结果是“对”,目标期望结果是“是的”,此时目标测试结果与目标期望结果含义一致。目标测试结果与目标期望结果完全一致或目标测试结果与目标期望结果含义一致均表示结果一致。
具体的,上述实施例的例子中最后的目标测试步骤final与上游其他目标测试步骤存在依赖关系,目标测试步骤final是一个最终节点。最后的目标测试步骤final为:统计用户1234发起项目的捐款次数是否为3。由于目标测试数据中,有3笔捐款,因此目标测试结果即捐款次数为3。该目标测试结果与目标期望结果3完全相同,测试通过。
在具体实践中,判断标准在测试开始前为测试人员或开发人员设置,通过语音或者文本形式设置在测试描述信息中。接口调用程序通过基于大语言模型的接口调用方法自动识别测试描述信息中的判断标准。
可以理解的是,本实施例提供的技术方案,通过将期望结果与测试结果自动进行判断是否一致,进而判断测试是否通过,不需要人工判断测试是否通过,进一步提高测试效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术作出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述测试方法的测试装置。请参阅图3,图3是根据本申请实施例的一种可选的测试装置的结构框图,如图3所示,该装置可以包括:
信息获取模块301,用于获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;
数据确定模块302,用于基于所述测试描述信息确定出目标功能信息和目标测试数据;
接口确定模块303,用于根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;
接口调用模块304,用于通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
需要说明的是,该实施例中的信息获取模块301可以用于执行上述步骤S201,该实施例中的数据确定模块302可以用于执行上述步骤S202,该实施例中的接口确定模块303可以用于执行上述步骤S203,该实施例中的接口调用模块304可以用于执行上述步骤S204。
关于本实施例中的测试装置,其信息获取模块301、数据确定模块302、接口确定模块303以及接口调用模块304执行上述测试方法的具体方式已经在有关该测试方法的实施例中进行了详细描述,此处将不作详细阐述说明。
可以理解的是,本实施例提供的技术方案,该测试装置中各个模块,通过获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;基于所述测试描述信息确定出目标功能信息和目标测试数据;根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
本实施例中的装置,除包含上述模块之外,还可以包含执行如前述任一测试方法的实施例中任意方法的模块。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实现如图1所示方法的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述测试方法的电子设备,该电子设备可以是服务器、终端,或者其组合。
根据本申请的另一个实施例,还提供一种电子设备,请参阅图4,图4是根据本申请实施例的一种可选的电子设备的结构框图,如图4所示,该电子设备可以包括:处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
步骤S201,获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容。
步骤S202,基于所述测试描述信息确定出目标功能信息和目标测试数据。
步骤S203,根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口。
步骤S204,通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
可以理解的是,本实施例提供的技术方案,该电子设备的处理器,通过获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;基于所述测试描述信息确定出目标功能信息和目标测试数据;根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,由于不需要编写测试用例,能够根据测试的功能信息直接调用合适的接口,使用测试数据进行测试,并返回测试结果,不需要人工处理大量的接口信息,每接入一个测试也不需要重新梳理需要测试的接口信息,提高了测试效率。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processor,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种计算机可读存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其他的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种测试方法,其特征在于,包括:
获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;
基于所述测试描述信息确定出目标功能信息和目标测试数据;
根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;
通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
2.根据权利要求1所述的测试方法,其特征在于,所述根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口,包括:
在所有候选接口功能信息中,判断是否存在与所述目标功能信息相同的目标接口功能信息,其中,所述候选接口功能信息用于指示所对应的候选测试接口的功能;
在确定存在所述目标接口功能信息的情况下,将所述目标接口功能信息对应的候选测试接口确定为所述目标测试接口。
3.根据权利要求1所述的测试方法,其特征在于,所述通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果,包括:
将所述目标测试数据转换成目标参数信息,其中,所述目标参数信息为满足所述目标测试接口输入要求的信息;
根据所述目标参数信息和所述目标测试接口的接口标识信息,构造接口请求体;
使用所述接口请求体中的所述接口标识信息请求调用所述目标测试接口,通过所述接口请求体请求中的所述目标参数信息对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
4.根据权利要求1所述的测试方法,其特征在于,所述基于所述测试描述信息确定出目标功能信息和目标测试数据,包括:
基于所述测试描述信息确定出所有目标测试步骤;
确定出与每个目标测试步骤对应的目标功能信息和目标测试数据;
在所述所有目标测试步骤的数量大于预设阈值时,检测所述所有目标测试步骤的依赖关系;
根据所述依赖关系确定所述所有目标测试步骤的执行方式,其中,所述执行方式包括:并行执行和/或串行执行。
5.根据权利要求1所述的测试方法,其特征在于,所述获取测试描述信息,包括以下至少一项:
获取语言描述信息,其中,所述语言描述信息用于指示具体测试内容;将所述语言描述信息转换成文本,得到测试描述信息;
获取文本描述信息;将所述文本描述信息作为所述测试描述信息。
6.根据权利要求1所述的测试方法,其特征在于,在得到所述目标测试接口对应的目标测试结果之前,所述方法还包括:
基于所述测试描述信息确定出目标存储格式,其中,所述目标存储格式用于指示目标测试数据和目标测试接口测试完成后目标测试结果的存储格式;
在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
根据所述目标存储格式,保存所述目标测试结果。
7.根据权利要求1所述的测试方法,其特征在于,在得到所述目标测试接口对应的目标测试结果之后,所述方法还包括:
基于所述测试描述信息确定出目标期望结果,其中,所述目标期望结果用于指示目标测试接口测试完成后的期望的输出结果;
根据所述目标期望结果与所述目标测试结果,使用预设的判断标准,判断测试是否通过;
在满足所述判断标准的情况下,测试通过;在不满足所述判断标准的情况下,测试不通过。
8.一种测试装置,其特征在于,包括:
信息获取模块,用于获取测试描述信息,其中,所述测试描述信息用于指示具体测试内容;
数据确定模块,用于基于所述测试描述信息确定出目标功能信息和目标测试数据;
接口确定模块,用于根据所述目标功能信息,从所有候选测试接口中确定出目标测试接口;
接口调用模块,用于通过所述目标测试数据对所述目标测试接口进行测试,得到所述目标测试接口对应的目标测试结果。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述测试方法。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311799914.4A CN117873878A (zh) | 2023-12-25 | 2023-12-25 | 一种测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311799914.4A CN117873878A (zh) | 2023-12-25 | 2023-12-25 | 一种测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117873878A true CN117873878A (zh) | 2024-04-12 |
Family
ID=90587773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311799914.4A Pending CN117873878A (zh) | 2023-12-25 | 2023-12-25 | 一种测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873878A (zh) |
-
2023
- 2023-12-25 CN CN202311799914.4A patent/CN117873878A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN107861870B (zh) | 接口测试及测试数据生成方法、装置、终端和存储介质 | |
US8745641B1 (en) | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface | |
US8311794B2 (en) | Testing executable logic | |
CN112199300B (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN110297760A (zh) | 测试数据的构造方法、装置、设备及计算机可读存储介质 | |
CN110471842A (zh) | 一种测试方法、装置及计算机可读存储介质 | |
CN113126955A (zh) | 一种随机数据生成方法、装置、智能终端及存储介质 | |
CN111538659A (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN113778864A (zh) | 一种测试用例的生成方法和装置、电子设备和存储介质 | |
CN113516251A (zh) | 一种机器学习系统及模型训练方法 | |
CN111061637B (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN111382051B (zh) | 一种api自动测试方法及测试装置 | |
CN117873878A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN116016270A (zh) | 一种交换机测试管理方法、装置、电子设备和存储介质 | |
CN112230938B (zh) | 工业互联网的租赁产品的配置方法和装置 | |
CN112131127B (zh) | 接口测试方法、装置、系统及电子设备 | |
CN110618943B (zh) | 安防服务测试方法、装置、电子设备及可读存储介质 | |
CN112882948A (zh) | 一种应用的稳定性测试方法、装置、系统及存储介质 | |
CN112988589A (zh) | 一种接口测试方法、装置和系统 | |
CN111045724A (zh) | 调用链信息的查询方法、装置和可读存储介质 | |
CN114812695B (zh) | 一种产品测试方法、装置、计算机设备和存储介质 | |
CN116166963A (zh) | 一种模型更新的方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |