CN118093396A - 接口测试方法、装置、计算机设备及存储介质 - Google Patents
接口测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN118093396A CN118093396A CN202410204817.4A CN202410204817A CN118093396A CN 118093396 A CN118093396 A CN 118093396A CN 202410204817 A CN202410204817 A CN 202410204817A CN 118093396 A CN118093396 A CN 118093396A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- test
- determining
- target
- 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 230
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000003993 interaction Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013499 data model Methods 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种接口测试方法、装置、计算机设备及存储介质。所述方法包括:基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。本申请并不依赖接口文档获取接口参数,在接口文档存在错误的情况下仍能准确确定接口参数,能够避免因接口文档错误导致的接口测试错误,有效提高接口测试的准确度。
Description
技术领域
本申请涉及程序测试技术领域,特别是涉及一种接口测试方法、装置、计算机设备及存储介质。
背景技术
接口测试是指使用测试工具或脚本来模拟用户请求接口,并验证接口的功能、性能和稳定性的过程。接口测试是软件开发过程中的一个重要环节,旨在提高测试效率、降低测试成本、加快软件交付速度,并确保软件的质量以及运行稳定性。
在传统技术中,接口测试通常是引入能够解析接口文档的工具,通过读取接口文档提取接口参数,进而生成测试数据对接口进行测试。然而,传统技术对接口文档的依赖程度较高,若接口文档不准确或信息不完整,则自动解析工具难以提取准确的接口信息,进而导致接口测试结果的准确度降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高接口测试结果准确度的接口测试方法、装置、计算机设备及存储介质。
第一方面,本申请提供了一种接口测试方法。所述方法包括:
基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;
基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;
基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
在其中一个实施例中,在所述基于所述标准协议确定所述目标接口的接口参数之前,还包括:
确定所述目标接口的数据源类型和数据格式;
基于所述标准协议将所述数据源类型转换为目标数据源类型,以及将所述数据格式转换为目标数据格式。
在其中一个实施例中,所述基于所述接口参数确定测试用例包括:
基于所述接口参数确定测试输入数据以及期望结果数据,所述测试输入数据包括模拟测试数据或真实测试数据;
基于所述测试输入数据以及期望结果数据,确定所述测试用例。
在其中一个实施例中,所述测试输入数据包括真实测试数据,所述基于所述接口参数确定测试输入数据包括:
创建真实数据源链,并获取所述真实数据源链的链标识;
基于所述链标识以及所述接口参数查询所述目标接口,得到查询结果数据作为所述测试输入数据。
在其中一个实施例中,所述基于所述测试用例对所述目标接口进行测试包括:
将所述测试输入数据输入所述目标接口,得到输出数据;
判断所述输出数据与所述期望结果数据是否一致;
若一致,则确定测试结果正常;若不一致,则确定测试结果异常。
在其中一个实施例中,所述基于所述接口参数确定测试用例包括:
基于所述接口参数确定测试数据模型以及接口规则;
基于所述测试数据模型以及所述接口规则确定所述测试用例。
在其中一个实施例中,在所述基于初始协议与目标接口进行数据交互之前,还包括:
获取接口代码更新信息,所述接口代码更新信息包括本地代码更新信息和/或服务器代码更新信息;
基于所述接口代码更新信息确定所述目标接口。
第二方面,本申请还提供了一种接口测试装置。所述装置包括:
数据获取模块,用于基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;
接口参数确定模块,用于基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;
测试模块,用于基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一接口测试方法的步骤。
上述接口测试方法、装置、计算机设备及存储介质,基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;基于初始协议和反馈数据,确定标准协议,并基于所述标准协议确定目标接口的接口参数;基于接口参数确定测试用例,并基于测试用例对所述目标接口进行测试。本申请提供的接口测试方法通过初始协议与目标接口进行交互,在获取反馈数据后能够确定标准协议,再基于标准协议可以确定目标接口的接口参数。本申请并不依赖接口文档获取接口参数,在接口文档存在错误的情况下仍能准确确定接口参数,能够避免因接口文档错误导致的接口测试错误,有效提高接口测试的准确度。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为一个实施例中接口测试方法的应用环境图;
图2为一个实施例中接口测试方法的流程示意图;
图3为一个实施例中接口测试装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
以下所使用的术语“模块”、“单元”等为可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以硬件来实现,但是软件,或者软件和硬件的组合的实现也是可能并被构想的。
本申请实施例提供的接口测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102基于初始协议与目标接口进行数据交互,获取目标接口的反馈数据,并发送至服务器104。服务器104基于初始协议和反馈数据,确定标准协议并发送至终端102。终端102基于标准协议确定目标接口的接口参数并发送至服务器104。服务器104基于接口参数确定测试用例,并发送至终端102。终端102基于测试用例对目标接口进行测试。可以理解的,上述执行步骤仅为一种可行的实施方式,由服务器104执行的步骤也可以由终端102执行,同样的,由终端102执行的步骤也可以由服务器104执行,本申请对此不作具体限制。其中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在传统技术的接口测试用例编写过程中,通常需要依据接口文档来构建测试数据和参数。然而,当接口文档发生变化时,通常需要手动更新测试用例以反映这些更改,这无疑增加了维护成本和出错的可能。具体而言,传统技术引入一种能够解析接口文档的工具,其能够读取接口文档,并自动提取接口信息。然后通过编写脚本或使用特定的测试框架功能,将解析出来的接口信息转换为测试数据结构或对象。此外,利用测试框架提供的动态参数化功能,可以将测试数据和变量从测试脚本中分离出来,存储在如CSV文件、数据库或API等外部数据源中。当接口文档发生变化时,只需要更新外部数据源,而不需要修改测试代码。
然而在上述传统技术中,一方面,虽然动态参数化存储在外部数据源中,但仍然需要定期进行人工维护。当接口文档改动较多时,外部数据源文件的维护仍需要投入大量时间。另一方面,传统技术过于依赖接口文档的准确性和完整性,若接口文档不准确或信息不完整,则会导致解析工具提取错误的信息,最终导致测试结果准确度降低。再者,不同的测试工具和框架存在较高的集成难度,跨平台或跨语言的接口测试可能出现不兼容问题。
基于此,本申请实施例中,如图2所示,提供一种接口测试方法,以该方法应用于图1中所示的应用场景为例进行说明,包括以下步骤:
S201:基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据。
本申请实施例中,在确定标准协议之前,并不知晓目标接口的接口参数,因此需要通过初始协议与目标接口进行数据交互,在获取目标接口的反馈数据后再进一步确定标准协议。初始协议可以为基于protol协议确定的预设协议,用于描述与目标接口进行数据交互的基本方式和基本规则。基于初始协议与目标接口进行数据交互可以包括,与目标接口建立连接,并基于初始协议构建数据请求并向目标接口发送数据请求。其中,数据请求可以包括待执行操作、待反馈的接口参数、认证信息等,待执行操作可以包括查询、更新、删除等。在目标接口对数据请求作出响应后,可以接收到目标接口的反馈数据。具体的,反馈数据可以包括操作的执行结果,如操作成功或操作失败;也可以包括目标接口返回的数据内容、状态码、错误信息等。
S203:基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数。
本申请实施例中,可以对获取到的反馈数据进行分析,以确定目标接口的响应规则和数据格式。具体的,可以包括数据格式解析、数据结构处理、错误信息处理等。基于所述初始协议和所述反馈数据,确定标准协议可以包括,确定初始协议和反馈数据的共同点和差异点,并根据共同点和差异点确定标准协议。其中,共同点可以包括初始协议与反馈数据中的一致内容,例如通信协议类型、数据格式等;差异点可以包括初始协议和反馈数据中的不同内容,例如请求参数和响应数据的具体内容等。综合考虑初始协议和反馈数据的共同点和差异,并确定标准协议,可以保证与目标接口进行数据交互的兼容性和一致性。
本申请实施例中,标准协议能够准确识别和理解目标接口的接口信息,通过数据转换将所述接口信息转化为可用的接口参数。其中,接口信息可以包括数据类型信息、数据结构信息、数据属性信息等。数据转换可以包括数据格式转换、数据结构转换、数据类型转换、编码转换等。
在一些实施例中,所述接口参数包括数据类型、数据长度规则以及数据结构。具体的,标准协议可以确定数据类型,所述数据类型可以包括整数(int)、字符串(string)、布尔值(bool)。标准协议也可以确定数据长度规则,所述数据长度规则为目标接口允许交互的数据长度。标准协议还可以确定数据结构,确保数据的组织符合预设标准。在其他实施例中,标准协议还可以处理复杂数据类型,并确定复杂数据类型的数据结构与数据属性。所述复杂数据类型可以为数组、对象等数据类型。
在一个具体实施例中,基于标准协议能够确定符合目标接口数据交互规则的接口参数,例如,对于目标接口的输入参数“name”,其格式要求为字符串且长度为10,则基于标准协议能够生成长度为10的字符串字段。此外,根据边界值条件,基于标准协议还能够生成一个长度为11的字符串值。又例如,若数据类型为int的输入参数,根据边界值条件,基于标准协议能够生成一个长度为5的整数值。
在一些实施例中,为确保与目标接口进行数据交互时的通用性以及提高互操作性,在所述基于所述标准协议确定所述目标接口的接口参数之前,还包括:
S301:确定所述目标接口的数据源类型和数据格式。
S303:基于所述标准协议将所述数据源类型转换为目标数据源类型,以及将所述数据格式转换为目标数据格式。
本申请实施例中,在确定接口参数之前,可以确定目标接口的数据源类型和数据格式。基于标准协议可以分别将数据源类型、数据格式转换为目标数据源类型和目标数据格式。具体的,数据源类型可以包括数据库、数据文件、API(Application ProgrammingInterface,应用程序编程接口)等;数据格式可以包括文本格式、数据化结构格式、标记语言等。在一些具体实施例中,将数据格式转换为目标数据格式,可以包括将JSON格式的数据序列化为字符串格式的数据。
S205:基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
本申请实施例中,测试用例用于验证目标接口在不同输入条件下的行为是否符合预期,并用于测试目标接口的正确性、稳定性和安全性。在一些实施例中,所述基于所述接口参数确定测试用例包括:
S401:基于所述接口参数确定测试输入数据以及期望结果数据,所述测试输入数据包括模拟测试数据或真实测试数据。
S403:基于所述测试输入数据以及期望结果数据,确定所述测试用例。
本申请实施例中,测试输入数据应覆盖目标接口各种可能的数据交互情况,因此测试输入数据可以包括正常交互输入数据、基于边界条件的输入数据、异常交互输入数据等。基于生成方式的不同,测试输入数据还可以包括模拟测试数据和真实测试数据。可以理解的,模拟测试数据是基于接口参数生成的虚拟输入数据,真实测试数据是与所述目标接口进行过历史数据交互的输入数据。期望结果数据包括目标接口对于测试输入数据的期望输出结果,可以基于接口参数确定的code码、关键字进一步确定。基于测试输入数据以及期望结果数据,可以确定测试用例,并基于测试用例对目标接口进行测试。
本申请实施例提供一种确定真实测试数据的实施方式。在一些实施例中,所述测试输入数据包括真实测试数据,所述基于所述接口参数确定测试输入数据包括:
S501:创建真实数据源链,并获取所述真实数据源链的链标识。
S503:基于所述链标识以及所述接口参数查询所述目标接口,得到查询结果数据作为所述测试输入数据。
本申请实施例中,可以创建真实数据的数据源链,并获取链标识(链ID)。基于链标识以及接口参数查询目标接口,即可得到查询结果数据,也即目标接口的真实输入数据,作为测试输入数据。通过将真实输入数据作为测试输入数据,能够确定目标接口在真实数据下的响应,进一步提高目标接口的测试准确度。
在一些实施例中,所述基于所述测试用例对所述目标接口进行测试包括:
S601:将所述测试输入数据输入所述目标接口,得到输出数据。
S603:判断所述输出数据与所述期望结果数据是否一致。
S605:若一致,则确定测试结果正常;若不一致,则确定测试结果异常。
本申请实施例中,确定测试用例后,将将测试输入数据输入目标接口,得到输出数据,再判断输出数据是否与期望结果数据一致,根据判断结果可以确定目标接口是否正常。
在一个具体实施例中,以创建链重名验证为例,测试用例中期望结果数据为“chain name already exsits”,测试输入数据为已生成过的name数据。将测试输入数据输入目标接口后。若输出数据为“chain name already exsits”,与期望结果数据一致,则确定测试结果正常;否则确定测试结果异常。在其他实施例中,还可以根据标准协议解析目标接口输出参数确定参数期望结果,再基于参数期望结果对输出数据的字段类型和长度范围进行校验。
为进一步提高接口测试的泛用性,本申请实施例还提供一种测试用例的生成方式。在一些实施例中,所述基于所述接口参数确定测试用例包括:
S701:基于所述接口参数确定测试数据模型以及接口规则。
S703:基于所述测试数据模型以及所述接口规则确定所述测试用例。
本申请实施例中,标准协议基于protol协议生成,相应的,测试用例的代码可以基于protol协议生成自动化测试代码,能够支持不同类型的编程语言,以及适配不同类型的测试框架。具体而言,基于接口参数可以确定测试数据模型和接口规则。测试数据模型可以基于标准协议中定义的目标接口的名称、参数、返回值、异常处理数据确定,例如,一个HTTP接口的数据模型可以包括请求参数的结构、参数的数据类型、参数的取值范围、返回结果的数据结构、返回结果的数据类型等信息。接口规则是用于规定目标接口的行为、输入数据和输出数据规范的规则集合,用于说明目标接口的调用方式、输入数据的接受规则、输出数据的规则以及异常信息处理规则。基于测试数据模型以及接口规则可以确定测试用例,对目标接口进行测试。
为提高接口测试的及时率,在一些实施例中,在所述基于初始协议与目标接口进行数据交互之前,还包括:
S801:获取接口代码更新信息,所述接口代码更新信息包括本地代码更新信息和/或服务器代码更新信息。
S803:基于所述接口代码更新信息确定所述目标接口。
本申请实施例中,可以通过设置触发任务对接口进行自动测试。获取接口代码更新信息可以包括,通过Jenkins与protol系统的集成获取接口代码更新信息。具体的,在接口代码更新后,Jenkins能够自动触发protol系统的定时任务,获取接口代码更新信息。
本申请实施例中,接口代码更新信息包括本地代码更新信息和/或服务器代码更新信息。其中,本地代码更新信息包括在本地对接口代码进行更新后的代码信息。具体的,目标接口的代码在本地更新但未发布时,Jenkins响应本地代码的更改动作,并基于本地代码更新信息确定目标接口。目标接口包括本地代码更新部分对应的局部接口,对目标接口进行接口测试。在另一些实施例中,服务器代码更新信息包括由本地提交至服务器的接口更新代码。具体的,接口代码从本地提交至服务器时,Jenkins响应代码的提交动作,基于服务器代码更新信息确定目标接口,并执行全局接口测试。目标接口包括提交至服务器代码的更新部分对应的接口。本申请实施例在本地代码更新或提交至服务器时,能够自动触发测试测试任务对目标接口进行测试,确保了每次代码变更都会触发相应的测试流程,便于在代码更新的早期阶段即可发现并修复潜在问题,有效提高了接口测试的及时率。
本申请实施例中,在基于所述测试用例对目标接口进行测试之后,还可以根据测试结果和日志信息动态生成目标接口测试报告。具体的,可以包括覆盖的测试用例列表、测试结果正常的测试用例、测试结果异常的测试用例以及测试异常原因等。还可以对测试报告中的数据进行深入分析,生成关键指标的统计图表和报表。
本申请实施例中,基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;基于初始协议和反馈数据,确定标准协议,并基于所述标准协议确定目标接口的接口参数;基于接口参数确定测试用例,并基于测试用例对所述目标接口进行测试。本申请提供的接口测试方法通过初始协议与目标接口进行交互,在获取反馈数据后能够确定标准协议,再基于标准协议可以确定目标接口的接口参数。本申请并不依赖接口文档获取接口参数,在接口文档存在错误的情况下仍能准确确定接口参数,能够避免因接口文档错误导致的接口测试错误,有效提高接口测试的准确度。
本申请实施例提供的接口测试方法,能够自识别并解析接口参数,当接口代码中发生protol协议的改动时,能够自动识别并解析接口的输入参数和输出参数,无需人工干预。且基于解析后的接口参数,能够自动生成相应的测试用例,确保覆盖更多可能的应用场景,能够测试更多的参数组合。此外,本申请能够自动执行生成的测试用例,无需人工介入。且在接口测试完成后,能够自动生成详细的测试报告,包括测试结果、测试成功、测试异常的用例等信息,并进行保存,便于对接口异常情况进行进一步分析。另一方面,protol协议具有良好的跨平台性,能够支持多种编程语言和框架,满足不同项目的需求。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的接口测试方法的接口测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个接口测试装置实施例中的具体限定可以参见上文中对于接口测试方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种接口测试装置900,包括:
数据获取模块901,用于基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;
接口参数确定模块902,用于基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;
测试模块903,用于基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
在一个实施例中,所述接口参数确定模块902,还用于确定所述目标接口的数据源类型和数据格式;基于所述标准协议将所述数据源类型转换为目标数据源类型,以及将所述数据格式转换为目标数据格式。
在一个实施例中,所述测试模块903,还用于基于所述接口参数确定测试输入数据以及期望结果数据,所述测试输入数据包括模拟测试数据或真实测试数据;基于所述测试输入数据以及期望结果数据,确定所述测试用例。
在一个实施例中,所述测试模块903,还用于创建真实数据源链,并获取所述真实数据源链的链标识;基于所述链标识以及所述接口参数查询所述目标接口,得到查询结果数据作为所述测试输入数据。
在一个实施例中,所述测试模块903,还用于将所述测试输入数据输入所述目标接口,得到输出数据;判断所述输出数据与所述期望结果数据是否一致;若一致,则确定测试结果正常;若不一致,则确定测试结果异常。
在一个实施例中,所述测试模块903,还用于基于所述接口参数确定测试数据模型以及接口规则;基于所述测试数据模型以及所述接口规则确定所述测试用例。
在一个实施例中,所述接口测试装置900还包括目标接口确定模块,所述目标接口确定模块用于获取接口代码更新信息,所述接口代码更新信息包括本地代码更新信息和/或服务器代码更新信息;基于所述接口代码更新信息确定所述目标接口。
在一个实施例中,所述接口参数包括数据类型、数据长度规则以及数据结构。
上述接口测试装置900中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种接口测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中所述接口测试方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例中所述接口测试方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种接口测试方法,其特征在于,所述方法包括:
基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;
基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;
基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述标准协议确定所述目标接口的接口参数之前,还包括:
确定所述目标接口的数据源类型和数据格式;
基于所述标准协议将所述数据源类型转换为目标数据源类型,以及将所述数据格式转换为目标数据格式。
3.根据权利要求1所述的方法,其特征在于,所述基于所述接口参数确定测试用例包括:
基于所述接口参数确定测试输入数据以及期望结果数据,所述测试输入数据包括模拟测试数据或真实测试数据;
基于所述测试输入数据以及期望结果数据,确定所述测试用例。
4.根据权利要求3所述的方法,其特征在于,所述测试输入数据包括真实测试数据,所述基于所述接口参数确定测试输入数据包括:
创建真实数据源链,并获取所述真实数据源链的链标识;
基于所述链标识以及所述接口参数查询所述目标接口,得到查询结果数据作为所述测试输入数据。
5.根据权利要求3所述的方法,其特征在于,所述基于所述测试用例对所述目标接口进行测试包括:
将所述测试输入数据输入所述目标接口,得到输出数据;
判断所述输出数据与所述期望结果数据是否一致;
若一致,则确定测试结果正常;若不一致,则确定测试结果异常。
6.根据权利要求1所述的方法,其特征在于,所述基于所述接口参数确定测试用例包括:
基于所述接口参数确定测试数据模型以及接口规则;
基于所述测试数据模型以及所述接口规则确定所述测试用例。
7.根据权利要求1所述的方法,其特征在于,在所述基于初始协议与目标接口进行数据交互之前,还包括:
获取接口代码更新信息,所述接口代码更新信息包括本地代码更新信息和/或服务器代码更新信息;
基于所述接口代码更新信息确定所述目标接口。
8.一种接口测试装置,其特征在于,所述装置包括:
数据获取模块,用于基于初始协议与目标接口进行数据交互,获取所述目标接口的反馈数据;
接口参数确定模块,用于基于所述初始协议和所述反馈数据,确定标准协议,并基于所述标准协议确定所述目标接口的接口参数;
测试模块,用于基于所述接口参数确定测试用例,并基于所述测试用例对所述目标接口进行测试。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410204817.4A CN118093396A (zh) | 2024-02-23 | 2024-02-23 | 接口测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410204817.4A CN118093396A (zh) | 2024-02-23 | 2024-02-23 | 接口测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118093396A true CN118093396A (zh) | 2024-05-28 |
Family
ID=91161036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410204817.4A Pending CN118093396A (zh) | 2024-02-23 | 2024-02-23 | 接口测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118093396A (zh) |
-
2024
- 2024-02-23 CN CN202410204817.4A patent/CN118093396A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6720144B2 (ja) | 条件付き検証規則 | |
CN113127347B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN111309734B (zh) | 自动生成表数据的方法及系统 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN114465937A (zh) | 网卡测试方法、装置、服务器、介质和计算机程序产品 | |
CN114385722A (zh) | 接口属性的一致性校验方法、装置、电子设备和存储介质 | |
US9507837B2 (en) | Reference data segmentation from single to multiple tables | |
CN117851484A (zh) | 基于规则引擎的数据处理方法、装置、计算机设备 | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN112860584A (zh) | 基于工作流模型的测试方法及装置 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN111552648A (zh) | 用于应用的自动验证方法和系统 | |
EP3999917A1 (en) | Method and system for generating a digital representation of asset information in a cloud computing environment | |
CN116166533A (zh) | 接口测试方法、装置、终端设备以及存储介质 | |
CN118093396A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN117009972A (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN115599683A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN112506769B (zh) | 基于接口文档的请求体生成方法、装置和计算机设备 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
CN113504912B (zh) | 实时任务的处理方法和装置、存储介质及电子装置 | |
CN116010349B (zh) | 基于元数据的数据检核方法和装置、电子设备和存储介质 | |
CN117850866A (zh) | 一种数据验证测试方法及系统 | |
CN116361149A (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 |