CN110209569B - 接口测试方法、接口测试装置及存储介质 - Google Patents

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

Info

Publication number
CN110209569B
CN110209569B CN201810445207.8A CN201810445207A CN110209569B CN 110209569 B CN110209569 B CN 110209569B CN 201810445207 A CN201810445207 A CN 201810445207A CN 110209569 B CN110209569 B CN 110209569B
Authority
CN
China
Prior art keywords
test
interface
testing
account
module
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
Application number
CN201810445207.8A
Other languages
English (en)
Other versions
CN110209569A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810445207.8A priority Critical patent/CN110209569B/zh
Publication of CN110209569A publication Critical patent/CN110209569A/zh
Application granted granted Critical
Publication of CN110209569B publication Critical patent/CN110209569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3692Test management for test results analysis

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种接口测试方法,其包括接收接口测试请求,并根据接口测试请求获取对应的测试用例;其中测试用例基于测试对象以及测试流程预先配置;设置接口测试对应的运行环境和/或运行账号;在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。本发明还提供一种接口测试装置,本发明的接口测试方法及接口测试装置对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度提高接口测试的效率以及兼容性。

Description

接口测试方法、接口测试装置及存储介质
技术领域
本发明涉及服务器应用领域,特别是涉及一种接口测试方法、接口测试装置及存储介质。
背景技术
近年来金融类业务快速发展,金融类项目后台架构的模块种类越来越多,模块接口测试的难度以及工作量大大增加,因此模块接口的自动化测试的范围也越来越大,如用户界面接口(UI接口)、通用网关接口(CGI接口)、底层服务接口以及定时脚本接口等。
同时由于金融业务的业务场景越来越多样化,需要模块自动化测试的测试场景尽可能地模拟真实场景或异常场景,并可能需要人工测试进行辅助。但是模块自动化测试的总测试量以及测试时间却是有限的,现有的接口测试方法无法在有限的测试时间内完成越来越多样化的业务场景中的测试项目。
因此现有的模块接口测试方法以及模块接口测试装置的测试效率较低且测试兼容性较差。
发明内容
本发明实施例提供一种测试效率以及测试兼容性均较高的接口测试方法以及接口测试装置;以解决现有的接口测试方法以及接口测试装置中测试效率以及测试兼容性较差的技术问题。
本发明实施例提供一种接口测试方法,其包括:
接收接口测试请求,并根据所述接口测试请求获取对应的测试用例;其中所述测试用例基于测试对象以及测试流程预先配置;
设置接口测试对应的运行环境和/或运行账号;以及
在所述运行环境和/或运行账号的基础上,使用所述测试用例进行模块接口测试。
本发明实施例还提供一种接口测试装置,其包括:
测试用例获取模块,用于接收接口测试请求,并根据所述接口测试请求获取对应的测试用例;其中所述测试用例基于测试对象以及测试流程预先配置;
运行环境设置模块,用于设置接口测试对应的运行环境和/或运行账号;以及
接口测试模块,用于在所述运行环境和/或运行账号的基础上,使用所述测试用例进行模块接口测试。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述的接口测试方法。
相较于现有技术,本发明的接口测试方法、接口测试装置及存储介质对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度提高接口测试的效率以及兼容性;有效的解决了现有的接口测试方法以及接口测试装置中测试效率以及测试兼容性较差的技术问题。
附图说明
图1为本发明的接口测试方法的第一实施例的流程图;
图2为本发明的接口测试方法对应的自动单元测试框架Pyunit的目录结构示意图;
图3为本发明的接口测试方法的第二实施例的流程图;
图4为本发明的接口测试方法的第二实施例的步骤S306的流程图;
图5为本发明的接口测试装置的第一实施例的结构示意图;
图6为本发明的接口测试装置的第二实施例的结构示意图;
图7为本发明的接口测试装置的第二实施例的运行环境设置模块的结构示意图;
图8为本发明的接口测试装置的第二实施例的接口测试模块的结构示意图;
图9为本发明的接口测试方法及接口测试装置的具体实施例的功能架构图;
图10为本发明的接口测试方法及接口测试装置的接口测试流程图;
图11为本发明的接口测试方法及接口测试装置的可视化管理架构图;
图12为本发明的接口测试方法及接口测试装置的可视化平台的示意图之一;
图13为本发明的接口测试方法及接口测试装置的可视化平台的示意图之二;
图14为本发明的接口测试方法及接口测试装置用于进行数据驱动测试的示意图;
图15为本发明的接口测试装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的接口测试方法及装置可设置在任何的电子设备中,用于对用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等模块接口进行自动化测试操作,以提高该自动化测试的测试效率。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA,Personal Digital Assistant)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为提供自动化测试服务的模块接口测试服务器。该模块接口测试服务器通过对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度的提高接口测试的效率以及兼容性。
请参照图1,图1为本发明的接口测试方法的第一实施例的流程图。本实施例的接口测试方法可使用上述的电子设备进行实施,本实施例的接口测试方法包括:
步骤S101,接收接口测试请求,并根据接口测试请求获取对应的测试用例;其中测试用例基于测试对象以及测试流程预先配置;
步骤S102,设置接口测试对应的运行环境和/或运行账号;
步骤S103,在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。
下面详细说明本实施例的接口测试方法的各步骤的具体流程。
在步骤S101中,接口测试装置,如模块接口测试服务器,接收接口测试请求。该接口测试请求为用户请求对预设的模块接口(如内存泄漏测试模块、并发测试模块以及异常测试模块等)进行接口测试的请求。
随后接口测试装置根据该接口测试请求获取对应的测试用例,该测试用例为对模块接口进行测试的测试模块,该测试用例可包括至少一个预先配置的测试对象以及测试流程。测试对象是指进行接口测试的模块接口,如用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等。测试流程是指对该测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等。
在步骤S102中,接口测试装置在步骤S101确定该接口测试对应的测试用例后,会设置该接口测试对应的运行环境和/或运行账号。
这里的运行环境是指测试用例的运行终端的环境或运行地址,由于测试用例最终需要在客户端上运行,因此这里需要使用多种运行环境对测试用例进行测试,如开发环境、测试环境或预发布环境等,这样方便测试人员在不同的运行环境下对该测试用例进行调整。
这里的运行账号是指测试用例运行需要使用的业务账号、用户账号或订单账号等业务数据。如测试某个应用的白金用户的贷款金额调整情况,则需要实用白金用户账号登录该应用进行测试。如该测试用例运行不需要使用任何运行账号数据,也可不设置运行账号。
在步骤S103中,接口测试装置在步骤S102设置的运行环境和/或运行账号的基础上,使用步骤S101获取的测试用例进行模块接口测试。如进行模块接口的内存泄漏测试、进程并发测试、数据异常测试或数据驱动测试等。
这样即完成了本实施例的接口测试方法的模块接口测试过程。
本实施例的接口测试方法可使用自动单元测试框架Pyunit进行实施,该自动单元测试框架Pyunit可包括如图2所示的目录结构,其中conf为运行环境配置文件,可json格式存储;data为运行账号资源,可json格式存储;framework为公共框架数据目录,其中可包括一些基础库接口的目录以及第三方库接口的目录;TestCase为测试用例目录,用于存储测试用例中的内容,特别是测试流程;TestObj为测试对象目录,用于存储测试用例中的测试对象的内容;web为展示测试用例的web展示要素;report为测试报告目录,用于存储测试用例的测试结果。
本实施例的接口测试方法通过自动单元测试框架Pyunit对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度提高接口测试的效率以及兼容性。
请参照图3,图3为本发明的接口测试方法的第二实施例的流程图。本实施例的接口测试方法可使用上述的电子设备进行实施,本实施例的接口测试方法包括:
步骤S301,基于对应的协议基类以及继承基类,创建测试对象;并设置测试对象的测试参数;
步骤S302,基于测试对象的数量以及执行顺序,设置测试对象对应的测试流程;
步骤S303,接收接口测试请求,并根据接口测试请求获取对应的测试用例;其中测试用例基于测试对象以及测试流程预先配置;
步骤S304,获取测试用例的类型,并根据测试用例的类型确定是否设置运行账号以及运行账号的类型;
步骤S305,根据接口测试请求的测试要求,设置测试用例的运行环境;
步骤S306,在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。
下面详细说明本实施例的接口测试方法的各步骤的具体流程。
在步骤S301中,接口测试装置基于测试对象的协议基类以及继承基类,创建至少一个测试对象。测试对象是指进行接口测试的模块接口,如用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等。这里的协议基类可为HTTP协议、TCP协议或Middle协议等。继承基类为现有测试对象从父类继承的基类信息。如父类TrpcClient可实现内容通信协议,对应的测试对象可直接继承TrpcClient。
随后接口测试装置可以字典形式设置测试对象的测试参数,这样测试人员可根据实际场景对该测试参数进行调整。
在步骤S302中,接口测试装置基于步骤S301设置的测试对象的数量以及测试对象的执行顺序,以公共框架数据库的基础库接口以及第三方库接口作为调用资源,设置测试对象对应的测试流程。测试流程是指对该测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等。
这样即完成了测试用例的预先配置过程。该测试用例为对模块接口进行测试的测试模块,该测试用例可包括至少一个预先配置的测试对象以及测试流程。
在步骤S303中,接口测试装置接收接口测试请求。该接口测试请求为用户请求对预设的模块接口(如内存泄漏测试模块、并发测试模块以及异常测试模块等)进行接口测试的请求。随后接口测试模块根据该接口测试请求获取对应的测试用例,该测试用例在步骤S302中预先配置。
在步骤S304中,接口测试装置获取步骤S303获取的测试用例的类型,即该测试用例是否是用户账号相关测试用例、业务账号相关测试用例或无账号相关测试用例等。
如测试用例的类型需要设置用户账号、业务账号等运行账号,则接口测试装置根据测试用例的类型设置运行账号的类型;如测试用例的类型为无账号相关测试用例,则接口测试装置不设置任何运行账号。
在步骤S305中,接口测试装置获取接口测试请求的测试要求,这里的测试要求是指接口测试对应的运行环境要求。如开发环境要求、测试环境要求或预发布环境要求等。随后接口测试装置根据上述测试要求,设置测试用例的运行环境。
在步骤S306中,接口测试装置在步骤S305设置的运行环境和/或步骤S304设置的运行账号的基础上,使用步骤S303获取的测试用例进行模块接口测试。如进行模块接口的内存泄漏测试、进程并发测试、数据异常测试或数据驱动测试等。
具体请参照图4,图4为本发明的接口测试方法的第二实施例的步骤S306的流程图。该步骤S306包括:
步骤S401,接口测试装置根据接口测试请求,确定测试用例中的至少一个测试流程以及至少一个对应的测试对象。即本实施例的接口测试方法可对测试用例中的部分测试流程以及部分测试对象单独进行测试操作。
这里的测试用例可包括多个测试流程,每个测试流程可包括多个测试对象,在本步骤中可选择测试用例中的部分测试流程,以及选择的测试流程中的部分测试对象进行测试操作。
具体的,这里接口测试装置会将测试对象的测试参数存储至一临时存储空间,以便在测试过程中对测试对象的测试参数进行修改。这样其他测试流程可同时调用同一测试对象进行测试操作。
步骤S402,接口测试装置根据测试用例对应的测试流程,从公共框架数据库获取对应的测试流程框架接口,即调用基础库接口资源以及第三方库接口资源。
步骤S403,接口测试装置在步骤S305确定的运行环境中,通过步骤S402获取的测试流程框架接口,使用步骤S304获取的运行账号对至少一个对应的测试对象执行至少一测试流程,最后通过可视化平台展示上述模块接口测试的测试结果。
这样即完成了本实施例的接口测试方法的模块接口测试过程。
在第一实施例的基础上,本实施例的接口测试方法根据协议基类、集成基类以及测试参数来设定测试参数;通过测试对象的数量以及执行顺序来设定测试流程;可对部分测试流程以及部分测试对象单独进行测试操作,进一步提高了接口测试的多样性以及兼容性。
本发明还提供一种接口测试装置,请参照图5,图5为本发明的接口测试装置的第一实施例的结构示意图。本实施例的接口测试装置可使用上述的接口测试方法的第一实施例进行实施。本实施例的接口测试装置50包括测试用例获取模块51、运行环境设置模块52以及接口测试模块53。
测试用例获取模块51用于接收接口测试请求,并根据接口测试请求获取对应的测试用例;其中测试用例基于测试对象以及测试流程预先配置;运行环境设置模块52用于设置接口测试对应的运行环境和/或运行账号;接口测试模块53用于在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。
本实施例的接口测试装置50使用时,测试用例获取模块51接收接口测试请求。该接口测试请求为用户请求对预设的模块接口(如内存泄漏测试模块、并发测试模块以及异常测试模块等)进行接口测试的请求。
随后测试用例获取模块51根据该接口测试请求获取对应的测试用例,该测试用例为对模块接口进行测试的测试模块,该测试用例可包括至少一个预先配置的测试对象以及测试流程。测试对象是指进行接口测试的模块接口,如用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等。测试流程是指对该测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等。
然后运行环境设置模块52在确定该接口测试对应的测试用例后,会设置该接口测试对应的运行环境和/或运行账号。
这里的运行环境是指测试用例的运行终端的环境或运行地址,由于测试用例最终需要在客户端上运行,因此这里需要使用多种运行环境对测试用例进行测试,如开发环境、测试环境或预发布环境等,这样方便测试人员在不同的运行环境下对该测试用例进行调整。
这里的运行账号是指测试用例运行需要使用的业务账号、用户账号或订单账号等业务数据。如测试某个应用的白金用户的贷款金额调整情况,则需要实用白金用户账号登录该应用进行测试。如该测试用例运行不需要使用任何运行账号数据,也可不设置运行账号。
最后接口测试模块53在运行环境设置模块52设置的运行环境和/或运行账号的基础上,使用测试用例获取模块51获取的测试用例进行模块接口测试。如进行模块接口的内存泄漏测试、进程并发测试、数据异常测试或数据驱动测试等。
这样即完成了本实施例的接口测试装置50的模块接口测试过程。
本实施例的接口测试装置50可使用自动单元测试框架Pyunit进行实施,该自动单元测试框架Pyunit可包括如图2所示的目录结构,其中conf为运行环境配置文件,可json格式存储;data为运行账号资源,可json格式存储;framework为公共框架数据目录,其中可包括一些基础库接口的目录以及第三方库接口的目录;TestCase为测试用例目录,用于存储测试用例中的内容,特别是测试流程;TestObj为测试对象目录,用于存储测试用例中的测试对象的内容;web为展示测试用例的web展示要素;report为测试报告目录,用于存储测试用例的测试结果。
本实施例的接口测试装置通过自动单元测试框架Pyunit对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度提高接口测试的效率以及兼容性。
请参照图6,图6为本发明的接口测试装置的第二实施例的结构示意图。本实施例的接口测试装置可使用上述的接口测试方法的第二实施例进行实施。本实施例的接口测试装置60包括测试对象创建模块61、测试流程设置模块62、测试用例获取模块63、运行环境设置模块64以及接口测试模块65。
测试对象创建模块61用于基于对应的协议基类以及继承基类,创建测试对象,并设置测试对象的测试参数;测试流程设置模块62用于基于测试对象的数量以及执行顺序,设置测试对象对应的测试流程;测试用例获取模块63用于接收接口测试请求,并根据接口测试请求获取对应的测试用例;运行环境设置模块64用于设置接口测试对应的运行环境和/或运行账号;接口测试模块65用于在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。
请参照图7,图7为本发明的接口测试装置的第二实施例的运行环境设置模块的结构示意图。该运行环境设置模块64包括运行账号确定单元71以及运行环境设置单元72。
运行账号确定单元71用于获取测试用例的类型,并根据测试用例的类型确定是否设置运行账号以及运行账号的类型;运行环境设置单元72用于根据接口测试请求的测试要求,设置测试用例的运行环境。
请参照图8,图8为本发明的接口测试装置的第二实施例的接口测试模块的结构示意图。该接口测试模块65包括测试流程确定单元81、测试流程框架接口获取单元82以及接口测试单元83。
测试流程确定单元81用于根据接口测试请求,确定测试用例中的至少一测试流程以及至少一个对应的测试对象;测试流程框架接口获取单元82用于根据测试流程,从公共框架数据库获取对应的测试流程框架接口;接口测试单元83用于在运行环境中,通过测试流程框架接口,对至少一个对应的测试对象执行至少一测试流程;并通过可视化平台展示模块接口测试的测试结果。
该接口测试单元83具体用于在运行环境中,通过测试流程框架接口,使用对应的运行账号对至少一个对应的测试对象执行至少一测试流程。该测试流程确定单元81还用于将测试对象的测试参数存储至一临时文件夹中,以便在测试过程中对测试对象的测试参数进行修改。
本实施例的接口测试装置60使用时,首先测试对象创建模块61基于测试对象的协议基类以及继承基类,创建至少一个测试对象。测试对象是指进行接口测试的模块接口,如用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等。这里的协议基类可为HTTP协议、TCP协议或Middle协议等。继承基类为现有测试对象从父类继承的基类信息。如父类TrpcClient可实现内容通信协议,对应的测试对象可直接继承TrpcClient。
随后测试对象创建模块61可以字典形式设置测试对象的测试参数,这样测试人员可根据实际场景对该测试参数进行调整。
然后测试流程设置模块62基于测试对象的数量以及测试对象的执行顺序,以公共框架数据库的基础库接口以及第三方库接口作为调用资源,设置测试对象对应的测试流程。测试流程是指对该测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等。
这样即完成了测试用例的预先配置过程。该测试用例为对模块接口进行测试的测试模块,该测试用例可包括至少一个预先配置的测试对象以及测试流程。
随后测试用例获取模块63接收接口测试请求。该接口测试请求为用户请求对预设的模块接口(如内存泄漏测试模块、并发测试模块以及异常测试模块等)进行接口测试的请求。随后测试用例获取模块63根据该接口测试请求获取对应的测试用例,该测试用例在测试流程设置模块中预先配置。
然后运行环境设置模块64的运行账号确定单元71获取的测试用例的类型,即该测试用例是否是用户账号相关测试用例、业务账号相关测试用例或无账号相关测试用例等。
如测试用例的类型需要设置用户账号、业务账号等运行账号,则运行账号确定单元根据测试用例的类型设置运行账号的类型;如测试用例的类型为无账号相关测试用例,则运行账号确定单元不设置任何运行账号。
随后运行环境设置模块64的运行环境设置单元72获取接口测试请求的测试要求,这里的测试要求是指接口测试对应的运行环境要求。如开发环境要求、测试环境要求或预发布环境要求等。随后接口测试装置根据上述测试要求,设置测试用例的运行环境。
最后接口测试模块65在运行环境和/或运行账号的基础上,使用测试用例进行模块接口测试。如进行模块接口的内存泄漏测试、进程并发测试、数据异常测试或数据驱动测试等。
具体流程包括:
接口测试模块65的测试流程确定单元81根据接口测试请求,确定测试用例中的至少一个测试流程以及至少一个对应的测试对象。即本实施例的接口测试方法可对测试用例中的部分测试流程以及部分测试对象单独进行测试操作。
这里的测试用例可包括多个测试流程,每个测试流程可包括多个测试对象,在本步骤中可选择测试用例中的部分测试流程,以及选择的测试流程中的部分测试对象进行测试操作。
具体的,这里测试流程确定单元81会将测试对象的测试参数存储至一临时存储空间,以便在测试过程中对测试对象的测试参数进行修改。这样其他测试流程可同时调用同一测试对象进行测试操作。
接口测试模块65的测试流程框架接口获取单元82根据测试用例对应的测试流程,从公共框架数据库获取对应的测试流程框架接口,即调用基础库接口资源以及第三方库接口资源。
接口测试模块65的接口测试单元83在运行环境设置模块64确定的运行环境中,通过测试流程框架接口,使用运行账号对至少一个对应的测试对象执行至少一测试流程,最后通过可视化平台展示上述模块接口测试的测试结果。
这样即完成了本实施例的接口测试装置60的模块接口测试过程。
在第一实施例的基础上,本实施例的接口测试装置根据协议基类、集成基类以及测试参数来设定测试参数;通过测试对象的数量以及执行顺序来设定测试流程;可对部分测试流程以及部分测试对象单独进行测试操作,进一步提高了接口测试的多样性以及兼容性。
下面通过一具体实施例说明本发明的接口测试方法及接口测试装置的具体工作原理。请参照图9,图9为本发明的接口测试方法及接口测试装置的具体实施例的功能架构图;本具体实施例的接口测试方法以及接口测试装置可设置在提供自动化测试服务的模块接口测试服务器中,模块接口测试服务器90可包括业务封装输出接口91、业务测试对象存储模块92、业务测试用例存储模块93以及公共框架数据库94。
本具体实施例的接口测试方法使用自动单元测试框架Pyunit进行实施,该业务封装输出接口91可为业务应用接口以及业务基础接口等,以便输出上述自动单元测试框架。业务测试对象存储模块92用于存储用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等测试对象,测试对象的协议基类以及继承基类可存储在公共框架数据库中。业务测试用例存储模块93用于存储对上述测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等,上述测试流程的调用资源接口也可存储在公共框架数据库中。
请参照图10和图11,图10为本发明的接口测试方法及接口测试装置的接口测试流程图,图11为本发明的接口测试方法及接口测试装置的可视化管理架构图。该数据驱动测试流程包括:
步骤S1001,模块接口测试服务器导入公共框架数据库、业务测试用例以及对应的测试对象,此时用户还可导入自定义的调用资源或测试对象等。
步骤S1002,模块接口测试服务器通过可视化平台进行运行环境的设置,如图12所示,可选择测试环境,对测试用例11415进行测试。
步骤S1003,模块接口测试服务器获取对应的运行账号资源,这里可设置一个运行账号供业务测试用例调用,也可设置多个运行账号供业务测试用例调用。这里也可设置运行账号的调用方法,如每次都要调用不同的运行账号等。将业务测试用例的参数以及测试对象的测试参数存储至一临时文件夹中,以便在测试过程中对上述测试参数进行修改。
步骤S1004,模块接口测试服务器通过可视化平台选择测试用例下的至少部分测试流程进行测试操作,如图13所示测试用例11415具有多个自动化用例,即测试流程,用户可选择对应的自动化用例进行测试操作,也可对自动化用例中的测试对象按要求进行修改。
步骤S1005,模块接口测试服务器生成测试报告,并通过可视化平台展示该测试报告。
这样即完成了本具体实施例的接口测试方法及接口测试装置的模块接口测试过程。
本发明的接口测试方法及接口测试装置可进行内存泄漏测试、多线程模拟并发测试、异常测试以及数据驱动测试等。请参照图14,图14为本发明的接口测试方法及接口测试装置用于进行数据驱动测试的示意图。
该数据驱动测试为对xls格式的测试数据集进行数据驱动识别。这里的测试对象为xls文本的输入接口,测试用例是对xls格式的测试数据集中的内容进行数据解析、数据转换以及数据识别后输出同样为xls格式的数据驱动结果。
本发明的接口测试方法、接口测试装置及存储介质对测试对象、测试流程、运行环境以及运行账号进行分类预先配置,可以较好的应对模块接口测试的多样化需求,可大幅度提高接口测试的效率以及兼容性;有效的解决了现有的接口测试方法以及接口测试装置中测试效率以及测试兼容性较差的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图15和随后的讨论提供了对实现本发明所述的接口测试装置所在的电子设备的工作环境的简短、概括的描述。图15的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1512包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图15图示了包括本发明的接口测试装置中的一个或多个实施例的电子设备1512的实例。在一种配置中,电子设备1512包括至少一个处理单元1516和存储器1518。根据电子设备的确切配置和类型,存储器1518可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图15中由虚线1514图示。
在其他实施例中,电子设备1512可以包括附加特征和/或功能。例如,设备1512还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图15中由存储装置1520图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1520中。存储装置1520还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1518中由例如处理单元1516执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1518和存储装置1520是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1512访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1512的一部分。
电子设备1512还可以包括允许电子设备1512与其他设备通信的通信连接1526。通信连接1526可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1512连接到其他电子设备的其他接口。通信连接1526可以包括有线连接或无线连接。通信连接1526可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1512可以包括输入设备1524,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1512中也可以包括输出设备1522,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1524和输出设备1522可以经由有线连接、无线连接或其任意组合连接到电子设备1512。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1512的输入设备1524或输出设备1522。
电子设备1512的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1512的组件可以通过网络互连。例如,存储器1518可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1528访问的电子设备1530可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1512可以访问电子设备1530并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1512可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1512处执行并且一些指令可以在电子设备1530处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (11)

