CN117591402A - 一种接口测试方法、设备及存储介质 - Google Patents
一种接口测试方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117591402A CN117591402A CN202311533379.8A CN202311533379A CN117591402A CN 117591402 A CN117591402 A CN 117591402A CN 202311533379 A CN202311533379 A CN 202311533379A CN 117591402 A CN117591402 A CN 117591402A
- Authority
- CN
- China
- Prior art keywords
- interface
- parameters
- test
- input parameters
- parameter
- 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 297
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种接口测试方法、设备及存储介质。在该方法中,可从接口日志信息中获取多个接口输入参数和多个接口返回参数,并筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例,并利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。通过这种方式,可根据接口日志信息较为高效地生成测试用例并对多个接口进行测试。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种接口测试方法、设备及存储介质。
背景技术
目前,用户在使用终端设备上的应用程序时,往往需要较频繁地调用相关的接口。因此,对于应用程序的开发人员来说,对接口进行较为高效地测试以保证接口的可用性,显得尤为重要。
现有技术中,开发人员在对接口进行测试时需要预先对测试用例进行模拟,得到多个测试用例,再利用模拟到的多个测试用例对接口进行测试。但是,这种方式往往需要耗费较大的人力资源,且测试效率较低。
因此,亟待提出一种解决方案。
发明内容
本申请的多个方面提供一种接口测试方法、设备及存储介质,用以较为高效地对接口进行测试。
本实施例提供一种接口测试方法,包括:获取接口日志信息,所述接口日志信息用于描述多个接口被调用的情况,所述接口日志信息至少包括:多个接口输入参数和多个接口返回参数;接口输入参数与接口返回参数一一对应;从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据所述多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例;任一个测试用例包括:任一个第二接口输入参数以及与所述第二接口输入参数对应的第一接口返回参数;利用所述多个测试用例中的多个目标测试用例对所述多个接口进行测试,得到接口测试结果。
进一步可选地,从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数,包括:计算所述多个接口输入参数中的任意两个接口输入参数之间的特征相似度;若所述特征相似度高于相似度阈值,则将所述任意两个接口输入参数中的任一个接口输入参数和对应的接口返回参数,作为符合所述预设条件的第一接口输入参数和第一接口返回参数。
进一步可选地,从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数,包括:获取历史接口日志信息,所述历史接口日志信息至少包括:历史时刻测试过的多个历史接口输入参数和多个历史接口返回参数;历史接口输入参数与历史接口返回参数一一对应;从所述多个接口输入参数和多个接口返回参数中,将参数特征与所述多个历史接口输入参数和多个历史接口返回参数不同的接口输入参数和接口返回参数作为符合所述预设条件的多个第一接口输入参数和多个第一接口返回参数。
进一步可选地,利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数,包括:利用所述参数调整规则,将所述多个第一接口输入参数中的任一个可变参数替换为与所述可变参数对应的预设参数;所述可变参数包括:随机数、时间戳、余额数和订单序号;将所述多个第一接口输入参数中的可变参数各自对应的预设参数以及所述多个第一接口输入参数中的不可变参数,作为所述多个第二接口输入参数。
进一步可选地,利用所述多个测试用例中的目标测试用例对所述多个接口进行测试,得到接口测试结果,包括:利用测试功能模块,识别所述多个测试用例各自的用例运行信息;所述测试功能模块包括:多行测试代码;所述用例运行信息包括:覆盖的测试代码所在行和覆盖的测试代码总行数;根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例;利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果。
进一步可选地,根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例,包括:针对任一个测试用例,判断所述测试用例覆盖的测试代码所在行是否包含于其他测试用例覆盖的测试代码所在行,若为否,则将所述测试用例作为目标测试用例;和/或,判断所述测试用例覆盖的测试代码总行数是否小于预设的行数阈值,若为否,则将所述测试用例作为目标测试用例。
进一步可选地,利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果,包括:针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为可变参数对应的预设参数时,将所述预设参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数类型和/或参数长度是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
进一步可选地,利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果,包括:针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为不可变参数时,将所述第二接口输入参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数值是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
本申请实施例还提供一种电子设备,包括:存储器和处理器;其中,所述存储器用于:存储一个或多个计算机指令;所述处理器用于执行所述一个或多个计算机指令,以用于:执行所述接口测试方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现所述接口测试方法中的步骤。
在本实施例中,可从接口日志信息中获取多个接口输入参数和多个接口返回参数,并筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例,并利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。通过这种方式,可根据接口日志信息较为高效地生成测试用例并对多个接口进行测试。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的接口测试方法的流程示意图;
图2为本申请一示例性实施例提供的电子设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,开发人员在对接口进行测试时需要预先对测试用例进行模拟,得到多个测试用例,再利用模拟到的多个测试用例对接口进行测试。但是,这种方式往往需要耗费较大的人力资源,且测试效率较低。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种接口测试方法的流程示意图,如图1所示,该方法包括:
步骤11、获取接口日志信息,接口日志信息用于描述多个接口被调用的情况,接口日志信息至少包括:多个接口输入参数和多个接口返回参数;接口输入参数与接口返回参数一一对应。
步骤12、从多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数。
步骤13、利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数。
步骤14、根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例;任一个测试用例包括:任一个第二接口输入参数以及与第二接口输入参数对应的第一接口返回参数。
步骤15、利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。
本实施例可由电子设备执行,电子设备包括但不限于:手机、平板电脑、计算机和服务器等,本实施例不做限制。
在本实施例中,电子设备可获取接口日志信息。该接口日志信息可用于描述多个接口被调用的情况。需要说明的是,用户在使用终端上的应用程序时,会调用到应用程序的各个接口,与该应用程序相连接的服务器侧会记录这些接口被调用的情况,比如,服务器可记录每个接口的接口输入参数和接口输出参数。结合场景进行说明,当用户想要查看地图时可对应用程序提供的应用界面进行点击,此时接口输入参数即为需要查看的地图的标识,接口输出参数即为与该标识对应的地图。
其中,电子设备可从线上(即服务器中)获取接口日志信息,接口日志信息可至少包括:多个接口输入参数和多个接口返回参数。接口输入参数与接口返回参数一一对应。比如,接口日志信息可接口输入参数N1和接口返回参数M1(两者相对应),接口输入参数N2和接口返回参数M2(两者相对应)。需要说明的是,多个接口可各自对应一组或多组接口输入参数和接口返回参数。
之后,电子设备可从多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数。其中,多个接口输入参数和多个接口返回参数中可能存在完全相同或者相似度较高的接口输入参数,而基于这些重复接口输入参数生成的测试用例会较为冗余,且会降低测试效率。因此,此步骤旨在对参数进行筛选优化,从而对参数进行精简。比如,用户想要查看地图,并于某个时刻重复了发送了两个地图查看指令,这种情况下,两个地图查看指令可视为重复的接口输入参数,因此需要对两个接口输入参数进行筛选,从而降低后续生成的用例数量,降低电子设备的测试负载。
完成筛选之后,电子设备可利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数。其中,参数调整规则可由开发人员自定义设置。其中,使用“第一”和“第二”仅用于对不同的接口输入参数进行区分,并不对接口输入参数的类型和参数值等进行限定。
基于前述步骤,电子设备可根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例。其中,电子设备可获取预设的测试功能模块,利用该测试功能模块,根据多个第二接口输入参数和多个第一接口返回参数生成多个测试用例。具体地,测试功能模块可实现为多行测试代码的形式,用例生成模块可用于向接口发送接口输入参数并接收接口返回的接口返回参数。基于此,电子设备可利用测试功能模块,将多个第二接口输入参数和多个第一接口返回参数填充到多行代码中的对应位置,得到多个测试用例。
比如,任一个测试用例包括:任一个第二接口输入参数以及与所述第二接口输入参数对应的第一接口返回参数。沿用前述例子进行举例,测试用例K1可包括接口输入参数N1和接口返回参数M1,测试用例K2可包括接口输入参数N2和接口返回参数M2。
之后,电子设备可利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。
在本实施例中,可从接口日志信息中获取多个接口输入参数和多个接口返回参数,并筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例,并利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。通过这种方式,可根据接口日志信息较为高效地生成测试用例并对多个接口进行测试。
在一些可选的实施例中,电子设备在执行上述步骤12“从多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数”时,可基于以下实施方式实现:
实施方式一:电子设备可计算多个接口输入参数中的任意两个接口输入参数之间的特征相似度。其中,电子设备可利用MD5信息摘要算法(MD5Message-Digest Algorithm),计算任意两个接口输入参数的MD5值。通过比对任意两个接口输入参数的MD5值之间的相似度,即可得到任意两个接口输入参数之间的特征相似度。若特征相似度高于相似度阈值,则电子设备可将任意两个接口输入参数中的任一个接口输入参数和对应的接口返回参数,作为符合预设条件的第一接口输入参数和第一接口返回参数。
实施方式二:电子设备可获取历史接口日志信息,其中,历史接口日志信息区别于前述的“接口日志信息”,接口日志信息指的是当前测试任务对应的时段内的接口日志信息,比如,历史接口日志信息指的是历史测试任务对应的历史时段内的接口日志信息。历史接口日志信息可至少包括:历史时刻测试过的多个历史接口输入参数和多个历史接口返回参数,历史接口输入参数与历史接口返回参数一一对应。之后,电子设备可从多个接口输入参数和多个接口返回参数中,将参数特征与多个历史接口输入参数和多个历史接口返回参数不同的接口输入参数和接口返回参数,作为符合预设条件的多个第一接口输入参数和多个第一接口返回参数。也就是说,此步骤旨在从多个接口输入参数和多个接口返回参数中排除掉历史时刻测试过的接口输入参数和接口返回参数。
需要说明的是,以上两个实施方式可单独执行,也可组合执行,本实施例不做限制。
需要说明的是,多个第一接口输入参数中的任一个第一接口输入参数可为可变参数或者不可变参数。其中,可变参数指的是在用户调用接口的过程中会动态变化的参数,可变参数可包括:随机数、时间戳、余额数和订单序号。结合场景进行说明,用户访问某个接口时,接口接收到的接口输入参数可能为一些随机数,且这些随机数是动态变化的。或者,用户在不同时刻访问某个接口时,接口接收到的接口输入参数中的时间戳也是动态变化的,也是不同的。对应地,不可变参数指的是在用户调用接口的过程中不会动态变化的参数,比如用户身份信息和用户设备状态信息等等。
基于上述内容,在一些可选的实施例中,电子设备在执行步骤13“利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数”时,可基于以下步骤实现:
步骤131、利用参数调整规则,将多个第一接口输入参数中的任一个可变参数替换为与可变参数对应的预设参数。其中,不同类型的可变参数可对应不同的预设参数,比如,时间戳可对应预设参数1,随机数可对应预设参数2。此步骤旨在将这些可变参数统一调整为不可变的预设参数。
步骤132、将多个第一接口输入参数中的可变参数各自对应的预设参数以及多个第一接口输入参数中的不可变参数,作为多个第二接口输入参数。
通过这种方式,电子设备可将多个第一接口输入参数中的可变参数统一调整为不可变的预设参数,得到多个第二接口输入参数。
在一些可选的实施例中,电子设备在执行步骤15“利用多个测试用例中的目标测试用例对多个接口进行测试,得到接口测试结果”时,具体用于:
步骤151、利用测试功能模块,识别多个测试用例各自的用例运行信息;测试功能模块包括:多行测试代码;用例运行信息包括:覆盖的测试代码所在行和覆盖的测试代码总行数。其中,测试功能模块为预设的模块,用于对测试用例的用例运行信息进行分析。电子设备可利用测试功能模块,确定每个测试用例在执行时会执行多行测试代码中的哪一行,也就是说,测试功能模块可确定测试用例覆盖的测试代码所在行。除此之外,测试功能模块还可确定测试用例覆盖的测试代码总行数。
步骤152、根据多个测试用例各自的用例运行信息,从多个测试用例中选取多个目标测试用例。
具体地,上述步骤152可基于以下实施方式实现:
实施方式三、针对任一个测试用例,判断测试用例覆盖的测试代码所在行是否包含于其他测试用例覆盖的测试代码所在行,若为否,则将测试用例作为目标测试用例。比如,针对测试用例K1,测试用例K1覆盖的测试代码所在行为第1行-第10行,其他的测试用例覆盖的测试代码所在行分别为第11行-第50行和第51行-第55行,那么测试用例K1覆盖的测试代码所在行未包含于其他测试用例覆盖的测试代码所在行,那么电子设备可将测试用例K1作为目标测试用例。再比如,测试用例K2覆盖的测试代码所在行为第1行-第10行,其他的测试用例覆盖的测试代码所在行分别为第1行-第50行和第51行-第55行,那么测试用例K1覆盖的测试代码所在行包含于其他测试用例覆盖的测试代码所在行,那么电子设备不可将测试用例K1作为目标测试用例。
实施方式四、判断测试用例覆盖的测试代码总行数是否小于预设的行数阈值,若为否,则将测试用例作为目标测试用例。其中,行数阈值可根据设计需求自定义设置,本实施例不做限制。
需要说明的是,以上实施方式三和实施方式四可单独执行,也可组合执行,本实施例不做限制。
步骤153、利用多个目标测试用例对多个接口进行测试,得到接口测试结果。
具体地,上述步骤153可基于实施方式实现:
实施方式五、针对任一个目标测试用例,电子设备可在目标测试用例包括的第二接口输入参数为可变参数对应的预设参数时,将预设参数输入到对应的接口以对接口进行测试,得到接口返回的返回参数。对比返回参数和目标测试用例包括的第一接口返回参数之间的参数类型或参数长度是否相同,若为是,则接口处于正常状态,若为否,则接口处于异常状态。除此之外,电子设备还可对比返回参数和目标测试用例包括的第一接口返回参数之间的参数类型和参数长度是否相同,若参数类型和参数长度全都相同,则接口处于正常状态,若参数类型和参数长度不都相同,则接口处于异常状态。其中,参数类型可为列表、元组、字典、集合、字符、字符串和数字等等。
需要说明的是,正如前文所说,可变参数是动态变化,对基于可变参数得到的返回参数进行具体值的对比,无法较为准确地对接口状态进行测试。基于上述考虑,前文中将可变参数替换为预设参数,并在此步骤中对返回参数进行参数类型和参数长度的对比,从而可较为准确地对接口状态进行测试。
实施方式六、针对任一个目标测试用例,在目标测试用例包括的第二接口输入参数为不可变参数时,将第二接口输入参数输入到对应的接口以对接口进行测试,得到接口返回的返回参数。对比返回参数和目标测试用例包括的第一接口返回参数之间的参数值是否相同,若为是,则接口处于正常状态,若为否,则接口处于异常状态。
其中,实施方式六区别于前述的实施方式五,由于不可变参数是不会动态变化的参数,因此电子设备可对比返回参数和目标测试用例包括的第一接口返回参数之间的参数值,从而较为准确地对接口状态进行测试。
基于上述步骤151-步骤153,电子设备可利用多个目标测试用例较为准确地对多个接口进行测试,得到接口测试结果。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤11至步骤15的执行主体可以为设备A;又比如,步骤11和12的执行主体可以为设备A,步骤13-15的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如11、12等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图2是本申请一示例性实施例提供的电子设备的结构示意图,该电子设备适用于前述实施例提供的接口测试方法。如图2所示,该电子设备包括:存储器201、处理器202、显示组件203以及通信组件204。
存储器201,用于存储计算机程序,并可被配置为存储其它各种数据以支持在终端设备上的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
在一些实施例中,处理器202,与存储器201耦合,用于执行存储器201中的计算机程序,以用于:获取接口日志信息,所述接口日志信息用于描述多个接口被调用的情况,所述接口日志信息至少包括:多个接口输入参数和多个接口返回参数;接口输入参数与接口返回参数一一对应;从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据所述多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例;任一个测试用例包括:任一个第二接口输入参数以及与所述第二接口输入参数对应的第一接口返回参数;利用所述多个测试用例中的多个目标测试用例对所述多个接口进行测试,得到接口测试结果。
进一步可选地,处理器202从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数时,具体用于:计算所述多个接口输入参数中的任意两个接口输入参数之间的特征相似度;若所述特征相似度高于相似度阈值,则将所述任意两个接口输入参数中的任一个接口输入参数和对应的接口返回参数,作为符合所述预设条件的第一接口输入参数和第一接口返回参数。
进一步可选地,处理器202从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数时,具体用于:获取历史接口日志信息,所述历史接口日志信息至少包括:历史时刻测试过的多个历史接口输入参数和多个历史接口返回参数;历史接口输入参数与历史接口返回参数一一对应;从所述多个接口输入参数和多个接口返回参数中,将参数特征与所述多个历史接口输入参数和多个历史接口返回参数不同的接口输入参数和接口返回参数作为符合所述预设条件的多个第一接口输入参数和多个第一接口返回参数。
进一步可选地,处理器202利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数时,具体用于:利用所述参数调整规则,将所述多个第一接口输入参数中的任一个可变参数替换为与所述可变参数对应的预设参数;所述可变参数包括:随机数、时间戳、余额数和订单序号;将所述多个第一接口输入参数中的可变参数各自对应的预设参数以及所述多个第一接口输入参数中的不可变参数,作为所述多个第二接口输入参数。
进一步可选地,处理器202利用所述多个测试用例中的目标测试用例对所述多个接口进行测试,得到接口测试结果时,具体用于:利用测试功能模块,识别所述多个测试用例各自的用例运行信息;所述测试功能模块包括:多行测试代码;所述用例运行信息包括:覆盖的测试代码所在行和覆盖的测试代码总行数;根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例;利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果。
进一步可选地,处理器202根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例时,具体用于:针对任一个测试用例,判断所述测试用例覆盖的测试代码所在行是否包含于其他测试用例覆盖的测试代码所在行,若为否,则将所述测试用例作为目标测试用例;和/或,判断所述测试用例覆盖的测试代码总行数是否小于预设的行数阈值,若为否,则将所述测试用例作为目标测试用例。
进一步可选地,处理器202利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果时,具体用于:针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为可变参数对应的预设参数时,将所述预设参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数类型和/或参数长度是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
进一步可选地,处理器202利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果时,具体用于:针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为不可变参数时,将所述第二接口输入参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数值是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
图2中仅示意性给出部分组件,并不意味着电子设备只包括图2所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
在本实施例中,可从接口日志信息中获取多个接口输入参数和多个接口返回参数,并筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;利用预设的参数调整规则,对多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;根据多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例,并利用多个测试用例中的多个目标测试用例对多个接口进行测试,得到接口测试结果。通过这种方式,可根据接口日志信息较为高效地生成测试用例并对多个接口进行测试。
其中,显示组件203包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图2中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图2中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种接口测试方法,其特征在于,包括:
获取接口日志信息,所述接口日志信息用于描述多个接口被调用的情况,所述接口日志信息至少包括:多个接口输入参数和多个接口返回参数;接口输入参数与接口返回参数一一对应;
从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数;
利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数;
根据所述多个第二接口输入参数和多个第一接口返回参数,生成多个测试用例;任一个测试用例包括:任一个第二接口输入参数以及与所述第二接口输入参数对应的第一接口返回参数;
利用所述多个测试用例中的多个目标测试用例对所述多个接口进行测试,得到接口测试结果。
2.根据权利要求1所述的方法,其特征在于,从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数,包括:
计算所述多个接口输入参数中的任意两个接口输入参数之间的特征相似度;
若所述特征相似度高于相似度阈值,则将所述任意两个接口输入参数中的任一个接口输入参数和对应的接口返回参数,作为符合所述预设条件的第一接口输入参数和第一接口返回参数。
3.根据权利要求1所述的方法,其特征在于,从所述多个接口输入参数和多个接口返回参数中,筛选出符合预设条件的多个第一接口输入参数和多个第一接口返回参数,包括:
获取历史接口日志信息,所述历史接口日志信息至少包括:历史时刻测试过的多个历史接口输入参数和多个历史接口返回参数;历史接口输入参数与历史接口返回参数一一对应;
从所述多个接口输入参数和多个接口返回参数中,将参数特征与所述多个历史接口输入参数和多个历史接口返回参数不同的接口输入参数和接口返回参数作为符合所述预设条件的多个第一接口输入参数和多个第一接口返回参数。
4.根据权利要求1所述的方法,其特征在于,利用预设的参数调整规则,对所述多个第一接口输入参数进行参数调整,得到多个第二接口输入参数,包括:
利用所述参数调整规则,将所述多个第一接口输入参数中的任一个可变参数替换为与所述可变参数对应的预设参数;所述可变参数包括:随机数、时间戳、余额数和订单序号;
将所述多个第一接口输入参数中的可变参数各自对应的预设参数以及所述多个第一接口输入参数中的不可变参数,作为所述多个第二接口输入参数。
5.根据权利要求4所述的方法,其特征在于,利用所述多个测试用例中的目标测试用例对所述多个接口进行测试,得到接口测试结果,包括:
利用测试功能模块,识别所述多个测试用例各自的用例运行信息;所述测试功能模块包括:多行测试代码;所述用例运行信息包括:覆盖的测试代码所在行和覆盖的测试代码总行数;
根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例;
利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果。
6.根据权利要求5所述的方法,其特征在于,根据所述多个测试用例各自的用例运行信息,从所述多个测试用例中选取多个目标测试用例,包括:
针对任一个测试用例,判断所述测试用例覆盖的测试代码所在行是否包含于其他测试用例覆盖的测试代码所在行,若为否,则将所述测试用例作为目标测试用例;和/或,
判断所述测试用例覆盖的测试代码总行数是否小于预设的行数阈值,若为否,则将所述测试用例作为目标测试用例。
7.根据权利要求5所述的方法,其特征在于,利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果,包括:
针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为可变参数对应的预设参数时,将所述预设参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;
对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数类型和/或参数长度是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
8.根据权利要求5所述的方法,其特征在于,利用所述多个目标测试用例对所述多个接口进行测试,得到所述接口测试结果,包括:
针对任一个目标测试用例,在所述目标测试用例包括的第二接口输入参数为不可变参数时,将所述第二接口输入参数输入到对应的接口以对所述接口进行测试,得到所述接口返回的返回参数;
对比所述返回参数和所述目标测试用例包括的第一接口返回参数之间的参数值是否相同,若为是,则所述接口处于正常状态,若为否,则所述接口处于异常状态。
9.一种电子设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于:存储一个或多个计算机指令;所述处理器用于执行所述一个或多个计算机指令,以用于:执行权利要求1-8中任一项所述方法中的步骤。
10.一种计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-8中任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311533379.8A CN117591402A (zh) | 2023-11-16 | 2023-11-16 | 一种接口测试方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311533379.8A CN117591402A (zh) | 2023-11-16 | 2023-11-16 | 一种接口测试方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117591402A true CN117591402A (zh) | 2024-02-23 |
Family
ID=89914332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311533379.8A Pending CN117591402A (zh) | 2023-11-16 | 2023-11-16 | 一种接口测试方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591402A (zh) |
-
2023
- 2023-11-16 CN CN202311533379.8A patent/CN117591402A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017083207A1 (en) | Digital assistant setting up device | |
CN108874672B (zh) | 应用程序异常定位方法、装置、设备及存储介质 | |
CN112346965B (zh) | 测试用例分配方法、装置及存储介质 | |
US11436188B2 (en) | Resource optimization and update method, server, and device | |
CN113268243B (zh) | 内存预测方法及装置、存储介质、电子设备 | |
CN107391362A (zh) | 应用测试方法、移动终端及存储介质 | |
CN114490375B (zh) | 应用程序的性能测试方法、装置、设备及存储介质 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN112799953A (zh) | 一种接口测试方法及装置、计算机设备及存储介质 | |
CN108509348A (zh) | 一种***老化的测试方法及移动终端 | |
CN110046100B (zh) | 一种分组测试的方法、电子设备及介质 | |
CN109189677B (zh) | 一种针对变量数值更新状态的测试方法及装置 | |
CN109542775B (zh) | 一种测试脚本的生成和执行方法及装置 | |
CN117591402A (zh) | 一种接口测试方法、设备及存储介质 | |
CN109271453B (zh) | 一种数据库容量的确定方法和装置 | |
CN112346761B (zh) | 前端资源上线方法、设备、***及存储介质 | |
US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
CN110968377A (zh) | 界面显示的处理方法及装置 | |
CN114168183A (zh) | 前端资源信息处理方法、装置、设备及存储介质 | |
CN107562599A (zh) | 一种参数检测方法及装置 | |
CN112069057A (zh) | 代码测试方法、设备、装置及存储介质 | |
CN118210712A (zh) | 压力测试方法、装置、电子设备和存储介质 | |
CN111382037B (zh) | 应用性能管理信息的展示方法及装置、设备、存储介质 | |
CN113392010B (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 |