CN111324540B - 一种接口测试方法及装置 - Google Patents
一种接口测试方法及装置 Download PDFInfo
- Publication number
- CN111324540B CN111324540B CN202010136196.2A CN202010136196A CN111324540B CN 111324540 B CN111324540 B CN 111324540B CN 202010136196 A CN202010136196 A CN 202010136196A CN 111324540 B CN111324540 B CN 111324540B
- Authority
- CN
- China
- Prior art keywords
- interface
- tested
- script
- result
- 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.)
- Active
Links
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
-
- 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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种接口测试方法及装置,其中方法包括:获取与待测接口对应的脚本;通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;获取所述待测接口对测试参数进行处理后得到的执行结果;通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果。通过本实施例中的方法,可以将生成测试参数与预期结果的脚本与各个接口一一对应,所以各请求之间不会互相影响,非常灵活;且测试参数与预期结果之间的生成规则在通过脚本进行指定之后,可以免除研发人员与测试人员之间的测试需求上的沟通,可以减少文档编写、沟通上的成本,使得测试更加便利。
Description
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种接口测试方法及装置。
背景技术
测试人员在测试不同接口中参数无法复用,导致测试过程繁琐,任务加剧,并且页面测试工程师由于不熟悉接口测试无法进行测试工作造成人力的浪费。
相关技术中,一般有两种方式解决参数复用:
1)根据文档约定。需要生成默认值的接口在文档上进行注明,然后程序根据文档上的说明生成指定接口的默认值;而没有注明的接口则不生成。
2)需要生成默认值的接口对应在数据库中存入一个标识,程序读到这个标识的时候根据一定规则生成默认值(这里的规则也需要进行文档或口头约定)。
相关技术中存在如下问题:
1)根据文档或口头约定,增加了沟通成本;
2)如果要求生成的默认值变了,需要修改程序代码,会带来大量的测试及研发成本,也会加大引入bug风险。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种接口测试方法及装置。
第一方面,本申请提供了一种接口测试方法,包括:
获取与待测接口对应的脚本;
通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;
获取所述待测接口对测试参数进行处理后得到的执行结果;
通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果。
可选的,如前述的接口测试方法,所述获取与待测接口对应的脚本,包括:
获取预先建立的脚本数据库中的候选脚本与接口之间的对应关系;
根据所述对应关系在所述脚本数据库中匹配得到与所述待测接口对应的脚本。
可选的,如前述的接口测试方法,还包括:
当在所述脚本数据库中未匹配得到与所述待测接口对应的脚本时,生成用于对所述待测接口进行测试的随机参数;
获取将所述随机参数输入所述待测接口得到的随机参数执行结果。
可选的,如前述的接口测试方法,还包括:
确定发生变化的变更接口;
根据所述对应关系在所述脚本数据库中匹配得到与所述变更接口对应的待变更脚本;
确定与所述变更接口对应的用于生成所述测试参数与预期结果的新生成规则;
根据所述新生成规则对所述待变更脚本进行更改,得到更新后的新脚本数据库。
可选的,如前述的接口测试方法,所述通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果,包括:
获取将多个所述测试参数输入所述待测接口后分别得到的比对结果;其中,所述比对结果用于表征所述预期结果与所述执行结果是否一致;
根据多个所述比对结果得到所述待测接口对所述测试参数进行处理后的成功率;
当所述成功率在预设的第一成功率区间内时,判断所述待测接口的测试结果为通过;
当所述成功率不在所述第一成功率区间内时,判断所述待测接口的测试结果为未通过。
可选的,如前述的接口测试方法,在根据多个所述比对结果得到所述待测接口对所述测试参数进行处理后的成功率之后,还包括:
当所述成功率不在预设的第二成功率区间内时,对所述脚本中用于生成所述测试参数与预期结果的生成规则进行校验,得到校验结果;
当所述校验结果判定所述生成规则与所述待测接口不符时,对所述脚本进行更改;
当所述校验结果判定所述生成规则与所述待测接口相符时,判断所述待测接口的测试结果为未通过。
可选的,如前述的接口测试方法,还包括:
接收对所述脚本进行操作的操作信息;
根据所述操作信息在所述脚本数据库中对所述脚本进行对应的处理,得到修改后脚本。
可选的,如前述的接口测试方法,所述通过所述脚本生成与所述待测接口对应的测试参数与预期结果,包括:
根据所述脚本确定与所述待测接口对应的参数生成策略,所述参数生成策略与所述待测接口对参数的预设处理逻辑对应;
根据所述参数生成策略生成相互对应的所述测试参数与预期结果。
第二方面,本申请提供了一种接口测试装置,包括:
第一获取模块,用于获取与待测接口对应的脚本;
生成模块,用于通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;
第二获取模块,用于获取所述待测接口对测试参数进行处理后得到的执行结果;
测试模块,用于通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果。
第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的接口测试方法。
第四方面,本申请提供了一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前述任一项所述的接口测试方法。
本申请实施例提供一种接口测试方法及装置,其中方法包括:获取与待测接口对应的脚本;通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;获取所述待测接口对测试参数进行处理后得到的执行结果;通过所述预期结果与所述执行结果之间的一致性得到所述待测接口的测试结果。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过本实施例中的方法,可以将生成测试参数与预期结果的脚本与各个接口一一对应,所以各请求之间不会互相影响,非常灵活;且测试参数与预期结果之间的生成规则在通过脚本进行指定之后,可以免除研发人员与测试人员之间的测试需求上的沟通,可以减少文档编写、沟通上的成本,使得测试更加便利。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种接口测试方法的流程示意图;
图2为本申请另一种实施例提供的一种接口测试方法的流程示意图;
图3为本申请另一种实施例提供的一种接口测试方法的流程示意图;
图4为本申请另一种实施例提供的一种接口测试方法的流程示意图;
图5为本申请另一种实施例提供的一种接口测试方法的流程示意图;
图6为本申请另一种实施例提供的一种接口测试方法的流程示意图;
图7为本申请实施例提供的一种接口测试装置的框图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种接口测试方法,包括如下所述步骤S1至S4:
步骤S1.获取与待测接口对应的脚本。
具体的,待测接口为需要进行测试是否能够实现预设功能的接口。
脚本为用于生成:对该待测接口进行测试的测试参数;以及,将测试参数输入待测接口之后,并且在满足预设功能的情况下得到的预期结果;一般的,脚本可以是预先编辑得到,并且能够将各个脚本与接口一一对应;且编写脚本的语言可以选择groovy,groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言,使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。
步骤S2.通过脚本生成与待测接口对应的测试参数与预期结果,预期结果为将测试参数输入待测接口后预定得到的标准结果。
具体的,标准结果为待测接口的功能满足开发要求时,对测试参数进行处理后的满足开发要求标准的结果;在得到与待测接口对应的脚本之后,即可通过该脚本生成用于对待测接口测试的测试参数与预期结果;且一般的,预期结果也可以是一个参数,举例的,当待测接口的功能为用于判断订单是否支付成功时,其预期结果则只会为0(支付失败)或者1(支付成功)。
在一些实施例中,所述步骤S2通过所述脚本生成与所述待测接口对应的测试参数与预期结果,包括如下所述步骤B1和B2:
步骤B1.根据脚本确定与待测接口对应的参数生成策略,参数生成策略与待测接口对参数的预设处理逻辑对应。
步骤B2.根据参数生成策略生成相互对应的测试参数与预期结果。
具体的,预设处理逻辑一般为:待测接口在开发时,要求满足的功能,即在开发时预设的,在该待测接口输入一个参数时,所需该参数执行的处理或判断等功能;而预期结果即为将测试参数输入符合预设功能的待测接口后应该得到的结果;因此脚本生成测试参数与预期结果的参数生成策略需要与待测接口的预设处理逻辑对应,以使测试参数与预期结果之间的逻辑关系符合开发要求满足的功能。
举例的,当判断一个订单是否下单成功时,需要将支付系统的反馈(是否支付成功)作为输入参数(相当于测试参数)输入待测接口中,进而判断最终是否下单成功,具体的:对应的待测接口的功能可以是当输入的测试参数为1(支付成功)时,输出的结果也为1(预期结果为下单成功),当输入的测试参数为0(支付失败)时,输出的结果也为0(预期结果为下单失败);因此,参数生成策略与预设处理逻辑都为:测试参数与预期结果需一致。
步骤S3.获取待测接口对测试参数进行处理后得到的执行结果。
具体的,当将测试参数输入待测接口之后,由于待测接口具体会得到什么结果是不确定的,因此得到的执行结果也能保证与预期结果完全一致,简单来说,就是待测接口的性能是得不到保证的,因而需要得到执行结果以用于之后对该待测接口进行性能判断。
步骤S4.通过判断预期结果与执行结果之间是否一致,得到待测接口的测试结果。
具体的,由于预期结果才是待测接口满足预设功能的情况下,对测试参数进行执行后应该得到的结果;当预期结果与执行结果之间为一致时,即可得到该待测接口的性能满足预设功能要求;反之,当预期结果与执行结果之间不一致时,即可得到该待测接口的性能不满足预设功能要求;进而可以通过该方式得到测试结果。
进一步的,还可以设置特定的用于配置脚本与接口间对应关系的界面,以便于测试人员直接通过特定脚本对待测接口进行测试,降低测试人员的测试难度。
通过本实施例中的方法,可以将生成测试参数与预期结果的脚本与各个接口一一对应,所以各请求之间不会互相影响,非常灵活;且测试参数与预期结果之间的生成规则通过脚本进行指定之后,可以免除研发人员与测试人员之间的测试需求上的沟通,可以减少文档编写、沟通上的成本,使得测试更加便利。
如图2所示,在一些实施例中,如前述的接口测试方法,步骤S1获取与待测接口对应的脚本,包括如下所述步骤S11和S12:
步骤S11.获取预先建立的脚本数据库中的候选脚本与接口之间的对应关系。
具体的,脚本数据库中一般存在多个候选脚本,且候选脚本及接口中可以包括用于对其进行唯一标识的字符串(可以是名称或者编号等等),以便于对其两者进行对应关系的建立以及后期查询匹配;此外,一般的,一个接口只对应有一个候选脚本。
步骤S12.根据对应关系在脚本数据库中匹配得到与待测接口对应的脚本。
具体的,对应关系可以是以数据表的形式进行建立,同时,可以通过在专门的界面进行展示,以供测试人员进行脚本匹配;当测试人员确定需要进行测试的待测接口之后,便可以获取该待测接口的唯一标识,然后通过该唯一标识通过对应关系匹配得到对应的脚本的唯一标识,进而完成匹配到对应脚本的目的。
如图3所示,在一些实施例中,如前述的接口测试方法,还包括如下所述步骤S13和S14:
步骤S13.当在脚本数据库中未匹配得到与待测接口对应的脚本时,生成用于对待测接口进行测试的随机参数。
步骤S14.获取将随机参数输入待测接口得到的随机参数执行结果。
具体的,当待测接口无法匹配到对应的脚本时,即意味着在预设对应关系时,未给该待测接口对应设有脚本;其中,该待测接口的测试参数与预期结果之间可以是不具备复杂规则关系,或者不对测试参数进行处理等等,例如,当某一接口的功能只是对输入的参数进行展示时,即可部设置对应的脚本;并且该待测接口对随机参数进行执行后得到的结果为上述的随机参数执行结果。
因此,通过该实施例中的方法,可以选择性地设置于各个接口对应的脚本,当接口功能简单,或者对输入参数无具体格式或者类型要求时,免去编写脚本的麻烦。
如图4所示,在一些实施例中,如前述的接口测试方法,还包括如下所述步骤S5至S8:
步骤S5.确定发生变化的变更接口。
具体的,变更接口可以为功能发生变化的接口、或者进行删除的接口,或者进行增加的接口等等。
步骤S6.根据对应关系在脚本数据库中匹配得到与变更接口对应的待变更脚本。
具体的,当变更接口是增加的接口时,待变更脚本也为新增加的脚本,且待变更脚本可以在增加时或增加后建立与变更接口之间的对应关系;当变更接口是对某一已存在的原接口进行替换或修改的接口,或是被删除的接口时,则可仍将所述原接口或被删除的接口对应的脚本作为所述待变更脚本;其中,在脚本数据库中匹配得到与变更接口对应的待变更脚本的相应步骤可参照步骤S12中的相应方法。
步骤S7.确定与变更接口对应的用于生成测试参数与预期结果的新生成规则。
具体的,当变更接口是对某一已存在的原接口进行替换或修改的接口时,由于其功能可能发生变化,因此其对应的对入参进行处理的过程或方法可能会发生变化,导致得到的出参也可能会发生变化;为了与变更接口的上述变化相对应,与变更接口对应脚本的生成测试参数与预期结果生成规则也需要发生变化,以得到符合变更接口的功能的测试参数与预期结果,并获得正确的测试结果。
当变更接口是对其本身进行删除时,则意味其不再对应有用于生成测试参数与预期结果的生成规则了;则新生成规则可以是逻辑为空的规则。
步骤S8.根据新生成规则对待变更脚本进行更改,得到更新后的新脚本数据库。
具体的,根据新生成规则对待变更脚本进行更改,可以是编写一个新的脚本对待变更脚本进行替换,也可以是对待变更脚本进行修改;当新生成规则是逻辑为空的规则时,则可以对待变更脚本进行删除;因此脚本数据库中的脚本发生了变化,便得到了新脚本数据库。
通过实施例中的方法,可以在生成默认值的规则发生了改变的时候,只须修改脚本而不用修改程序,可减少引入bug的风险。
如图5所示,在一些实施例中,如前述的接口测试方法,上述步骤S4中通过判断预期结果与执行结果之间是否一致,得到待测接口的测试结果,包括所述步骤S41至S44:
步骤S41.获取将多个测试参数输入待测接口后分别得到的比对结果;其中,比对结果用于表征所述预期结果与执行结果是否一致。
具体的,将测试参数A输入待测接口后便会得到一个对应的执行结果A,则对应的比对结果是根据执行结果A于预期结果之间是否一致得到的;通过多个比对结果对待测接口的性能进行判断,可以有效过滤掉其中的一些异常因素,使得测试结果更加可信;因此,本实施例中需要获取多个比对结果。
步骤S42.根据多个比对结果得到待测接口对测试参数进行处理后的成功率。
具体的,由于每次的比对结果一般只存在成功或失败其中的一种可能性,因此,可以根据与待测接口对应的多个比对结果计算得到成功率,且成功率用于衡量待测接口对入参进行处理得到的出参与预测结果的吻合程度,即待测接口是否满足预设的性能要求。
步骤S43.当成功率在预设的第一成功率区间内时,判断待测接口的测试结果为通过。
步骤S44.当成功率不在第一成功率区间内时,判断待测接口的测试结果为未通过。
具体的,第一成功率区间可以是一个数值区间(例如:[70%~100%]),当得到的成功率为90%时,判定成功率在第一成功率区间内,则判定待测接口的性能是满足性能要求的,则该待测接口的测试结果为通过;反之,当成功率只为20%时,则判定成功率不在第一成功率区间内,则说明待测接口存在较大问题,不满足性能要求,则该待测接口的测试结果为未通过。
如图6所示,在一些实施例中,如前述的接口测试方法,在步骤S42根据多个比对结果得到待测接口对测试参数进行处理后的成功率之后,还包括如下所述步骤S45至S47:
步骤S45.当成功率不在预设的第二成功率区间内时,对脚本中用于生成测试参数与预期结果的生成规则进行校验,得到校验结果。
具体的,脚本是用于生成对待测接口进行测试的测试参数与预期结果的,如果脚本中用于生成测试参数与预期结果的生成规则与待测接口的功能不符时,则通过该脚本生成的测试参数与预期结果对待测接口进行测试得到的成功率必定是十分低的;因此需要对脚本本身的生成规则进行校验。
举例来说,第二成功率区间可以是一个数值区间(例如:[0%~20%]),当得到的成功率为90%时,判定成功率不在第二成功率区间内,则判定脚本的生成规则是符合待测接口的功能要求的,则该脚本的校验结果为正确;反之,当第一成功率只为10%时,则说明待测接口通过该脚本输出的测试参数与预期结果进行测试得到的测试成功率极低,且成功率不在第二成功率区间内,则说明极有可能是脚本本身的生成规则存在问题,不符合待测接口的功能要求,因此需要对该脚本进行校验,判断其是否存在问题。
步骤S46.当校验结果判定生成规则与待测接口不符时,对脚本进行更改。
步骤S47.当校验结果判定生成规则与待测接口相符时,判断待测接口的测试结果为未通过。
具体的,当校验结果为生成规则与待测接口不符时,则说明脚本本身的生成规则存在问题,不符合待测接口的功能要求,需要对脚本进行更改;
当校验结果为生成规则与待测接口相符时,则说明脚本的生成规则不存在问题,符合待测接口的功能要求;因此成功率不在预设的第二成功率区间内导致的原因在于待测接口,因此判断待测接口的测试结果为未通过。
在一些实施例中,如前述的接口测试方法,还包括如下所述的步骤A1和A2:
步骤A1.接收对脚本进行操作的操作信息。
步骤A2.根据操作信息在脚本数据库中对脚本进行对应的处理。
具体的,操作的类型可以包括编辑、保存和删除等等;且该操作可以通过在管理后台提供一个用于进行脚本管理的模块,以实现上述操作类型;并且,可以通过操作得到的操作信息(包括操作类型和操作的特定脚本),对脚本数据库中的特定脚本按照操作信息中记录的操作进行执行。
因此,可以在某一接口所需要的测试参数与预期结果之间的规则发生变化之后,只须对脚本进行修改而不用去修改前台程序,非常灵活。
如图7所示,根据本申请的另一方面,还提供了一种接口测试装置,包括:
第一获取模块1,用于获取与待测接口对应的脚本;
生成模块2,用于通过脚本生成与待测接口对应的测试参数与预期结果,预期结果为将测试参数输入待测接口后预定得到的标准结果;
第二获取模块3,用于获取待测接口对测试参数进行处理后得到的执行结果;
测试模块4,用于通过判断预期结果与执行结果之间是否一致,得到待测接口的测试结果。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图8所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种接口测试方法,其特征在于,包括:
获取与待测接口对应的脚本;
通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;
获取所述待测接口对测试参数进行处理后得到的执行结果;
通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果;
所述通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果,包括:
获取将多个所述测试参数输入所述待测接口后分别得到的比对结果;其中,所述比对结果用于表征所述预期结果与所述执行结果是否一致;
根据多个所述比对结果得到所述待测接口对所述测试参数进行处理后的成功率;
当所述成功率不在预设的第二成功率区间内时,对所述脚本中用于生成所述测试参数与预期结果的生成规则进行校验,得到校验结果;
当所述校验结果判定所述生成规则与所述待测接口不符时,对所述脚本进行更改;
当所述校验结果判定所述生成规则与所述待测接口相符时,判断所述待测接口的测试结果为未通过。
2.根据权利要求1所述的接口测试方法,其特征在于,所述获取与待测接口对应的脚本,包括:
获取预先建立的脚本数据库中的候选脚本与接口之间的对应关系;
根据所述对应关系在所述脚本数据库中匹配得到与所述待测接口对应的脚本。
3.根据权利要求2所述的接口测试方法,其特征在于,还包括:
当在所述脚本数据库中未匹配得到与所述待测接口对应的脚本时,生成用于对所述待测接口进行测试的随机参数;
获取将所述随机参数输入所述待测接口得到的随机参数执行结果。
4.根据权利要求2所述的接口测试方法,其特征在于,还包括:
确定发生变化的变更接口;
根据所述对应关系在所述脚本数据库中匹配得到与所述变更接口对应的待变更脚本;
确定与所述变更接口对应的用于生成所述测试参数与预期结果的新生成规则;
根据所述新生成规则对所述待变更脚本进行更改,得到更新后的新脚本数据库。
5.根据权利要求1所述的接口测试方法,其特征在于,在根据多个所述比对结果得到所述待测接口对所述测试参数进行处理后的成功率之后,还包括:
当所述成功率在预设的第一成功率区间内时,判断所述待测接口的测试结果为通过;
当所述成功率不在所述第一成功率区间内时,判断所述待测接口的测试结果为未通过。
6.根据权利要求2所述的接口测试方法,其特征在于,还包括:
接收对所述脚本进行操作的操作信息;
根据所述操作信息在所述脚本数据库中对所述脚本进行对应的处理,得到修改后脚本。
7.根据权利要求1所述的接口测试方法,其特征在于,所述通过所述脚本生成与所述待测接口对应的测试参数与预期结果,包括:
根据所述脚本确定与所述待测接口对应的参数生成策略,所述参数生成策略与所述待测接口对参数的预设处理逻辑对应;
根据所述参数生成策略生成相互对应的所述测试参数与预期结果。
8.一种接口测试装置,其特征在于,包括:
第一获取模块,用于获取与待测接口对应的脚本;
生成模块,用于通过所述脚本生成与所述待测接口对应的测试参数与预期结果,所述预期结果为将所述测试参数输入所述待测接口后预定得到的标准结果;
第二获取模块,用于获取所述待测接口对测试参数进行处理后得到的执行结果;
测试模块,用于通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果;所述通过判断所述预期结果与所述执行结果之间是否一致,得到所述待测接口的测试结果,包括:获取将多个所述测试参数输入所述待测接口后分别得到的比对结果;其中,所述比对结果用于表征所述预期结果与所述执行结果是否一致;根据多个所述比对结果得到所述待测接口对所述测试参数进行处理后的成功率;当所述成功率不在预设的第二成功率区间内时,对所述脚本中用于生成所述测试参数与预期结果的生成规则进行校验,得到校验结果;当所述校验结果判定所述生成规则与所述待测接口不符时,对所述脚本进行更改;当所述校验结果判定所述生成规则与所述待测接口相符时,判断所述待测接口的测试结果为未通过。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-7任一项所述的接口测试方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1-7任一项所述的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136196.2A CN111324540B (zh) | 2020-03-02 | 2020-03-02 | 一种接口测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136196.2A CN111324540B (zh) | 2020-03-02 | 2020-03-02 | 一种接口测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324540A CN111324540A (zh) | 2020-06-23 |
CN111324540B true CN111324540B (zh) | 2023-08-04 |
Family
ID=71172172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010136196.2A Active CN111324540B (zh) | 2020-03-02 | 2020-03-02 | 一种接口测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324540B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881020B (zh) * | 2020-07-07 | 2024-04-09 | 上海中通吉网络技术有限公司 | 支付中心接口测试方法、装置和系统 |
CN112148594A (zh) * | 2020-09-03 | 2020-12-29 | 长沙市到家悠享网络科技有限公司 | 一种脚本测试方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN107368412A (zh) * | 2017-07-03 | 2017-11-21 | 上海前隆信息科技有限公司 | 自动化测试方法/系统、计算机可读存储介质及电子设备 |
CN108459850A (zh) * | 2017-11-21 | 2018-08-28 | 广州视源电子科技股份有限公司 | 生成测试脚本的方法、装置及系统 |
CN109933535A (zh) * | 2019-03-26 | 2019-06-25 | 北京金山云网络技术有限公司 | 测试用例的生成方法、装置和服务器 |
CN109947639A (zh) * | 2019-01-30 | 2019-06-28 | 兴业证券股份有限公司 | Esb接口自动化测试方法及存储介质 |
US10437712B1 (en) * | 2018-06-20 | 2019-10-08 | Ca, Inc. | API functional-test generation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073890A1 (en) * | 2002-10-09 | 2004-04-15 | Raul Johnson | Method and system for test management |
US7823132B2 (en) * | 2004-09-29 | 2010-10-26 | Microsoft Corporation | Automated test case verification that is loosely coupled with respect to automated test case execution |
US9507698B2 (en) * | 2012-06-06 | 2016-11-29 | Oracle International Corporation | Test code generation based on test documentation |
US10114738B2 (en) * | 2017-03-16 | 2018-10-30 | Wipro Limited | Method and system for automatic generation of test script |
-
2020
- 2020-03-02 CN CN202010136196.2A patent/CN111324540B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN107368412A (zh) * | 2017-07-03 | 2017-11-21 | 上海前隆信息科技有限公司 | 自动化测试方法/系统、计算机可读存储介质及电子设备 |
CN108459850A (zh) * | 2017-11-21 | 2018-08-28 | 广州视源电子科技股份有限公司 | 生成测试脚本的方法、装置及系统 |
US10437712B1 (en) * | 2018-06-20 | 2019-10-08 | Ca, Inc. | API functional-test generation |
CN109947639A (zh) * | 2019-01-30 | 2019-06-28 | 兴业证券股份有限公司 | Esb接口自动化测试方法及存储介质 |
CN109933535A (zh) * | 2019-03-26 | 2019-06-25 | 北京金山云网络技术有限公司 | 测试用例的生成方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111324540A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589884B2 (en) | Method and system for identifying regression test cases for a software | |
CN111324540B (zh) | 一种接口测试方法及装置 | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN112257008B (zh) | 一种在线自定义流程运行系统、方法、介质和服务器 | |
CN111475401A (zh) | 一种测试方法及相关设备 | |
CN114201397A (zh) | 一种接口测试建模方法、装置、电子设备和存储介质 | |
CN112613288B (zh) | 结算单生成方法、装置、计算机设备和存储介质 | |
CN115525534A (zh) | 基于swagger的接口测试的测试用例生成方法、生成平台 | |
CN111767218B (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
CN111427582B (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN111124828B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111506641A (zh) | 数据管理方法、数据采集平台、数据管理系统及存储介质 | |
CN111159262A (zh) | 自动驾驶仿真数据处理方法和装置 | |
CN115755867A (zh) | 一种车辆诊断方法及相关装置 | |
CN113703739B (zh) | 基于omiga引擎的跨语言融合计算方法、系统及终端 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN114048125A (zh) | 一种测试用例确定方法、装置、计算设备及存储介质 | |
CN112231229A (zh) | Web UI自动化测试方法、系统、电子设备及可读存储介质 | |
JP2002333992A (ja) | 実行順序検査装置及びプログラム | |
CN111382075B (zh) | 一种自动化测试的数据处理方法及装置 | |
CN114756217B (zh) | 基于插件的脚本生成系统 | |
CN111078543B (zh) | 系统动态化测试方法及测试装置 | |
CN116860591A (zh) | 测试脚本生成方法及装置 | |
CN113806211A (zh) | 一种用于接口测试的数据处理方法及装置 | |
CN115883325A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |