CN117472767A - 软件接口测试方法、装置、设备及存储介质 - Google Patents
软件接口测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117472767A CN117472767A CN202311482252.8A CN202311482252A CN117472767A CN 117472767 A CN117472767 A CN 117472767A CN 202311482252 A CN202311482252 A CN 202311482252A CN 117472767 A CN117472767 A CN 117472767A
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- target
- target interface
- preset
- 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 386
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000011056 performance test Methods 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000007689 inspection Methods 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000010998 test method Methods 0.000 abstract description 2
- 238000011160 research Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 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为本申请的实施例提供的一种软件接口测试方法流程示意图一;
图3为本申请的实施例提供的一种软件接口测试方法流程示意图二;
图4为本申请的实施例提供的一种软件接口测试方法流程示意图三;
图5为本申请的实施例提供的一种软件接口测试方法流程示意图四;
图6为本申请的实施例提供的一种软件接口测试方法流程示例图;
图7为本申请的实施例提供的一种软件接口测试装置结构示意图;
图8为本申请的实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
随着软件开发和应用的不断发展,软件接口的自动化测试、性能测试以及自动巡检已成为检验软件质量的重要环节。目前已有多种实现软件接口测试的方案,即使用开源接口测试工具(例如Postman)进行接口测试,使用压力测试工具(例如JMeter)进行性能测试,使用监控工具进行接口巡检等。但是,这些方案需要相关研发人员进行编写脚本、配置测试参数,才能实现软件接口测试。并且还存在以下问题:
1、由于需要相关研发人员编写接口测试脚本,因此,工作量较大,并且会出现错误。
2、对于存在大量接口或复杂场景的软件,相关研发人员需要耗费大量时间与精力进行测试参数的配置和测试结果的分析。
3、相关研发人员需要根据软件接口的测试结果,人工筛选出需要进行性能测试的接口。并且若未能预先了解待测试接口的性能,还需要耗费大量时间去尝试,才可以确定准确的性能参数,进一步进行准确的性能测试。
4、对于已上线的软件接口,由于需要相关研发人员根据软件编写脚本和人工配置参数,耗费时间较长,因此可能会导致接口未能及时做巡检。
5、接口的自动化测试、性能测试、接口巡检都是分开进行管理、测试的,因此,性能测试和接口巡检可能存在严重的滞后性。
6、完成接口测试或性能测试后,还需要相关研发人员编辑测试报告,无法自动生成相关的测试报告,导致测试效率较低。
本申请实施例提供的一种软件接口测试方法,可以适用于软件接口测试系统。图1示出了该软件接口测试系统的一种结构示意图。如图1所示,软件接口测试系统20包括:电子设备21和数据库22。
电子设备21可以获取存储在数据库22的待测试的目标接口的接口参数,并基于存储在数据库22预设测试样例,生成多个测试用例,然后基于多个测试用例,对目标接口进行测试处理,从而得到多个测试用例中的每个测试用例的测试数据,进一步将多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果进行比较,在比较结果一致的情况下,确定目标接口通过测试,从而生成测试报告。
数据库22可以用于存储待测试的目标接口的接口参数,以及存储预设测试样例。
下面结合附图对本申请实施例提供的一种软件接口测试方法进行描述。如图2所示,本申请实施例提供的一种软件接口测试方法,包括S201-S204:
S201、获取待测试的目标接口的接口参数。
其中,接口参数包括以下至少一项:接口名称、接口请求路径、请求方法和请求参数。
可选的,可以通过能力开放平台获取待测试的目标接口,以及目标接口对应的接口参数。
具体的,获取的目标接口的接口参数中的请求参数包括以下至少一项:请求头信息、请求参数格式和请求字段定义。
可选的,将获取的待测试的目标接口的接口参数存储在配置文件中,为后续接口参数的使用提供便利。
S202、基于接口参数和预设测试样例,生成目标接口对应的多个测试用例。
可选的,预设测试样例可以存放在数据库中。当需要对目标接口进行测试时,从数据库中读取预设测试样例。
示例性的,从数据库中读取预设测试样例,并与能力开放平台上获取的接口参数自动生成测试用例集合,并保存为目标文件,再对目标文件进行解析处理,得到目标接口对应的多个测试用例。
S203、基于多个测试用例,对目标接口进行测试处理,确定多个测试用例中的每个测试用例的测试数据。
其中,测试数据包括以下至少一项:请求信息和响应信息。
可选的,基于多个测试用例中的每个测试用例中的请求路径、请求方法、输入参数等,执行多个测试用例中的每个测试用例,即对目标接口进行多次测试处理,从而确定多个测试用例中的每个测试用例的测试数据。
可选的,测试数据还包括执行结果和错误信息,执行结果用于指示目标接口是否出现异常情况,错误信息用于指示未通过测试的目标接口具体在测试用例中的错误原因和错误结果等。
S204、当多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果一致时,确定目标接口通过测试,生成测试报告。
可以理解,将多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果进行比对,在比对结果一致的情况下,表征目标接口正常,即目标接口通过测试。进一步,基于多个测试用例中的每个测试用例的测试数据生成测试报告,并将测试报告存储在接口配置文件中,用于后续指导相关人员对目标接口的调用。
可选的,在多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果存在不一致的情况下,表征目标接口不不正常,即目标接口未通过测试,进一步生成包含错误信息的测试报告,用于研发人员和测试人员进行目标接口的问题排查和分析。
本申请实施例中,首先获取待测试的目标接口的包括接口名称、接口请求路径、请求方法和请求参数中至少一项的接口参数,再基于接口参数和预设测试样例,生成目标接口对应的多个测试用例。从而通过多个测试用例对目标接口进行测试处理,确定多个测试用例中的每个测试用例的测试数据。然后进一步将多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果进行比较,在比较结果一致的情况下,确定目标接口通过测试,并生成测试报告。通过上述方法,在对目标接口进行接口测试时,可以利用预设测试样例,自动生成多个测试用例,减少对目标接口进行测试时编写的大量编程,从而可以提高对软件接口进行测试的效率、准确性和及时性。
在一种设计中,如图3所示,本申请实施例提供的一种软件接口测试方法,上述方法具体还可以包括步骤S301-S302:
S301、在确定目标接口通过测试的情况下,基于多个测试用例中任一测试用例,对目标接口进行测试处理,得到目标测试结果。
需要说明的是,在确定目标接口通过测试的情况下,需要对目标接口进行自动化巡检,保证目标接口在使用过程中,长期的稳定性。
需要说明的是,由于对目标接口的自动化巡检是由多个测试用例中任一测试用例进行巡检的,因此,无需编写对目标接口的自动化巡检的代码,提高接口测试覆盖率,并且可以快速排查出有问题的接口。
可选的,可以设置自动化巡检的时间间隔,从而每隔一段时间,多个测试用例中任一测试用例对目标接口进行测试处理。
S302、确定目标测试结果包括的响应信息与任一测试用例的预期结果是否一致,得到对目标接口的巡检结果。
其中,巡检结果用于指示目标接口是否出现异常情况。
具体的,根据目标测试结果包括的响应信息与任一测试用例的预期结果进行比对,若比对结果一致,则得到表征目标接口正常的巡检结果;若比对结果不一致,则得到表征目标接口异常的巡检结果。
可选的,在巡检结果为接口异常的情况下,将目标测试结果和错误信息生成测试报告,并将测试报告发送至相关研发人员和测试人员,测试报告用于研发人员对目标接口进行修正。
本申请实施例中,通过对目标接口进行自动化巡检,保证目标接口的稳定性、准确性,并且,通过使用测试用例进行测试处理,无需进行相关脚本的编写,提高了目标接口的测试的效率和及时性。
在一种设计中,如图4所示,本申请实施例提供的一种软件接口测试方法,上述方法具体还可以包括步骤S401-S403:
S401、在确定目标接口通过测试的情况下,基于第一预设参数对目标接口进行性能测试,确定目标接口的性能参数。
其中,第一预设参数包括:数据并发传输量小于预设阈值、数据并发传输的持续时长小于预设时长,性能参数包括以下至少一项:响应时间和成功率。
可选的,在确定目标接口通过测试的情况下,还需要对目标接口进行判断,确定目标接口是否需要进行性能测试。若目标接口为一些简单的、低频使用的接口,则可能不需要进行性能测试;若目标接口为需要大量数据进行处理、数据并发传输量较高或对系统性能要求较高的接口,则需要对目标接口进行性能测试。
需要说明的是,对目标接口基于第一预设参数进行性能测试,是初步确定目标接口是否满足较低的性能标准,在确定目标接口满足较低的性能标准的情况下,再进行较高性能标准的性能测试。
可选的,性能参数还包括:每秒事务处理量(TransactionPerSecond,TPS)、中央处理器(Central Processing Unit,CPU)使用率、内存使用率、磁盘输入、磁盘输出等。
示例性的,可以在性能指标配置模板中设置固定数值的数据并发传输量(例如5个数据并发)和固定数值的数据并发传输的持续时长(例如并发持续传输3分钟)作为第一预设参数,进而对目标接口进行性能测试,确定目标接口的性能参数。
S402、在目标接口的性能参数不满足预设条件的情况下,修改目标接口的接口参数。
可选的,基于目标接口的性能参数,与预设条件进行比较,在目标接口的性能参数不满足预设条件的情况下,即目标接口不能满足较低的性能标准,因此,基于目标接口的性能参数,生成目标接口的测试报告,并,发送至相关研发人员和测试人员,使得研发人员对目标接口进行排查和修正,进而对目标接口的接口参数进行修改,以满足性能要求。
可选的,在研发人员对目标接口的接口参数进行修改后,还需要将目标接口对应的性能标识进行修改,才可以重新进行性能测试。其中,性能标识用于表征目标接口是否需要进行性能测试。
示例性的,若预设条件为平均响应时间小于500ms,成功率为100%,而目标接口的性能参数为平均响应时间600ms,成功率为90%,则不满足预设条件,从而需要对目标接口的接口参数进行修改。
S403、在目标接口的性能参数满足预设条件的情况下,基于第二预设参数对目标接口进行性能测试,确定目标接口的性能参数。
其中,第二预设参数包括:数据并发传输量大于或等于预设阈值、数据并发传输的持续时长大于或等于预设时长。
具体的,在确定目标接口满足较低的性能标准下,进一步加大参数,确定第二预设参数对目标接口进行性能测试。
可选的,第二预设参数中的数据并发传输量是根据业务评估的最大调用量,并取最大调用量的n倍(例如3倍)作为冗余,并作为第二预设参数,从而对目标接口进行性能的压力测试。
示例性的,根据目标接口的业务评估,确定目标接口通常调用的最大值如最大并发为10个,并且取3倍冗余,则设置30个最为第二预设参数,确定目标接口是否可以通过性能的压力测试。
可选的,将确定的目标接口的性能参数,生成测试报告,并发送至相关研发人员和测试人员,用于研发人员对目标接口进行使用和完善修正。
本申请实施例中,将通过测试的目标接口自动筛选出需要进行性能测试的接口,从而根据第一预设参数和第二预设参数对接口进行性能测试,无需人工进行筛选,无需研发人员进一步编写性能测试的脚本,减少研发人员工作量,并且可以及时发现接口的性能问题,进而对接口进行修正。
在一种设计中,如图5所示,本申请实施例提供的一种软件接口测试方法中,上述步骤S202中的方法,具体可以包括步骤S501-S502:
S501、基于接口参数中的请求参数的数据格式和预设测试样例的报文格式,生成测试用例集合,并保存为目标文件。
需要说明的是,从数据库中获取的预设测试样例会根据待测试的目标接口的接口参数,生成满足接口参数中的请求参数的数据格式的测试用例集合,并保存为目标文件。
示例性的,目标文件可以为一个工作表(Excel)文件。其中,Excel文件中包括多行数据,每行数据表征一个测试用例。
S502、解析目标文件,得到多个测试用例。
示例性的,根据Excel文件中存放的测试用例集合,对目标文件可以使用编程工具(Python)中的数据分析模块(pandas)进行解析处理,从而得到多个测试用例,可以进一步对目标接口进行测试处理。
示例性的,如图6所示,为软件接口测试方法流程示例图。首先从能力开放平台获取待测试的接口和接口参数,再通过查询数据库,读取预设测试样例,从而基于接口参数和预设测试样例,生成接口测试用例文件。进一步对接口测试用例文件进行解析处理,得到多个测试用例,并依次执行测试用例。再将多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果进行比较,若比较结果不一致,则表征接口未通过测试,再根据测试数据和错误信息,生成接口测试报告并发送;若比较结果一致,则根据测试数据,生成接口测试报告并发送,进一步记录至已通过测试的接口配置文件中。然后根据设置的自动巡检的时间间隔,通过任一测试用例对接口进行巡检,判断接口是否正常,若测试结果包括的响应信息与任一测试用例的预期结果不一致,则根据测试结果生成巡检测试报告并发送。并且,若接口需要进行性能测试,则从已通过测试的接口配置文件中对接口进行性能测试,判断接口是否满足预设条件,若接口不满足预设条件,则生成性能测试报告并发送至相关研发人员进行排查,并且在需要进一步进行性能测试的情况下,修改性能标识,可再次进行性能测试;若接口满足预设条件,则设置最大调用量的3倍冗余作为第二预设参数,进行性能测试,并确定接口的性能参数,进一步根据性能参数,生成性能测试报告并发送。
本申请实施例中,基于接口参数和预设测试样例,生成满足接口参数中的请求参数的数据格式的测试用例集合,并保存在目标文件中,进一步对目标文件进行解析,从而得到多个测试用例,用于后续接口自动化测试、性能测试以及自动巡检为一体的接口测试方法,可以实现自动编写接口测试脚本,动态筛选接口进行性能测试,以及自动配置接口巡检,并发送响应的测试报告,减少人为工作量,提高测试的效率和系统的稳定性。
本申请提供了一种软件接口测试方法、装置、设备及存储介质,应用于对接口进行测试的场景中。首先获取待测试的目标接口的包括接口名称、接口请求路径、请求方法和请求参数中至少一项的接口参数,再基于接口参数和预设测试样例,生成目标接口对应的多个测试用例。从而通过多个测试用例对目标接口进行测试处理,确定多个测试用例中的每个测试用例的测试数据。然后进一步将多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果进行比较,在比较结果一致的情况下,确定目标接口通过测试,并生成测试报告。通过上述方法,在对目标接口进行接口测试时,可以利用预设测试样例,自动生成多个测试用例,减少对目标接口进行测试时编写的大量编程,从而可以提高对软件接口进行测试的效率、准确性和及时性。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对一种软件接口测试装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图7为本申请实施例提供的一种软件接口测试装置的结构示意图。如图7所示,一种软件接口测试装置100用于提高对软件接口进行测试的效率、准确性和及时性,例如用于执行图2所示的一种软件接口测试方法。该软件接口测试装置100包括:获取单元1001和处理单元1002;
获取单元1001,用于获取待测试的目标接口的接口参数,接口参数包括以下至少一项:接口名称、接口请求路径、请求方法和请求参数;
处理单元1002,用于基于接口参数和预设测试样例,生成目标接口对应的多个测试用例;
处理单元1002,还用于基于多个测试用例,对目标接口进行测试处理,确定多个测试用例中的每个测试用例的测试数据,测试数据包括以下至少一项:请求信息和响应信息;
处理单元1002,还用于当多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果一致时,确定目标接口通过测试,生成测试报告。
在一种可能的实现方式中,在本申请实施例提供的一种软件接口测试装置100中,处理单元1002,还用于在确定目标接口通过测试的情况下,基于多个测试用例中任一测试用例,对目标接口进行测试处理,得到目标测试结果;
处理单元1002,还用于确定目标测试结果包括的响应信息与任一测试用例的预期结果是否一致,得到对目标接口的巡检结果,巡检结果用于指示目标接口是否出现异常情况。
在一种可能的实现方式中,在本申请实施例提供的一种软件接口测试装置100中,处理单元1002,还用于在确定目标接口通过测试的情况下,基于第一预设参数对目标接口进行性能测试,确定目标接口的性能参数,第一预设参数包括:数据并发传输量小于预设阈值、数据并发传输的持续时长小于预设时长,性能参数包括以下至少一项:响应时间和成功率;
处理单元1002,还用于在目标接口的性能参数不满足预设条件的情况下,修改目标接口的接口参数;
处理单元1002,还用于在目标接口的性能参数满足预设条件的情况下,基于第二预设参数对目标接口进行性能测试,确定目标接口的性能参数,第二预设参数包括:数据并发传输量大于或等于预设阈值、数据并发传输的持续时长大于或等于预设时长。
在一种可能的实现方式中,在本申请实施例提供的一种软件接口测试装置100中,处理单元1002,具体用于基于接口参数中的请求参数的数据格式和预设测试样例的报文格式,生成测试用例集合,并保存为目标文件;
处理单元1002,具体用于解析目标文件,得到多个测试用例。
在采用硬件的形式实现上述集成的模块的功能的情况下,本申请实施例提供了上述实施例中所涉及的电子设备的另外一种可能的结构示意图。如图8所示,一种电子设备90,用于提高对软件接口进行测试的效率、准确性和及时性,例如用于执行图2所示的一种软件接口测试方法。该电子设备90包括处理器901,存储器902以及总线903。处理器901与存储器902之间可以通过总线903连接。
处理器901是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器901可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器901可以包括一个或多个CPU,例如图8中所示的CPU 0和CPU 1。
存储器902可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
作为一种可能的实现方式,存储器902可以独立于处理器901存在,存储器902可以通过总线903与处理器901相连接,用于存储指令或者程序代码。处理器901调用并执行存储器902中存储的指令或程序代码时,能够实现本申请实施例提供的一种软件接口测试方法。
另一种可能的实现方式中,存储器902也可以和处理器901集成在一起。
总线903,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外围设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图8示出的结构并不构成对该电子设备90的限定。除图8所示部件之外,该电子设备90可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
作为一个示例,结合图8,电子设备中的获取单元1001和处理单元1002实现的功能与图8中的处理器901的功能相同。
可选的,如图8所示,本申请实施例提供的电子设备90还可以包括通信接口904。
通信接口904,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口904可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
在一种设计中,本申请实施例提供的电子设备中,通信接口还可以集成在处理器中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明。在实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
本申请的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的一种软件接口测试方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。
在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本申请的实施例中的电子设备、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种软件接口测试方法,其特征在于,所述方法包括:
获取待测试的目标接口的接口参数,所述接口参数包括以下至少一项:接口名称、接口请求路径、请求方法和请求参数;
基于所述接口参数和预设测试样例,生成所述目标接口对应的多个测试用例;
基于所述多个测试用例,对所述目标接口进行测试处理,确定所述多个测试用例中的每个测试用例的测试数据,所述测试数据包括以下至少一项:请求信息和响应信息;
当所述多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果一致时,确定所述目标接口通过测试,生成测试报告。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述目标接口通过测试的情况下,基于所述多个测试用例中任一测试用例,对所述目标接口进行测试处理,得到目标测试结果;
确定所述目标测试结果包括的响应信息与所述任一测试用例的预期结果是否一致,得到对所述目标接口的巡检结果,所述巡检结果用于指示所述目标接口是否出现异常情况。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在确定所述目标接口通过测试的情况下,基于第一预设参数对所述目标接口进行性能测试,确定所述目标接口的性能参数,所述第一预设参数包括:数据并发传输量小于预设阈值、数据并发传输的持续时长小于预设时长,所述性能参数包括以下至少一项:响应时间和成功率;
在所述目标接口的性能参数不满足预设条件的情况下,修改所述目标接口的接口参数;
在所述目标接口的性能参数满足所述预设条件的情况下,基于第二预设参数对所述目标接口进行性能测试,确定所述目标接口的性能参数,所述第二预设参数包括:数据并发传输量大于或等于所述预设阈值、数据并发传输的持续时长大于或等于所述预设时长。
4.根据权利要求1或2所述的方法,其特征在于,所述基于所述接口参数和预设测试样例,生成所述目标接口对应的多个测试用例,包括:
基于所述接口参数中的请求参数的数据格式和所述预设测试样例的报文格式,生成测试用例集合,并保存为目标文件;
解析所述目标文件,得到所述多个测试用例。
5.一种软件接口测试装置,其特征在于,所述软件接口测试装置包括:获取单元和处理单元;
所述获取单元,用于获取待测试的目标接口的接口参数,所述接口参数包括以下至少一项:接口名称、接口请求路径、请求方法和请求参数;
所述处理单元,用于基于所述接口参数和预设测试样例,生成所述目标接口对应的多个测试用例;
所述处理单元,还用于基于所述多个测试用例,对所述目标接口进行测试处理,确定所述多个测试用例中的每个测试用例的测试数据,所述测试数据包括以下至少一项:请求信息和响应信息;
所述处理单元,还用于当所述多个测试用例中的每个测试用例的测试数据包括的响应信息与对应的预期结果一致时,确定所述目标接口通过测试,生成测试报告。
6.根据权利要求5所述的软件接口测试装置,其特征在于,所述处理单元,还用于在确定所述目标接口通过测试的情况下,基于所述多个测试用例中任一测试用例,对所述目标接口进行测试处理,得到目标测试结果;
所述处理单元,还用于确定所述目标测试结果包括的响应信息与所述任一测试用例的预期结果是否一致,得到对所述目标接口的巡检结果,所述巡检结果用于指示所述目标接口是否出现异常情况。
7.根据权利要求5或6所述的软件接口测试装置,其特征在于,所述处理单元,还用于在确定所述目标接口通过测试的情况下,基于第一预设参数对所述目标接口进行性能测试,确定所述目标接口的性能参数,所述第一预设参数包括:数据并发传输量小于预设阈值、数据并发传输的持续时长小于预设时长,所述性能参数包括以下至少一项:响应时间和成功率;
所述处理单元,还用于在所述目标接口的性能参数不满足预设条件的情况下,修改所述目标接口的接口参数;
所述处理单元,还用于在所述目标接口的性能参数满足所述预设条件的情况下,基于第二预设参数对所述目标接口进行性能测试,确定所述目标接口的性能参数,所述第二预设参数包括:数据并发传输量大于或等于所述预设阈值、数据并发传输的持续时长大于或等于所述预设时长。
8.根据权利要求5或6所述的软件接口测试装置,其特征在于,所述处理单元,具体用于基于所述接口参数中的请求参数的数据格式和所述预设测试样例的报文格式,生成测试用例集合,并保存为目标文件;
所述处理单元,具体用于解析所述目标文件,得到所述多个测试用例。
9.一种电子设备,其特征在于,包括:处理器以及存储器;其中,所述存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当所述电子设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述电子设备执行权利要求1-4中任一项所述的一种软件接口测试方法。
10.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如权利要求1-4中任一项所述的一种软件接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482252.8A CN117472767A (zh) | 2023-11-08 | 2023-11-08 | 软件接口测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482252.8A CN117472767A (zh) | 2023-11-08 | 2023-11-08 | 软件接口测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472767A true CN117472767A (zh) | 2024-01-30 |
Family
ID=89637643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311482252.8A Pending CN117472767A (zh) | 2023-11-08 | 2023-11-08 | 软件接口测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472767A (zh) |
-
2023
- 2023-11-08 CN CN202311482252.8A patent/CN117472767A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN108427613B (zh) | 异常接口定位方法、装置、计算机设备和存储介质 | |
CN112115005B (zh) | 测试数据采集方法、装置、计算机设备和存储介质 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN110287104A (zh) | 测试用例生成方法、装置、终端及计算机可读存储介质 | |
CN114839464B (zh) | 一种指数寿命型产品的快速检验方法、系统、设备及终端 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN111611154B (zh) | 一种回归测试的方法、装置和设备 | |
CN117391306A (zh) | 国土空间规划成果审查方法、装置、设备以及存储介质 | |
CN105653455A (zh) | 一种程序漏洞的检测方法及检测系统 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN111767218A (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
CN111767210A (zh) | 策略测试方法、装置、计算机设备和存储介质 | |
CN117472767A (zh) | 软件接口测试方法、装置、设备及存储介质 | |
CN113434405B (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
CN113886116A (zh) | 数据质量校验方法、装置、计算机设备和存储介质 | |
CN113886262A (zh) | 软件自动化测试方法、装置、计算机设备和存储介质 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN113986753A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN113297092A (zh) | 软件的缺陷预测方法及相关设备 | |
CN112860562A (zh) | 自动化测试方法和装置 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 |
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 |