CN113778878A - 接口测试方法、装置、电子设备及存储介质 - Google Patents

接口测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113778878A
CN113778878A CN202111065807.XA CN202111065807A CN113778878A CN 113778878 A CN113778878 A CN 113778878A CN 202111065807 A CN202111065807 A CN 202111065807A CN 113778878 A CN113778878 A CN 113778878A
Authority
CN
China
Prior art keywords
tested
interface
test
target
test case
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
Application number
CN202111065807.XA
Other languages
English (en)
Inventor
褚慧慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weikun Shanghai Technology Service Co Ltd
Original Assignee
Weikun Shanghai Technology Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weikun Shanghai Technology Service Co Ltd filed Critical Weikun Shanghai Technology Service Co Ltd
Priority to CN202111065807.XA priority Critical patent/CN113778878A/zh
Publication of CN113778878A publication Critical patent/CN113778878A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本申请实施例公开了一种接口测试方法、装置、电子设备及存储介质,应用于测试技术领域。其中方法包括:确定多个待测试接口中每个待测试接口适配的断言组件,根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例,从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例,根据目标测试用例构建目标测试任务,并执行目标测试任务。采用本申请实施例,可以提高接口测试效率。本申请涉及区块链技术,如可将待测试接口的接口信息等写入区块链。

Description