1.一种接口测试方法,其特征在于,包括:
接收接口测试请求,并根据所述接口测试请求获取对应的测试用例;其中所述测试用例基于测试对象以及测试流程预先配置;所述测试用例包括至少一个测试对象以及多个测试流程;
设置接口测试对应的运行环境和/或运行账号;其中所述运行账号是指测试用例运行需要使用的业务账号、用户账号或订单账号;
根据接口测试请求,确定所述测试用例中的至少一测试流程以及至少一个对应的测试对象;
根据所述测试流程,从公共框架数据库获取对应的测试流程框架接口;以及
在所述运行环境中,通过所述测试流程框架接口,对所述至少一个对应的测试对象执行所述至少一测试流程;并通过可视化平台展示模块接口测试的测试结果。
2.根据权利要求1所述的接口测试方法,其特征在于,所述接口测试方法包括:
基于对应的协议基类以及继承基类,创建所述测试对象;并设置所述测试对象的测试参数;其中所述继承基类为现有测试对象从父类继承的基类信息,父类是协议基类;以及
基于所述测试对象的数量以及执行顺序,设置所述测试对象对应的测试流程。
3.根据权利要求1所述的接口测试方法,其特征在于,所述设置接口测试对应的运行环境和/或运行账号的步骤包括:
获取测试用例的类型,并根据测试用例的类型确定是否设置运行账号以及运行账号的类型;以及
根据所述接口测试请求的测试要求,设置所述测试用例的运行环境。
4.根据权利要求1所述的接口测试方法,其特征在于,所述在所述运行环境中,通过所述测试流程框架接口,对所述至少一个对应的测试对象执行所述至少一测试流程的步骤包括:
在所述运行环境中,通过所述测试流程框架接口,使用对应的运行账号对所述至少一个对应的测试对象执行所述至少一测试流程。
5.根据权利要求1所述的接口测试方法,其特征在于,所述根据接口测试请求,确定所述测试用例中的至少一测试流程以及至少一个对应的测试对象的步骤包括:
将所述测试对象的测试参数存储至一临时存储空间中,以便在测试过程中对所述测试对象的测试参数进行修改。
6.一种接口测试装置,其特征在于,包括:
测试用例获取模块,用于接收接口测试请求,并根据所述接口测试请求获取对应的测试用例;其中所述测试用例基于测试对象以及测试流程预先配置;所述测试用例包括至少一个测试对象以及多个测试流程;
运行环境设置模块,用于设置接口测试对应的运行环境和/或运行账号;其中所述运行账号是指测试用例运行需要使用的业务账号、用户账号或订单账号;以及
接口测试模块,用于根据接口测试请求,确定所述测试用例中的至少一测试流程以及至少一个对应的测试对象;根据所述测试流程,从公共框架数据库获取对应的测试流程框架接口;在所述运行环境中,通过所述测试流程框架接口,对所述至少一个对应的测试对象执行所述至少一测试流程;并通过可视化平台展示模块接口测试的测试结果。
7.根据权利要求6所述的接口测试装置,其特征在于,所述接口测试装置包括:
测试对象创建模块,用于基于对应的协议基类以及继承基类,创建所述测试对象,并设置所述测试对象的测试参数;其中所述继承基类为现有测试对象从父类继承的基类信息,父类是协议基类;以及
测试流程设置模块,用于基于所述测试对象的数量以及执行顺序,设置所述测试对象对应的测试流程。
8.根据权利要求6所述的接口测试装置,其特征在于,所述运行环境设置模块包括:
运行账号确定单元,用于获取测试用例的类型,并根据测试用例的类型确定是否设置运行账号以及运行账号的类型;以及
运行环境设置单元,用于根据所述接口测试请求的测试要求,设置所述测试用例的运行环境。
9.根据权利要求6所述的接口测试装置,其特征在于,所述接口测试单元用于在所述运行环境中,通过所述测试流程框架接口,使用对应的运行账号对所述至少一个对应的测试对象执行所述至少一测试流程。
10.根据权利要求6所述的接口测试装置,其特征在于,所述测试流程确定单元还用于将所述测试对象的测试参数存储至一临时文件夹中,以便在测试过程中对所述测试对象的测试参数进行修改。
11.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1-5中任一的接口测试方法。
CN201810445207.8A 2018-05-10 2018-05-10 接口测试方法、接口测试装置及存储介质 Active CN110209569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810445207.8A CN110209569B (zh) 2018-05-10 2018-05-10 接口测试方法、接口测试装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810445207.8A CN110209569B (zh) 2018-05-10 2018-05-10 接口测试方法、接口测试装置及存储介质