接口测试方法、装置、电子设备及存储介质
技术领域
本申请涉及测试技术领域,具体涉及一种接口测试方法、装置、电子设备及存储介质。
背景技术
目前,随着计算机技术的日益发展,向人们提供各种应用功能的系统越来越多,技术人员通常会在开发和应用过程中对该系统中的接口进行相应的测试,以确保系统运行的稳定性。可见,接口的测试十分重要。现有的接口测试方法通常是由技术人员编写针对接口的测试脚本,并运行该测试脚本实现接口测试,然而,编写测试脚本步骤繁琐易出错,从而导致完成接口测试所需要的时间过多,甚至可能因为编写错误而导致接口测试结果不准确,影响了接口的测试效率。因此,如何提高接口的测试效率成为一个亟待解决的问题。
发明内容
本申请实施例提供了一种接口测试方法、装置、电子设备及存储介质,可以有效地提高接口的测试效率。
一方面,本申请实施例提供了一种接口测试方法,该方法包括:
确定多个待测试接口中每个待测试接口适配的断言组件;
根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
在一种可能的实施方式中,在所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例时,所述执行所述目标测试任务,包括:
在所述目标待测试接口适配的第一数量个断言组件时,确定所述第一数量个断言组件中每个断言组件的优先级;
根据所述每个断言组件的优先级确定对所述每个断言组件的调用顺序;
根据对所述每个断言组件的调用顺序,依次调用所述每个断言组件对所述目标待测试接口进行测试。
在一种可能的实施方式中,在所述目标测试用例为至少一个测试场景中目标测试场景的场景测试用例时,所述执行所述目标测试任务,包括:
在所述目标测试场景关联的第二数量个待测试接口时,确定所述第二数量个待测试接口间的依赖关系;
根据所述第二数量个待测试接口间的依赖关系,确定对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序;
根据对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,依次调用所述第二数量个待测试接口中每个待测试接口的测试用例分别对所述第二数量个待测试接口中每个待测试接口进行测试。
在一种可能的实施方式中,所述确定多个待测试接口中每个待测试接口适配的断言组件,包括:
查询所述多个待测试接口中每个待测试接口的接口类型;
根据所述每个待测试接口的接口类型确定所述每个待测试接口适配的断言
在一种可能的实施方式中,所述确定多个待测试接口中所述每个待测试接口适配的断言组件,包括:
获取对所述多个待测试接口中每个待测试接口的测试用例的配置数据;所述配置数据包括所述断言组件的标识信息;
根据所述配置数据包括的断言组件的标识信息,确定所述多个待测试接口中每个待测试接口适配的断言组件。
在一种可能的实施方式中,所述确定多个待测试接口中所述每个待测试接口适配的断言组件之前,所述方法还包括:
在检测到用户终端提交的测试用例配置请求时,通过所述用户终端输出测试用例配置页面;所述测试用例配置页面包括用于配置测试用例的多个配置项,所述多个配置项包括前置断言组件对应的添加项以及后置断言组件对应的添加项;
在检测到基于所述前置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第一控件,以便所述用户终端根据所述多个第一控件对所述多个待测试接口中的指定待测试接口进行所述前置断言组件的配置;所述第一控件为属于所述前置断言组件的断言组件对应的控件;
在检测到基于所述后置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第二控件,以便所述用户终端根据所述多个第二控件对所述指定待测试接口进行所述后置断言组件的配置;所述第二控件为属于所述后置断言组件的断言组件对应的控件;
获取所述用户终端提交的对所述指定待测试接口的测试用例的配置数据,所述配置数据包括配置的断言组件的标识信息。
在一种可能的实施方式中,所述根据目标测试用例构建目标测试任务,包括:
获取针对所述目标测试用例的组件更新参数;
利用所述组件更新参数对所述目标测试用例进行更新,得到更新后的目标测试用例;
根据所述更新后的目标测试用例构建目标测试任务。
一方面,本申请实施例提供了一种接口测试装置,该装置包括:
确定模块,用于确定多个待测试接口中每个待测试接口适配的断言组件;
构建模块,用于根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
所述构建模块,还用于从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
执行模块,用于根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
一方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,其中,存储器用于存储计算机程序,该计算机程序包括程序指令,处理器被配置用于调用该程序指令,执行上述方法中的部分或全部步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时,用于执行上述方法中的部分或全部步骤。
本申请实施例中,可以确定多个待测试接口中每个待测试接口适配的断言组件,根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例,从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例,根据目标测试用例构建目标测试任务,并执行目标测试任务。通过实施上述所提出的方法,可以通过待测试接口适配的断言组件生成待测试接口的测试用例或者构建场景测试用例,进而得到目标测试任务,并执行该目标测试任务实现接口测试,可以简化接口测试的流程,提高接口的测试效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用架构示意图;
图2为本申请实施例提供的一种接口测试方法的流程示意图;
图3为本申请实施例提供的一种接口测试方法的流程示意图;
图4a为本申请实施例提供的一种测试用例配置的场景示意图;
图4b为本申请实施例提供的一种测试用例配置的场景示意图;
图5为本申请实施例提供的一种测试知识图谱的结构示意图;
图6a为本申请实施例提供的一种场景测试用例配置的场景示意图;
图6b为本申请实施例提供的一种场景测试用例配置的场景示意图;
图7a为本申请实施例提供的一种测试任务配置的场景示意图;
图7b为本申请实施例提供的一种测试任务配置的场景示意图;
图7c为本申请实施例提供的一种测试任务配置的场景示意图;
图7d为本申请实施例提供的一种测试任务配置的场景示意图;
图7e为本申请实施例提供的一种测试任务配置的场景示意图;
图7f为本申请实施例提供的一种测试任务配置的场景示意图;
图8为本申请实施例提供的一种接口测试装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提出的接口测试方法实现于电子设备,该电子设备可以为终端设备或服务器。其中,终端设备可以为智能手机、平板电脑、笔记本电脑、台式计算机等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是云服务器等,但并不局限于此。本申请涉及区块链技术,电子设备可将涉及的数据如待测试接口的接口信息(如接口地址等)等写入区块链中,以便于电子设备可以在区块链上获取所需信息,如待测试接口的接口地址。
请参见图1,图1为本申请实施例提供的一种应用架构示意图,可以通过该应用架构执行本申请所提出的接口测试方法。具体的,图1可以包括电子设备,以及用户终端。其中,电子设备可以通过执行本申请的技术方案,获取待测试接口适配的断言组件,并构建待测试接口的测试用例,以及确定测试场景关联的至少一个待测试接口,并构建测试场景的场景测试用例,当确定了目标测试用例时,电子设备可以根据目标测试用例和用户终端发送的组件更新参数生成目标测试任务,并执行目标测试任务得到接口测试结果,进而通过用户终端输出该接口测试结果;用户终端还可以提供针对待测试接口的测试用例配置页面,并基于相关业务人员的配置断言组件操作生成配置数据,并发送给电子设备,以使电子设备根据配置数据确定待测试接口适配的断言组件。
可以理解的是,图1只是示例性地表征本申请技术方案所提出的应用架构,并不对本申请技术方案的具体架构进行限定,即本申请技术方案还可以提供其他形式的应用架构。
在一些实施例中,电子设备可根据实际的业务需求,执行该接口测试方法,以提高接口的测试效率。本申请技术方案可以应用于任意接口测试场景中,即电子设备可以通过本申请技术方案实现针对一个或多个待测试接口构建目标测试任务,并执行该目标测试任务以完成接口测试。例如,本申请技术方案可以用于接口定时测试的场景中,电子设备根据目标测试用例和设定运行频率(如每天或每周等)生成并执行目标测试任务,可以实现对单个待测试接口的定时测试或测试场景中包含的多个待测试接口的定时测试。
可以理解的是,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的描述,本申请实施例提出了一种接口测试方法,该方法可以由上述提及的电子设备来执行。如图2所示,本申请实施例的接口测试方法的流程可以包括如下:
S201、确定多个待测试接口中每个待测试接口适配的断言组件。
其中,待测试接口可以为任意需进行测试的接口,该多个待测试接口中可以有独立的接口,也可以有为测试场景关联的接口,如资金投资场景下关联的多个接口;以及断言组件可以用于调用以对待测试接口进行测试,每个待测试接口适配的断言组件可以有一个或多个,不同的断言组件所实现的接口测试功能可以不同,如接口健康断言组件所实现的接口测试功能为判断待测试接口是否处于健康状态,接口返回断言组件所实现的接口测试功能为判断调用接口后返回的数据是否为预设数据。
在一个可能的实施方式中,电子设备确定每个待测试接口适配的断言组件的具体方式可以是,根据用户终端发送的对每个待测试接口的测试用例的配置数据确定每个待测试接口适配的断言组件,即可以是电子设备生成针对每个断言组件的控件并通过用户终端输出,如在用户终端提供的待测试接口的测试用例配置页面输出,若用户终端检测到针对断言组件的控件的触发操作时,可以基于触发操作生成对应的配置数据,电子设备接收到对应的配置数据时,可以通过配置数据确定出该待测试接口适配的断言组件。其中,触发操作包括但不限于:对断言组件的控件的拖拽操作(如将指定的断言组件的控件拖拽至测试用例配置页面的指定区域)、对断言组件的控件的点击操作、对断言组件的控件的语音指示操作等,此处对触发操作不作限制。
S202、根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例。
在一些实施例中,电子设备根据每个待测试接口适配的断言组件构建对应的测试用例之后,可以将每个待测试接口的测试用例通过用户终端进行输出,相关业务人员可以在用户终端提供的测试用例查询页面查看每个待测试接口的测试用例,以及该测试用例所包括的断言组件;进一步的,用户终端具有对每个待测试接口的测试用例的修改权限,即相关业务人员可以在用户终端提供的测试用例修改页面对每个待测试接口的测试用例中包括断言组件进行修改,如删除、增加、替换等操作,当用户终端检测到对待测试接口的测试用例的修改操作时,生成针对该待测试接口的测试用例的修改数据,电子设备可以基于修改数据对该待测试接口的测试用例中包括的断言组件进行修改。
S203、从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例。
在一些实施例中,电子设备可以是根据针对每个测试场景的场景测试用例的配置数据中指示的测试场景以及该测试场景关联的待测试接口来确定出每个测试场景关联的至少一个接口;或者,还可以根据每个待测试接口的接口信息从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,如待测试接口的接口信息可以包括接口名称、接口地址、接口所属服务等,可以根据每个待测试接口之间的接口信息相关性确定出每个测试场景关联的至少一个待测试接口。示例性的,电子设备可以根据接口地址中的统一前缀确定相关的待测试接口,并将该相关的待测试接口确定为一个测试场景关联的至少一个待测试接口;或者,将接口所属服务相同的待测试接口确定为相关的待测试接口,并将接口所属服务确定为测试场景,该相关的待测试接口确定为该待测试场景下的关联的至少一个待测试接口,例如,待测试接口1和待测试接口2的所属服务为基金投资,因此该待测试接口1和待测试接口2则为基金投资测试场景下关联的至少一个待测试接口。
可选的,电子设备在确定了每个测试场景关联的至少一个待测试接口之后,可以根据该至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例,通过调用该场景测试用例可以实现对多个待测试接口的联合测试,即每个测试场景下的关联的至少一个待测试接口(例如两个或两个以上)具有关联性,因此可以对该多个有关联性的待测试接口进行统一测试,以提供接口测试灵活性和效率,以及还可以对测试场景所表示的服务进行测试以确保该服务在实际应用时可以正常使用。
在一些实施例中,电子设备可以在构建了场景测试用例之后,可以将每个测试场景的场景测试用例通过用户终端进行输出,相关业务人员可以在用户终端提供的场景测试用例查询页面查看每个测试场景的场景测试用例,以及该场景测试用例所包括的关联的至少一个待测试接口以及该至少一个待测试接口的测试用例(可选的,还可以进一步查看待测试接口的测试用例包括的断言组件),进一步的,用户终端具有对每个测试场景的场景测试用例的修改权限,即相关业务人员可以在用户终端提供的场景测试用例修改页面对每个测试场景关联的至少一个待测试接口进行修改,如删除、增加、替换等操作;或者,还可以对至少一个待测试接口的测试用例包括的断言组件进行修改(如在场景测试用例修改页面生成可以跳转到测试用例修改页面的控件,当该控件被触发时,可以跳转到测试用例修改页面实现对至少一个待测试接口的测试用例包括的断言组件的修改),当用户终端检测到对测试场景的场景测试用例的修改操作时,生成针对该测试场景的场景测试用例的修改数据,电子设备可以基于修改数据对该测试场景的场景测试用例中包括的至少一个待测试接口和/或至少一个待测试接口的测试用例进行修改。
S204、根据目标测试用例构建目标测试任务,并执行目标测试任务。
其中,该目标测试用例可以为多个待测试接口中目标待测试接口的测试用例和/或至少一个测试场景中目标测试场景的场景测试用例;目标待测试接口可以为多个待测试接口中的一个或多个待测试接口,目标测试场景可以为至少一个测试场景中的一个或多个测试场景;所构建的目标测试任务可以为调用目标测试用例进行接口测试的任务,可选的,电子设备还可以按照预设的运行频率调用目标测试用例以实现定时的目标测试任务。
在一些实施例中,目标待测试接口可以是相关业务人员通过用户终端指定的待测试接口,也可以是根据预设选取策略确定,如针对待测试接口在实际应用过程中的访问量等;目标测试场景可以是相关业务人员通过用户终端指定的测试场景,也可以是根据预设选取策略确定,如针对测试场景关联的至少一个待测试接口在实际应用过程中的访问量等,因此电子设备可以通过目标终端在多个待测试接口中选择出目标待测试接口和/或从至少一个测试场景中选择出目标测试场景,并基于目标待测试接口的测试用例和/或目标测试场景的场景测试用例构建目标测试任务,进而可以通过执行该目标测试任务实现对目标待测试接口的测试和/或目标测试场景所关联的待测试接口的测试,在执行了目标测试任务之后电子设备可以在用户终端输出针对目标测试任务的接口测试结果。
本申请实施例中,电子设备可以确定多个待测试接口中每个待测试接口适配的断言组件,根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例,从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例,根据目标测试用例构建目标测试任务,并执行目标测试任务。通过实施本申请实施例所提出的方法,可以通过待测试接口适配的断言组件生成待测试接口的测试用例或者构建场景测试用例,进而得到目标测试任务,并执行该目标测试任务实现接口测试,可以简化接口测试的流程,提高接口的测试效率。
请参见图3,图3为本申请实施例提供的一种接口测试方法的流程示意图,该方法可以由上述提及的电子设备执行。如图3所示,本申请实施例中接口测试方法的流程可以包括如下:
S301、获取对多个待测试接口中每个待测试接口的测试用例的配置数据,并根据配置数据包括的断言组件的标识信息,确定多个待测试接口中每个待测试接口适配的断言组件。
在一个可能的实施方式中,电子设备在确定多个待测试接口中每个待测试接口适配的断言组件之前,可以通过用户终端得到对多个待测试接口中每个待测试接口的测试用例的配置数据,具体可以是,在检测到用户终端提交的测试用例配置请求时,通过用户终端输出测试用例配置页面,前述测试用例配置页面可以包括用于配置测试用例的多个配置项,多个配置项可以包括前置断言组件对应的添加项,以及后置断言组件对应的添加项,在检测到基于前置断言组件对应的添加项提交的添加指令时,通过用户终端输出多个第一控件,以便用户终端根据多个第一控件对多个待测试接口中的指定待测试接口进行前置断言组件的配置,该第一控件为数据前置断言组件的断言组件对应的控件,以及在检测到基于后置断言组件对应的添加项提交的添加指令时,通过用户终端输出多个第二控件,以便用户终端根据多个第二控件对指定待测试接口进行后置断言组件的配置,该第二控件为数据后置断言组件的断言组件对应的控件。
其中,前置断言组件可以包括接口配置断言组件(所实现的接口测试功能为判断待测试接口的接口配置是否正确)、接口健康断言组件等,后置断言组件可以包括接口返回断言组件、数据库断言组件(所实现的接口测试功能为调用数据库接口以判断数据库中的指定数据表是否符合预设规则)、接口日志断言组件(所实现的接口测试功能为调用日志接口以判断指定日志是否符合预设规则)等。
因此电子设备可以通过用户终端基于测试用例配置页面上的断言组件对应的控件的触发操作而生成配置数据,得到配置数据中包含的断言组件的标识信息,基于断言组件的标识信息可以确定多个待测试接口中每个待测试接口适配的断言组件;该标识信息可以为断言组件的名称、或者唯一ID等。
例如,如图4a-图4b所示,图4a-图4b为本申请实施例提供的一种测试用例配置的场景示意图,其中,如图4a中,电子设备可以通过用户终端输出所构建好的待测试接口的测试用例查询页面,可以通过触发操作栏下方的控件实现查看或修改测试用例包含的断言组件,还可以通过搜索栏输入测试用例编号、待测试接口的接口地址、待测试接口的接口名称等实现测试用例的查询;以及当通过触发“新建”控件时,用户终端生成测试用例配置请求并提交至电子设备,电子设备输出测试用例配置页面,如图4b中,该页面上输出了前置断言组件对应的添加项以及后置断言组件对应的添加项,相关业务人员可以在该页面选择指定待测试接口,并在点击了前置断言组件对应的添加项之后,展示前置断言组件对应的第一控件,将所选择的前置断言组件对应的第一控件拖拽至目标区域,并点击“确定”控件,当在该页面配置完断言组件之后,通过触发“提交”按钮,用户终端生成配置数据,电子设备可以基于配置数据包括的断言组件的标识信息,确定该指定待测试接口适配的断言组件,并进一步构建该指定待测试接口的测试用例。
可选的,在一个可能的实施方式中,电子设备可以查询多个待测试接口中每个待测试接口的接口类型,并根据每个待测试接口的接口类型确定每个待测试接口适配的断言组件。待测试接口的接口类型可以表示该待测试接口在所属服务下实现的功能,例如在基金定投服务下,用于进行用户登录的接口的接口类型可以为数据认证类型,用于进行投资账单查询的接口的接口类型可以为数据查询类型等。该多个待测试接口中每个待测试接口的接口类型可以相同或不同。
其中,电子设备根据接口类型确定每个待测试接口适配的断言组件具体方式,相关业务人员预先根据实际业务需求自定义设置生成包括接口类型和断言组件的关系表,可以通过该关系表和每个待测试接口的接口信息确定每个待测试接口适配的断言组件;或者,还可以是电子设备预先利用大数据和机器学习技术生成包括断言组件和接口类型的测试知识图谱,可以通过该测试知识图谱中接口类型与断言组件的连接关系和每个待测试接口的接口信息确定每个待测试接口适配的断言组件,该生成测试知识图谱具体可以是,通过统计分析大量针对不同接口的测试过程中的测试行为(即不同接口类型的所使用的断言类型)或技术人员需求而确定出每个接口类型的接口在测试过程中需进行的断言类型,根据该断言类型确定符合的断言组件,并将接口类型和对应的断言组件相连接,得到测试知识图谱。
在一些实施例中,电子设备在确定了每个待测试接口适配的断言组件时,若一个待测试接口适配的断言组件有多个时,可以确定该多个断言组件的优先级,该优先级可以表征多个断言组件的调用顺序,即针对待测试接口的测试顺序,该优先级可以由相关业务人员根据实际业务需求指定,也可以是电子设备统计分析大量针对不同接口的测试过程中调用各个断言组件所得到的接口测试结果而得到的,待测试接口适配的断言组件的优先级可以表示对该待测试接口进行测试时,适配的多个断言组件对应的断言类型对于待测试接口的重要程度以及关联程度。例如,若分析得到调用断言组件A对待测试接口A进行测试时,得到的接口测试结果为接口存在错误或接口测试失败,并会导致后续调用其他断言组件对待测试接口进行测试时,得到的接口测试结果均为接口存在错误或接口测试失败,则表示该断言组件A对应的断言类型的重要程度最大,与其他断言组件对应的断言类型的关联程度也最大,因此该断言组件A的优先级最高。
可选的,在得到每个待测试接口适配的断言组件的优先级之后,可以生成每个待测试接口适配的断言组件的优先级列表,或者还可以将该多个待测试接口和每个待测试接口适配的断言组件的优先级融入上述测试知识图谱中,得到包含每个待测试接口、接口类型、断言组件、以及断言组件优先级的测试知识图谱,该断言组件的优先级在测试知识图谱中可以通过不同颜色体现,也可以通过与待测试接口的连接距离体现,可以理解的是,在该测试知识图谱中,与待测试接口相连的断言组件可以表示所构建该待测试接口的测试用例。进一步的可选的,可以根据多个待测试接口确定出至少一个测试场景,并将测试场景与待测试接口的关联关系融入前述测试知识图谱中,可以理解的是,在该测试知识图谱中,与测试场景相连的待测试接口以及该相连的待测试接口相连的断言组件可以表示所构建的该测试场景的场景测试用例。
可选的,在得到每个测试场景关联的至少一个待测试接口之后,电子设备可以确定测试场景关联的至少一个待测试接口之间的依赖关系,如对当前待测试接口进行测试时,需使用已测试的待测试接口对应的执行结果中的部分数据时,则该已测试的待测试接口与当前待测试接口具有依赖关系,且该已测试的待测试接口为当前待测试接口的前置接口。该执行结果为调用待测试接口执行所指示的业务操作时得到的数据,如调用支付接口执行所指示的支付交易操作时所得到的交易订单号等。电子设备可以在得到待测试接口之间的依赖关系之后,生成每个测试场景关联的至少一个待测试接口的依赖关系列表,或者还可以将该依赖关系融入前述测试知识图谱中,得到针对该多个待测试接口的目标测试知识图谱,即至少一个待测试接口之间的依赖关系可以体现在目标测试知识图谱中待测试接口之间的连接中。
例如,测试场景1关联的至少一个待测试接口包括待测试接口1、待测试接口2、待测试接口3三个接口,至少一个待测试接口关联关系为:待测试接口1的输入与待测试接口2的执行结果相关联,同时,待测试接口3的输入与待测试接口1的执行结果相关联。则待测试接口1、待测试接口2、待测试接口3三个接口的依赖关系为待测试接口2→待测试接口1→待测试接口3,根据该依赖关系可以确定在对测试场景进行测试时,该关联的至少一个待测试接口对应的测试用例的调用顺序。
此外,电子设备可以通过用户终端输出该多个待测试接口的目标测试知识图谱,可以将待测试接口的测试过程以统一的结构化的形式进行表示,用户可以通过用户终端查看到待测试接口与接口类型的关系、与断言组件的关系,接口类型与断言组件的关系,以及待测试接口之间的关系等等。进一步,用户终端在检测到目标测试知识图谱的相关控件的触发操作时,查看或修改相关控件对应的查询页面(如测试用例查询页面),进而可以实现对该目标测试知识图谱的修改操作。例如,目标测试知识图谱中待测试接口有对应控件,触发后可以查看或修改该待测试接口的测试用例查询页面,进而可以对待测试接口的断言组件进行修改操作等。
例如,如图5所示,图5为本申请实施例提供的一种测试知识图谱的结构示意图,其中,测试知识图谱中包含的实体:测试场景与待测试接口相连,待测试接口间的连接表示待测试接口间的依赖关系(待测试接口1为待测试接口2的前置接口,待测试接口3为待测试接口2的后置接口),待测试接口与测试类型相连,待测试接口与断言组件相连,测试类型与断言组件相连,每个实体设置有对应控件,可以通过触发指定控件实现对该测试知识图谱的修改操作,如触发待测试接口1对应控件,电子设备可以通过用户终端输出该待测试接口1的测试用例查询页面,可以在测试用例查询页面对待测试接口1的测试用例包括的断言组件进行查看或修改,电子设备还可以根据基于修改操作生成的修改数据的指示对待测试接口1的测试用例包括的断言组件和测试知识图谱进行修改。
S302、根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例。步骤S302的具体实施方式可以参见上述步骤S202的相关描述。
S303、从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例。
在一个可能的实施方式中,电子设备在确定出每个测试场景关联的至少一个待测试接口之前,可以通过用户终端得到至少一个测试场景中每个测试场景的场景测试用例的配置数据,具体可以是,在检测到用户终端提供的场景测试用例配置请求时,通过用户终端输出场景测试用例配置页面,前述场景测试用例配置页面可以包括测试场景标识(如名称、唯一ID),以及用于配置场景测试用例的多个配置项,该多个配置项可以包括待测试接口对应的添加项,在检测到基于待测试接口对应的添加项提交的添加指令时,通过用户终端输出多个接口控件,以便用户终端根据多个接口控件对指定测试场景进行关联的至少一个待测试接口的配置,该接口控件对待测试接口对应的控件。
例如,如图6a-图6b所示,图6a-图6b为本申请实施例提供的一种场景测试用例配置的场景示意图,其中,如图6a中,电子设备可以通过用户终端输出所构建好的测试场景的场景测试用例查询页面,可以通过触发操作栏下方的控件实现查看或修改场景测试用例包含的所关联的至少一个待测试接口的测试用例,还可以通过搜索栏输入场景测试用例编号、测试场景名称、至少一个待测试接口中任意待测试接口的接口地址、至少一个待测试接口中任意待测试接口的接口名称等实现场景测试用例的查询;以及当通过触发“新建”控件时,用户终端生成场景测试用例配置请求并提交至电子设备,电子设备输出场景测试用例配置页面,如图6b中,该页面上输出了待测试接口对应的添加项,相关业务人员可以在该页面选择指定测试场景,并在点击了待测试接口对应的添加项之后,展示待测试接口对应的接口控件,勾选指定待测试接口对应的接口控件,当在该页面配置完待测试接口之后,通过触发“提交”按钮,用户终端生成配置数据,电子设备可以基于配置数据包括的待测试接口的标识信息,确定该测试场景关联的至少一个待测试接口,并进一步基于关联的至少一个待测试接口的测试用例构建该指定测试场景的场景测试用例。
或者,也可以是根据上述目标测试知识图谱确定出多个待测试接口包含的至少一个测试场景,以及每个测试场景关联的至少一个待测试接口。进而电子设备可以根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例。
S304、根据目标测试用例构建目标测试任务,并执行目标测试任务。
其中,该目标测试用例可以为多个待测试接口中目标待测试接口的测试用例和/或至少一个测试场景中目标测试场景的场景测试用例。因此,目标测试任务可以包括一个或多个待测试接口的测试用例,或者一个或多个待测试接口的场景测试用例,或者通过包括一个或多个待测试接口的测试用例和一个或多个待测试接口的场景测试用例。
在一个可能的实施方式中,在目标测试用例为目标待测试接口的测试用例时,电子设备执行目标测试任务具体可以是,在目标待测试接口适配的第一数量(大于1)个断言组件时,确定第一数量个断言组件中每个断言组件的优先级,根据每个断言组件的优先级确定每个断言组件的调用顺序,根据对每个断言组件的调用顺序,依次调用每个断言组件对目标待测试接口进行测试。其中,每个断言组件的优先级可以通过每个待测试接口适配的断言组件的优先级列表确定,也可以通过多个待测试接口对应的目标测试知识图谱确定。
在一些实施例中,电子设备确定目标待测试接口的具体方式可以是通过用户终端发送的对目标测试任务的配置数据确定的,如电子设备可以通过用户终端输出目标测试任务配置页面,配置页面包括多个待测试接口中每个待测试接口对应的控件,通过对每个待测试接口中指定待测试接口对应的控件的触发操作,用户终端根据所触发的控件对应的待测试接口生成配置数据,电子设备接收到该配置数据后根据配置数据包括的待测试接口的标识信息(如待测试接口的名称或唯一ID等)确定出目标待测试接口;或者,也可以是,根据实际应用过程中每个待测试接口的访问量确定出目标待测试接口,如经常访问的待测试接口作为目标待测试接口,或日均访问量超过第一访问量阈值的待测试接口作为目标待测试接口等等,第一访问量阈值可由相关业务人员根据经验值设定。
可选的,在一些实施例中,在电子设备执行目标测试任务的过程中,可以是依次调用所有的断言组件对目标待测试接口进行测试之后,得到并输出目标待测试接口的接口测试结果;或者也可以是,在调用优先级最高的断言组件进行测试时,若此时接口测试结果为接口存在错误或接口测试失败(如优先级最高的断言组件为接口健康断言组件,若目标待测试接口返回的状态码表示不处于健康状态,则表示接口存在错误),则可以先暂停目标待测试接口的测试过程,并通过用户终端输出接口测试结果,该接口测试结果可以包括接口存在错误或接口测试失败的原因,在相关业务人员基于接口测试结果对目标待测试结果进行调试之后继续进行对目标待测试接口的测试,若调用优先级最高的断言组件进行测试时,此时的接口测试结果表明接口测试无误,则继续调用后续的断言组件对目标待测试接口进行测试,直至所有的断言组件均被调用以完成对目标待测试接口的测试,并输出最终的接口测试结果。
在一个可能的实施方式中,在目标测试用例为目标测试场景的场景测试用例时,电子设备执行目标测试任务具体可以是,在目标测试场景关联的第二数量个待测试接口时,确定第二数量个待测试接口间的依赖关系,根据第二数量(大于1)个待测试接口间的依赖关系,确定对第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,根据对第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,依次调用第二数量个待测试接口中每个待测试接口的测试用例分别对第二数量个待测试接口中每个待测试接口进行测试。其中,第二数量个待测试接口间的依赖关系可以通过目标测试场景关联的至少一个待测试接口的依赖关系列表确定,也可以通过多个待测试接口对应的目标测试知识图谱确定。
在一些实施例中,电子设备确定目标测试场景的具体方式可以是通过用户终端发送的对目标测试任务的配置数据确定的,如电子设备可以通过用户终端输出目标测试任务配置页面,配置页面包括至少一个测试场景中每个测试场景对应的控件,通过对每个测试场景中指定测试场景对应的控件的触发操作,用户终端根据所触发的控件对应的测试场景生成配置数据,电子设备接收到该配置数据后根据配置数据包括的测试场景的标识信息(如测试场景的名称或唯一ID等)确定出目标测试场景;或者,也可以是,根据实际应用过程中每个测试场景关联的至少一个待测试接口的总访问量和/或平均访问量确定出目标测试场景,如经常访问的测试场景作为目标测试场景,或总访问量超过第二访问量阈值和/或目标访问量超过第三访问量阈值的测试场景作为测试场景等等,第二访问量阈值和第三访问量阈值可由相关业务人员根据经验值设定。
可选的,在一些实施例中,在电子设备执行目标测试任务的过程中,可以根据第二数量个待测试接口间的依赖关系确定第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,进而可以根据调用顺序的指示依次对第二数量个待测试接口中每个待测试接口进行测试,得到该目标测试场景下第二数量个待测试接口的接口测试结果,并通过用户终端进行输出。进一步的,若对第二数量个待测试接口中某个待测试接口的测试需要在对该某个待测试接口的前置接口测试完成后等待一段时间才能执行,或者,对第二数量个待测试接口中某个待测试接口的测试之前,需要对前置接口执行多次测试,因此可以在生成目标测试任务时,设置该前置接口的测试完成后的等待时间;或者,设置调用该前置接口的测试用例对该前置接口进行测试的循环次数,电子设备可以在完成对前置接口的测试之后,根据设置的等待时间,确定该某个待测试接口的测试用例的开始调用时刻;或者,根据设置的循环次数调用前置接口的测试用例对该前置接口完成测试之后,再调用该某个待测试接口的测试用例。
在一些实施例中,电子设备可以是在检测到用户终端发送的针对目标测试任务的执行指令时,从接口信息存储库中查询目标待测试接口的接口信息(可以包括接口地址、接口所属服务、所属服务地址等)和/或目标测试场景关联的测试接口的接口信息(可以包括接口地址、接口所属服务、所属服务地址、接口依赖关系等),也可以是通过用户终端输入前述接口信息,进而根据目标待测试接口的接口信息和/或目标测试场景关联的测试接口的接口信息确定接口调用路径,并基于接口调用路径执行目标测试任务以完成对待测试接口的测试。通过接口信息存储库统一存储接口信息,可以便于接口信息的修改。电子设备可以在该接口信息存储库查询得到每个测试场景关联的至少一个待测试接口的依赖关系。
在一个可能的实施方式中,每个断言组件在调用以进行接口测试时,断言组件需要设置组件参数,如接口健康断言组件的组件参数可以包括调用待测试接口返回的状态码的期望值等、接口返回断言组件的组件参数可以包括调用待测试接口返回的数据的期望数据(预设数据)。可选的,每个断言组件在调用时都可以设有默认组件参数,可以直接调用对待测试接口进行测试,但是针对不同的测试需求和实际测试场景,需基于适应性的组件参数对断言组件中的默认组件参数进行修改,并基于修改后的断言组件得到目标测试用例,进而构建得到目标测试任务。因此电子设备根据目标测试用例构建目标测试任务具体可以是,获取针对目标测试用例的组件更新参数,利用组件更新参数对目标测试用例进行更新,得到更新后的目标测试用例,根据更新后的目标测试用例构建目标测试任务。其中,该组件更新参数即为上述适应性的组件参数,更新后的目标测试用例包括上述修改后的断言组件。
可选的,在构建目标测试任务时,可以基于相关业务人员的需求制定自定义目标测试任务,如包括定时的目标测试任务等。该定时的目标测试任务可以为每周定时任务或每日定时任务,即设置运行频率为每周或每日,电子设备可以每周或每日对该目标测试任务包括的目标待测试接口和/或目标测试场景进行测试。或者自定义目标测试任务还可以包括指定测试频率和指定测试时间段,即电子设备在指定测试时间段内以指定测试频率对包括的目标待测试接口和/或目标测试场景进行测试,如指定测试频率为1小时,指定测试时间段为20:00-24:00,则表示在该20:00-24:00时间段内,每隔1小时进行一次测试。
例如,如图7a-图7b所示,图7a-图7b为本申请实施例提供的一种执行测试任务的场景示意图,其中,如图7a所示,电子设备可以通过用户终端输出所构建好的测试任务查询页面,可以通过触发操作栏下方的控件实现查看或修改目标测试任务包含的目标测试用例(目标待测试接口的测试用例和/或目标测试场景的场景测试用例),以及触发“执行”控件生成针对测试任务的执行指令以使电子设备执行所指定的测试任务,以及触发“测试结果”控件查看执行该测试任务后得到的接口测试结果,还可以通过搜索栏输入测试任务名称、测试任务编号等实现测试任务的查询;以及当通过触发“新建”控件时,用户终端生成测试任务配置请求并提交给电子设备,电子设备输出测试任务配置页面,如图7b中,该页面上输出了目标待测试接口对应的添加项和目标测试场景的添加项,设在配置目标测试任务中,相关业务人员可以在该页面输入测试任务名称,以及选择指定的待测试接口和/或指定的测试场景,并在点击了指定的待测试接口对应的添加项和/或指定的测试场景对应的添加项之后,展示待测试接口对应的接口控件和/或测试场景对应的场景控件,勾选指定待测试接口对应的接口控件和/或指定测试场景对应的场景控件,当在该页面配置完测试任务之后,通过触发“提交”按钮,用户终端生成针对目标测试任务的配置数据,电子设备根据该配置数据获取目标待测试接口以及目标待测试接口的测试用例,和/或目标测试场景以及目标测试场景的场景测试用例,进而构建目标测试任务。
又如,如图7c-图7d所示,图7c-图7d为本申请实施例提供的一种测试任务配置的场景示意图,其中,如图7c所示,在配置测试任务时,还可以指定自定义目标测试任务,即选择执行时间进行运行频率的设置,则电子设备定时执行目标测试任务的时间,即在测试任务查询页面点击“执行”控件之后,电子设备就按照指定的运行频率(每天)对执行目标测试任务;如图7d所示,在测试任务配置页面中,还可以设置组件更新参数,即可以是在选择了目标待测试接口和/或目标测试场景之后,可以右键点击该选择的目标待测试接口和/或目标测试场景,如“待测试接口XXX”,会对应以弹窗的形式显示一个选择窗口,相关业务人员可以通过点击“查看断言组件”的控件生成组件显示请求,电子设备接收到该请求之后通过用户终端输出组件显示页面,如图7e所示,该页面会显示用于构建该选择的待测试接口的测试用例的断言组件(图7e(1)),点击指定的断言组件对应的控件可以查看到该断言组件的组件参数(当点击的控件为“测试场景XXX”时,页面会显示用于构建该选择的测试场景的场景测试用例的待测试接口的测试用例,以及用于构建每个待测试接口的测试用例的断言组件(图7e(2))),如图7f,相关业务人员可以对该断言组件的组件参数进行修改,点击“保存”按钮之后,用户终端可以基于相关业务人员操作生成组件更新参数,之后在测试任务配置页面点击“提交”按钮之后,生成的针对目标测试任务的配置数据中携带目标测试用例的组件更新参数,因此电子设备在构建目标测试任务时会利用组件更新参数对目标测试用例进行更新,并基于根据更新后的目标测试用例构建目标测试任务。
本申请实施例中,电子设备可以获取对多个待测试接口中每个待测试接口的测试用例的配置数据,并根据配置数据包括的断言组件的标识信息,确定多个待测试接口中每个待测试接口适配的断言组件,根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例,从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例,根据目标测试用例构建目标测试任务,并执行目标测试任务。通过实施本申请实施例所提出的方法,可以根据测试用例的配置数据或待测试接口的接口类型确定待测试接口适配的断言组件,以及可以通过待测试接口适配的断言组件生成待测试接口的测试用例或者构建场景测试用例,进而得到目标测试任务,并执行该目标测试任务实现接口测试,可以简化接口测试的流程,提高接口的测试效率。
请参见图8,图8为本申请提供的一种接口测试装置的结构示意图。需要说明的是,图8所示的接口测试装置,用于执行本申请图2和图3所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示,经参照本申请图2和图3所示的实施例。该接口测试装置800可包括:确定模块801、构建模块802、执行模块803。其中:
确定模块801,用于确定多个待测试接口中每个待测试接口适配的断言组件;
构建模块802,用于根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
所述构建模块802,还用于从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
执行模块803,用于根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
在一个可能的实施方式中,在所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例时,所述执行模块803在用于执行所述目标测试任务时,具体用于:
在所述目标待测试接口适配的第一数量个断言组件时,确定所述第一数量个断言组件中每个断言组件的优先级;
根据所述每个断言组件的优先级确定对所述每个断言组件的调用顺序;
根据对所述每个断言组件的调用顺序,依次调用所述每个断言组件对所述目标待测试接口进行测试。
在一个可能的实施方式中,在所述目标测试用例为至少一个测试场景中目标测试场景的场景测试用例时,所述执行模块803在用于执行所述目标测试任务时,具体用于:
在所述目标测试场景关联的第二数量个待测试接口时,确定所述第二数量个待测试接口间的依赖关系;
根据所述第二数量个待测试接口间的依赖关系,确定对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序;
根据对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,依次调用所述第二数量个待测试接口中每个待测试接口的测试用例分别对所述第二数量个待测试接口中每个待测试接口进行测试。
在一个可能的实施方式中,所述确定模块801在用于确定多个待测试接口中每个待测试接口适配的断言组件时,具体用于:
查询所述多个待测试接口中每个待测试接口的接口类型;
根据所述每个待测试接口的接口类型确定所述每个待测试接口适配的断言组件。
在一个可能的实施方式中,所述确定模块801在用于确定多个待测试接口中所述每个待测试接口适配的断言组件时,具体用于:
获取对所述多个待测试接口中每个待测试接口的测试用例的配置数据;所述配置数据包括所述断言组件的标识信息;
根据所述配置数据包括的断言组件的标识信息,确定所述多个待测试接口中每个待测试接口适配的断言组件。
在一个可能的实施方式中,所述确定模块801在用于确定多个待测试接口中所述每个待测试接口适配的断言组件之前,还用于:
在检测到用户终端提交的测试用例配置请求时,通过所述用户终端输出测试用例配置页面;所述测试用例配置页面包括用于配置测试用例的多个配置项,所述多个配置项包括前置断言组件对应的添加项以及后置断言组件对应的添加项;
在检测到基于所述前置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第一控件,以便所述用户终端根据所述多个第一控件对所述多个待测试接口中的指定待测试接口进行所述前置断言组件的配置;所述第一控件为属于所述前置断言组件的断言组件对应的控件;
在检测到基于所述后置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第二控件,以便所述用户终端根据所述多个第二控件对所述指定待测试接口进行所述后置断言组件的配置;所述第二控件为属于所述后置断言组件的断言组件对应的控件;
获取所述用户终端提交的对所述指定待测试接口的测试用例的配置数据,所述配置数据包括配置的断言组件的标识信息。
在一个可能的实施方式中,所述执行模块803在用于根据目标测试用例构建目标测试任务时,具体用于:
获取针对所述目标测试用例的组件更新参数;
利用所述组件更新参数对所述目标测试用例进行更新,得到更新后的目标测试用例;
根据所述更新后的目标测试用例构建目标测试任务。
本申请实施例中,确定模块确定多个待测试接口中每个待测试接口适配的断言组件;构建模块根据每个待测试接口适配的断言组件构建每个待测试接口的测试用例;构建模块从多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据至少一个待测试接口中每个待测试接口的测试用例构建每个测试场景的场景测试用例;执行模块根据目标测试用例构建目标测试任务,并执行目标测试任务,该目标测试用例为多个待测试接口中目标待测试接口的测试用例和/或至少一个测试场景中目标测试场景的场景测试用例。通过实施上述所提出的装置,可以通过待测试接口适配的断言组件生成待测试接口的测试用例或者构建场景测试用例,进而得到目标测试任务,并执行该目标测试任务实现接口测试,可以简化接口测试的流程,提高接口的测试效率。
在本申请各个实施例中的各功能模块可以集成在一个模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,本申请不做限定。
请参见图9,图9为本申请实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备900包括:至少一个处理器901、存储器902。可选的,该电子设备还可以包括网络接口。其中,所述处理器901、存储器902以及网络接口之间可以交互数据,该网络接口可以受所述处理器901的控制用于收发消息,存储器902用于存储计算机程序,所述计算机程序包括程序指令,处理器901用于执行存储器902存储的程序指令。其中,处理器901被配置用于调用所述程序指令执行上述方法。
所述存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器902也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器902还可以包括上述种类的存储器的组合。
所述处理器901可以是中央处理器(central processing unit,CPU)。在一个实施例中,所述处理器901还可以是图形处理器(Graphics Processing Unit,GPU)。所述处理器901也可以是由CPU和GPU的组合。
在一个可能的实施方式中,所述存储器902用于存储程序指令。所述处理器901可以调用所述程序指令,执行以下步骤:
确定多个待测试接口中每个待测试接口适配的断言组件;
根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
在一个可能的实施方式中,在所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例时,所述处理器901在用于执行所述目标测试任务时,具体用于:
在所述目标待测试接口适配的第一数量个断言组件时,确定所述第一数量个断言组件中每个断言组件的优先级;
根据所述每个断言组件的优先级确定对所述每个断言组件的调用顺序;
根据对所述每个断言组件的调用顺序,依次调用所述每个断言组件对所述目标待测试接口进行测试。
在一个可能的实施方式中,在所述目标测试用例为至少一个测试场景中目标测试场景的场景测试用例时,所述处理器901在用于执行所述目标测试任务时,具体用于:
在所述目标测试场景关联的第二数量个待测试接口时,确定所述第二数量个待测试接口间的依赖关系;
根据所述第二数量个待测试接口间的依赖关系,确定对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序;
根据对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,依次调用所述第二数量个待测试接口中每个待测试接口的测试用例分别对所述第二数量个待测试接口中每个待测试接口进行测试。
在一个可能的实施方式中,所述处理器901在用于确定多个待测试接口中每个待测试接口适配的断言组件时,具体用于:
查询所述多个待测试接口中每个待测试接口的接口类型;
根据所述每个待测试接口的接口类型确定所述每个待测试接口适配的断言组件。
在一个可能的实施方式中,所述处理器901在用于确定多个待测试接口中所述每个待测试接口适配的断言组件时,具体用于:
获取对所述多个待测试接口中每个待测试接口的测试用例的配置数据;所述配置数据包括所述断言组件的标识信息;
根据所述配置数据包括的断言组件的标识信息,确定所述多个待测试接口中每个待测试接口适配的断言组件。
在一个可能的实施方式中,所述处理器901在用于确定多个待测试接口中所述每个待测试接口适配的断言组件之前,还用于:
在检测到用户终端提交的测试用例配置请求时,通过所述用户终端输出测试用例配置页面;所述测试用例配置页面包括用于配置测试用例的多个配置项,所述多个配置项包括前置断言组件对应的添加项以及后置断言组件对应的添加项;
在检测到基于所述前置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第一控件,以便所述用户终端根据所述多个第一控件对所述多个待测试接口中的指定待测试接口进行所述前置断言组件的配置;所述第一控件为属于所述前置断言组件的断言组件对应的控件;
在检测到基于所述后置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第二控件,以便所述用户终端根据所述多个第二控件对所述指定待测试接口进行所述后置断言组件的配置;所述第二控件为属于所述后置断言组件的断言组件对应的控件;
获取所述用户终端提交的对所述指定待测试接口的测试用例的配置数据,所述配置数据包括配置的断言组件的标识信息。
在一个可能的实施方式中,所述处理器901在用于根据目标测试用例构建目标测试任务时,具体用于:
获取针对所述目标测试用例的组件更新参数;
利用所述组件更新参数对所述目标测试用例进行更新,得到更新后的目标测试用例;
根据所述更新后的目标测试用例构建目标测试任务。
具体实现中,本申请实施例中所描述的装置、处理器901、存储器902等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
本申请实施例中还提供一种计算机(可读)存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使所述处理器可执行上述方法实施例中所执行的部分或全部步骤。可选的,该计算机存储介质可以是易失性的,也可以是非易失性的。所述的计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
其中,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。

Claims (10)

1.一种接口测试方法,其特征在于,所述方法包括:
确定多个待测试接口中每个待测试接口适配的断言组件;
根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
2.根据权利要求1所述的方法,其特征在于,在所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例时,所述执行所述目标测试任务,包括:
在所述目标待测试接口适配的第一数量个断言组件时,确定所述第一数量个断言组件中每个断言组件的优先级;
根据所述每个断言组件的优先级确定对所述每个断言组件的调用顺序;
根据对所述每个断言组件的调用顺序,依次调用所述每个断言组件对所述目标待测试接口进行测试。
3.根据权利要求1所述的方法,其特征在于,在所述目标测试用例为至少一个测试场景中目标测试场景的场景测试用例时,所述执行所述目标测试任务,包括:
在所述目标测试场景关联的第二数量个待测试接口时,确定所述第二数量个待测试接口间的依赖关系;
根据所述第二数量个待测试接口间的依赖关系,确定对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序;
根据对所述第二数量个待测试接口中每个待测试接口的测试用例的调用顺序,依次调用所述第二数量个待测试接口中每个待测试接口的测试用例分别对所述第二数量个待测试接口中每个待测试接口进行测试。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述确定多个待测试接口中每个待测试接口适配的断言组件,包括:
查询所述多个待测试接口中每个待测试接口的接口类型;
根据所述每个待测试接口的接口类型确定所述每个待测试接口适配的断言组件。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述确定多个待测试接口中所述每个待测试接口适配的断言组件,包括:
获取对所述多个待测试接口中每个待测试接口的测试用例的配置数据;所述配置数据包括所述断言组件的标识信息;
根据所述配置数据包括的断言组件的标识信息,确定所述多个待测试接口中每个待测试接口适配的断言组件。
6.根据权利要求5所述的方法,其特征在于,所述确定多个待测试接口中所述每个待测试接口适配的断言组件之前,所述方法还包括:
在检测到用户终端提交的测试用例配置请求时,通过所述用户终端输出测试用例配置页面;所述测试用例配置页面包括用于配置测试用例的多个配置项,所述多个配置项包括前置断言组件对应的添加项以及后置断言组件对应的添加项;
在检测到基于所述前置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第一控件,以便所述用户终端根据所述多个第一控件对所述多个待测试接口中的指定待测试接口进行所述前置断言组件的配置;所述第一控件为属于所述前置断言组件的断言组件对应的控件;
在检测到基于所述后置断言组件对应的添加项提交的添加指令时,通过所述用户终端输出多个第二控件,以便所述用户终端根据所述多个第二控件对所述指定待测试接口进行所述后置断言组件的配置;所述第二控件为属于所述后置断言组件的断言组件对应的控件;
获取所述用户终端提交的对所述指定待测试接口的测试用例的配置数据,所述配置数据包括配置的断言组件的标识信息。
7.根据权利要求1所述的方法,其特征在于,所述根据目标测试用例构建目标测试任务,包括:
获取针对所述目标测试用例的组件更新参数;
利用所述组件更新参数对所述目标测试用例进行更新,得到更新后的目标测试用例;
根据所述更新后的目标测试用例构建目标测试任务。
8.一种接口测试装置,其特征在于,所述装置包括:
确定模块,用于确定多个待测试接口中每个待测试接口适配的断言组件;
构建模块,用于根据所述每个待测试接口适配的断言组件构建所述每个待测试接口的测试用例;
所述构建模块,还用于从所述多个待测试接口中确定出至少一个测试场景中每个测试场景关联的至少一个待测试接口,并根据所述至少一个待测试接口中每个待测试接口的测试用例构建所述每个测试场景的场景测试用例;
执行模块,用于根据目标测试用例构建目标测试任务,并执行所述目标测试任务;所述目标测试用例为所述多个待测试接口中目标待测试接口的测试用例和/或所述至少一个测试场景中目标测试场景的场景测试用例。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN202111065807.XA 2021-09-10 2021-09-10 接口测试方法、装置、电子设备及存储介质 Pending CN113778878A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111065807.XA CN113778878A (zh) 2021-09-10 2021-09-10 接口测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111065807.XA CN113778878A (zh) 2021-09-10 2021-09-10 接口测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113778878A true CN113778878A (zh) 2021-12-10