Publications (2)

Publication Number Publication Date
CN110209569A CN110209569A (zh) 2019-09-06
CN110209569B true CN110209569B (zh) 2021-07-06

Family

ID=67778828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810445207.8A Active CN110209569B (zh) 2018-05-10 2018-05-10 接口测试方法、接口测试装置及存储介质

Country Status (1)

Country Link
CN (1) CN110209569B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659017B (zh) * 2019-09-19 2024-03-29 上海客佳信息科技有限公司 一种外部请求处理方法及相关装置
CN113495829A (zh) * 2020-03-20 2021-10-12 北京海致星图科技有限公司 一种接口自动化测试方法及系统
CN112433933A (zh) * 2020-04-09 2021-03-02 上海哔哩哔哩科技有限公司 一种接口自动化测试的方法及设备
CN111488285B (zh) * 2020-04-15 2023-05-12 抖音视界有限公司 接口测试方法、装置、电子设备及计算机可读存储介质
CN112953896A (zh) * 2021-01-26 2021-06-11 杭州迪普科技股份有限公司 日志报文的回放方法及装置
CN113051157B (zh) * 2021-03-17 2023-02-28 武汉联影医疗科技有限公司 接口测试方法、装置、计算机设备和存储介质
CN113159614A (zh) * 2021-05-10 2021-07-23 中国工商银行股份有限公司 任务分配方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095369B1 (en) * 1999-11-09 2012-01-10 West Corporation Apparatus and method for verifying transactions using voice print
CN102394708A (zh) * 2011-10-24 2012-03-28 广州天时和科技发展有限公司 一种移动通信设备的测试方法及系统
CN107193730A (zh) * 2017-05-11 2017-09-22 丹露成都网络技术有限公司 一种自动化的接口测试方法
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095369B1 (en) * 1999-11-09 2012-01-10 West Corporation Apparatus and method for verifying transactions using voice print
CN102394708A (zh) * 2011-10-24 2012-03-28 广州天时和科技发展有限公司 一种移动通信设备的测试方法及系统
CN107193730A (zh) * 2017-05-11 2017-09-22 丹露成都网络技术有限公司 一种自动化的接口测试方法
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备