Family

ID=78842881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111065807.XA Pending CN113778878A (zh) 2021-09-10 2021-09-10 接口测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113778878A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389969A (zh) * 2022-01-12 2022-04-22 北京百度网讯科技有限公司 客户端的测试方法、装置、电子设备和存储介质
CN114817079A (zh) * 2022-06-30 2022-07-29 云账户技术(天津)有限公司 软件稳定性的测试方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389969A (zh) * 2022-01-12 2022-04-22 北京百度网讯科技有限公司 客户端的测试方法、装置、电子设备和存储介质
CN114817079A (zh) * 2022-06-30 2022-07-29 云账户技术(天津)有限公司 软件稳定性的测试方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110944048B (zh) 业务逻辑配置方法及装置
US20220050769A1 (en) Program testing method and apparatus, computer device, and storage medium
CN111221726A (zh) 一种测试数据生成方法、装置、存储介质和智能设备
US20200201689A1 (en) System and method for determining a process flow of a software application and for automatically generating application testing code
CN106126410B (zh) 代码冲突的提示方法及装置
US8311794B2 (en) Testing executable logic
CN108111364B (zh) 一种业务系统的测试方法及装置
CN110347545A (zh) 一种业务平台缓存策略的测试方法及装置
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
US20200327044A1 (en) Method for constructing test scenario and information processing device
CN115437933A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN107357721B (zh) 测试系统的方法及装置
CN109725785A (zh) 任务执行情况追踪方法、装置、设备及可读存储介质
CN112613275A (zh) 单据生成方法、装置、计算机设备和存储介质
CN112561690A (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN112306471A (zh) 一种任务的调度方法和装置
CN115018621A (zh) 一种合约变更方法、装置、设备及介质
CN113704114A (zh) 功能接口的自动化测试方法、装置、设备及介质
CN109840213B (zh) 一种gui测试的测试数据创建方法、装置、终端及存储介质
CN112631949A (zh) 一种调试方法、装置、计算机设备及存储介质
US20080195453A1 (en) Organisational Representational System
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN111240981A (zh) 一种接口测试方法、系统及平台
CN113590488B (zh) 模拟金融数据支撑的系统测试方法与测试平台
CN111488283B (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