Also Published As

Publication number Publication date
CN110209569A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110209569B (zh) 接口测试方法、接口测试装置及存储介质
CN109325195B (zh) 浏览器的渲染方法和系统、计算机设备、计算机存储介质
CN102306117B (zh) 一种硬件检测自动报警的方法及装置
US20120047506A1 (en) Resource abstraction via enabler and metadata
US11526431B2 (en) Systems and methods for automated provisioning of a virtual mainframe test environment
CN107729246A (zh) 针对目标应用的辅助测试方法、装置、设备及存储介质
CN113268243B (zh) 内存预测方法及装置、存储介质、电子设备
CN110597564A (zh) 一种安装包构建和业务组件加载方法、装置、终端设备
CN114564203A (zh) 一种业务运行方法、装置、电子设备及可读介质
CN107368407B (zh) 信息处理方法和装置
CN112732547B (zh) 业务测试方法、装置、存储介质及电子设备
CN112463519A (zh) 基于Flutter的页面使用行为数据无埋点统计方法、设备及存储介质
KR20180076020A (ko) 애플리케이션 테스트 자동화 장치 및 방법
CN111158987A (zh) 微服务架构的健康检查方法及装置
CN116719736A (zh) 一种用于测试软件界面的测试用例生成方法及装置
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
CN112379967B (zh) 模拟器检测方法、装置、设备及介质
CN113535590A (zh) 程序测试方法和装置
CN114036523A (zh) 一种基于虚拟化技术的漏洞靶场自动化搭建方法和装置
CN110297625B (zh) 应用的处理方法及装置
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN113626301A (zh) 生成测试脚本的方法和装置
CN112231186A (zh) 一种性能数据的处理方法、装置、电子设备及介质
CN112068814A (zh) 可执行文件的生成方法、装置、系统及介质
WO2022237826A1 (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