CN109614310A - 测试接口的管理方法、装置、计算机设备以及存储介质 - Google Patents

测试接口的管理方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN109614310A
CN109614310A CN201811229997.2A CN201811229997A CN109614310A CN 109614310 A CN109614310 A CN 109614310A CN 201811229997 A CN201811229997 A CN 201811229997A CN 109614310 A CN109614310 A CN 109614310A
Authority
CN
China
Prior art keywords
test
interface
test interface
assignment
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811229997.2A
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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201811229997.2A priority Critical patent/CN109614310A/zh
Publication of CN109614310A publication Critical patent/CN109614310A/zh
Pending legal-status Critical Current

Links

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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

Abstract

本申请揭示了测试接口的管理方法、装置、计算机设备以及存储介质,其中,测试接口的管理方法,包括:接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;获取所述测试接口的测试报告。本申请通过在线的测试接口管理及自动化测试平台,实现开发和测试的资源共享和集中管理。

Description

测试接口的管理方法、装置、计算机设备以及存储介质
技术领域
本申请涉及到测试领域,特别是涉及到测试接口的管理方法、装置、计算机设备以及存储介质。
背景技术
目前的测试接口工具多使用例如Postman,Fiddler这样的开源测试工具,现有的开源工具为单机版客户端程序,主要有以下不足:需要人工操作,需要手动进行测试接口;处理方式为单线程调用,对于接口数量多的测试过程耗时长,无法批量调用接口,测试效率较低。不支持业务流程性的接口自动化测试;不支持数据库回滚和数据检查操作;不支持个性化测试入参的自动赋值;不支持测试结果和预期结果的自动对比判断;开源测试工具为单机客户端,测试案例的编写维护不方便共享,接口文档多为Excel和Word线下保存,没有集中统一管理的平台。
发明内容
本申请的主要目的为提供一种测试接口的管理方法,旨在解决现有开源测试工具为单机客户端,不方便测试资源共享和统一管理的技术问题。
本申请提出一种测试接口的管理方法,包括:
接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;
接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;
根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;
获取所述测试接口的测试报告。
优选地,所述根据所述测试接口的测试信息,自动按照预设顺序执行测试接口的步骤,包括:
根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序;
根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口;
按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
优选地,所述测试接口用于测试业务流程,所述按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口的步骤,包括:
根据业务流程获取前一业务流程节点对应测试接口返回的第一参数;
将所述第一参数拼接至当前业务流程节点对应测试接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应测试接口与当前业务流程节点对应测试接口为相邻的前一测试接口和后一测试接口;
通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试。
优选地,所述通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试的步骤之前,包括:
判断所述当前业务流程节点对应测试接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为所述第一入参参量之外的存在规律化赋值的变量;
若是,则调用函数库中的指定函数对所述第二入参参量进行赋值。
优选地,所述调用函数库中的指定函数对所述第二入参参量进行赋值的步骤之后,包括:
判断所述当前业务流程节点对应测试接口的所有入参参量是否已匹配到位;
若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别待回滚数据的数据状态是否返回到初始状态;
若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
优选地,所述根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据的步骤之前,包括:
根据所述测试接口的测试信息获取待测试任务的测试案例数据,其中,所述待测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量;
根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景;
将各测试案例一一对应分配到各所述线程通道。
优选地,所述根据所述测试接口的测试信息获取待测试任务的测试案例数据的步骤之前,包括:
启动异步程序循环扫描任务池,其中所述异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态;
判断所述任务池内是否存在待测试的测试任务;
若是,则获取所述待测试的测试任务。
优选地,所述获取所述测试接口的测试报告的步骤,包括:
根据关键字分别从数据库中获取测试接口的返回结果和预期结果,其中,所述数据库用于储存测试测试接口后的测试数据,所述关键字包括测试任务对应的接口类型;
确认所述返回结果和预期结果的数据类型中字符串的类型,其中,所述返回结果和预期结果的数据类型一致,所述数据类型包括字符串;
根据所述字符串的类型选择对应的预设对比规则,以对比所述返回结果和预期结果是否一致性;
若一致,则形成测试通过状态下测试案例对应的第一测试报告;
若不一致,则形成测试未通过状态下测试案例对应的第二测试报告,其中,所述第二测试报告中包括重跑选项。
本申请还提供了一种测试接口的管理装置,包括:
第一接收模块,用于接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;
第一接收模块,用于接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;
执行模块,用于根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;
获取模块,用于获取所述测试接口的测试报告。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请提供了测试接口的管理方法,通过在线的测试接口管理及自动化测试平台,实现开发和测试的资源共享和集中管理。该平台包括在线测试、测试接口管理、案例管理、自动运行、测试报告、系统设置等模块,该测试平台支持Http、Https和Websocket协议的测试接口的测试。测试报告模块则包括测试接口数目、案例数目、场景数目、案例通过率、场景通过率等,并按照系统和测试人员的维度进行汇总分析,最后通过邮件发送测试报告,通知对应开发和测试人员检查测试接口是否异常。通过以上各功能模块,形成测试接口从文档管理、案例管理、自动运行到测试报告的闭环,实现了测试接口的测试过程的线上化、平台化和标准化,同时测试平台支持业务流程性案例、支持数据库操作、支持测试结果的自动对比判断、支持多线程批量执行,有效解决了现有测试接口的测试工具存在的不足。
附图说明
图1本申请一实施例的测试接口的管理方法的流程示意图;
图2本申请一实施例的测试接口的管理装置的结构示意图;
图3本申请一实施例的执行模块的结构示意图;
图4本申请一实施例的调用单元的结构示意图;
图5本申请另一实施例的调用单元的结构示意图;
图6本申请再一实施例的调用单元的结构示意图;
图7本申请另一实施例的执行模块的结构示意图;
图8本申请再一实施例的执行模块的结构示意图;
图9本申请一实施例的获取模块的结构示意图;
图10本申请一实施例的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的测试接口的管理方法,包括:
S1:接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求。
本实施例的配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求等信息。每个待测试的测试任务都会有各自的登录地址、用户密码等配置信息。
S2:接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息。
本实施例的测试人员在测试接口的管理区域,可以添加相应的测试接口的URL(即测试接口地址)、调用方式、信息头、入参、出参等测试信息,成为一个在线的测试接口文档管理平台,开发人员和测试人员均可维护系统所有的测试接口文档,开发人员和测试人员的权限是一样的,都可以读写,以实现共享资源。本实施例的测试接口的整体URL比如为:http://icore-claim-stg1.paic.com.cn/do/app/mobile/EDispatchAction/receiveTaskList,其中http://icore-claim-stg1.paic.com.cn为前缀部分,表示该待测试的测试任务的地址;测试任务在不同的测试环境下对应地址也不同,本实施例的配置信息中的测试接口的URL指上述前缀部分,在配置同一个测试任务的每个测试接口时,只需调用配置信息中的测试接口的URL,无需再重复输入进行配置。
S3:根据所述测试测试接口信息,自动按照预设顺序执行测试接口。
本实施例的同一测试任务会有很多不同的测试接口,以实现不同的业务功能,例如以下2个测试接口即投保接口和承保接口,投保接口对应:http://icore-pts-stg3.paic.com.cn/insurance/appsvr/property/Apply;http://icore-pts-stg3.paic.com.cn/insurance/appsvr/property/Accept,对应于承保接口;因为投保接口和承保接口属于同一个待测试的测试任务,所以投保接口和承保接口的前缀部分是相同的,均为:http://icore-pts-stg3.paic.com.cn/insurance,但除前缀部分之外的后缀部分是不同的,再调用测试接口进行测试接口时,需要将前缀部分和后缀部分拼起来代表一个完整的测试接口URL。本实施例根据测试接口的测试,依据测试信息中包括测试接口URL、调用顺序编号等测试信息,调用各测试接口进行测试。
S4:获取测试测试接口的测试报告。
本实施例通过自动调用各测试接口完成测试,并形成对应的测试报告,以便共享予对应的开发人员和测试人员,以便进一步协调开发和测试之间的工作,提高开发、测试效率。
进一步地,本实施例的步骤S3,包括:
S30:根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序。
本实施例的测试案例包括一个或多个依次排列的测试场景,每个测试场景会调用一个接口进行测试,当测试案例的所有测试场景按照测试场景对应的测试顺序执行完毕后,则完成一个测试案例的测试。本实施例的测试案例的测试场景数据可通过测试人员在线编写后,存储于数据库的指定位置,进行测试案例的测试时,则通过调用数据库以获取上述测试场景数据。本实施例的测试工具具有连接数据库自动获取数据、匹配接口参数的功能,不同于现有的单机版客户端程序对应的开源测试工具,本实施例的测试工具可同时调用多个线程通道同时测试多个测试案例,同一时间内多个接口可同时调用。本实施例的测试场景依次执行的测试顺序,指测试场景对应的数字编号顺序,上述数字编码是按照测试案例的业务流程而设定。测试人员在编写测试案例的时候,会按照业务流程的先后顺序来确定测试场景的数字编码,如编号1、2、3、4。
S31:根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口。
举例地,出单的测试案例,测试场景一是调用投保接口,测试场景二是调用承保接口,两个测试场景分别对应不同配置参数的测试接口,以确保能正确执行各测试场景的测试。本实施例同时调用的多个测试接口的数量可与测试场景数量相同;本申请其他实施例中,也可以是将测试场景数量根据现配置的单次测试的最大测试接口量,分批次进行。比如,一个测试案例包括20个测试场景,同时调用的测试接口的数量为10,则分两个批次,每批次同时调用10个测试接口完成对测试案例的测试。
S32:按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
本实施例的各所述测试场景依次执行的测试顺序,为顺利完成对应待测试案例的时间顺序流程。举例地,保险出单的测试案例,测试场景一是调用投保接口,测试场景二是调用承保接口,必须按照先执行测试场景一,再执行测试场景二的顺序,待测试案例才能正确执行。例如车险理赔的测试案例,测试场景一必须是先报案,测试场景二是查勘、定损等,必须先执行测试场景一,然后执行测试场景二,而不能先定损,再报案。
进一步地,所述测试接口用于测试业务流程,本实施例的步骤S32,包括:
S320:根据业务流程获取前一业务流程节点对应测试接口返回的第一参数。
本实施例的业务流程性的测试接口主要依赖于业务流程中的调用前一接口与后一接口时的前后逻辑关系,需要获取前一接口的返回数据并拼接至后一接口的输入参数以依次完成接口调用。上述的前一接口记为前一业务流程节点对应接口,后一接口记为当前业务流程节点对应接口。本实施例的第一参数是指从前一接口返回数据中获取的需要拼接到后一接口的入参数据。本实施例的第一参数根据不同的业务流程具体包括的参数类型不同,举例地,车险的出单业务流程,首先是投保流程会生成一个投保单,即投保接口返回的第一参数是投保单号,下一步流程则是获取到这个投保单号进行开通知单然后缴费。
S321:将所述第一参数拼接至当前业务流程节点对应接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应接口与当前业务流程节点对应接口为相邻的前一接口和后一接口。
本实施例通过将第一参数填充于当前业务流程节点对应接口的指定入参的对应位置。本实施例的当前业务流程节点对应接口的入参参量包括多种来源的参量,比如通过人工填充的参量、来自前一接口的参量、根据预设规则自动填充的参量等。本实施例将来自前一接口的第一参量拼接至当前接口指定入参后形成的入参参量称为第一入参参量,此处的“第一”仅作区别,不作限定,其他处作用相同,不赘述。
S322:通过调用第一入参参量执行当前业务流程节点对应接口的测试。
本实施例通过将来自前一接口的第一参量,直接填充于对应的入参位置形成第一入参参量,以便调用第一入参参量与其他预设参量一起完成当前业务流程节点对应接口的测试。本实施例从获取前一接口返回数据中的第一参量,然后将第一参量拼接到当前业务流程节点对应接口的入参,自动完成前后接口之间参数逻辑的关联,测试效率高。
进一步地,本实施例的步骤S322之前,包括:
S323:判断当前业务流程节点对应接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为第一入参参量之外的存在规律化赋值的变量。
本实施例在完成前一接口的调用后,会对当前接口的其他入参参量(即第二入参参量)进行遍历,当识别到第二入参参量存在自定义的规律化赋值的变量时,则调用自定义变量对应的函数库获取规律化赋值,然后赋值给第二入参参量。举例地,特定日期的参量、身份证号的参量、随机数字参量等为规律化赋值的第二入参参量。
S324:若是,则调用函数库中的指定函数对所述第二入参参量进行赋值。
本实施例通过自动调用函数库中的指定函数,自动完成对所述第二入参参量进行赋值,减少人工参与的工作量。比如调用生成特定日期格式的函数生成特定日期的参量,例如保险出单的开始日期必须是晚于投保签单当天,则每次调用接口前都需要通过函数库中的指定函数获取到第二天的日期;再比如调用生成身份证号的函数生成身份证号的参量,调用生成随机数的函数生成随机数字参量等等,无需人工参与,且通过调用函数也无需人工编写自动生成数据的代码,提高测试效率,且同时减少人工工作量。
进一步地,本实施例的步骤S324之后,包括:
S325:判断所述当前业务流程节点对应接口的所有入参参量是否已匹配到位。
本实施例通过检测当前业务流程节点对应接口的所有入参参量填充位置是否存在空白来判断入参参量的匹配情况,比如所有入参参量对应的表格处均填充有内容,无空白,则判定当前业务流程节点对应接口的所有入参参量均已匹配到位。来自前一接口的参量、根据预设规则自动填充的参量等所有入参参量匹配好后,才能执行接口的测试。
S326:若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别待回滚数据的数据状态是否返回到初始状态。
本实施例的当前业务流程节点对应接口的所有入参参量的数量比较多,比如几十或上百个,为确保当前业务流程节点对应接口的正确测试,需要对各入参参量的填充状态进行检验,包括填充内容是否符合要求,填充位置是否符合要求等,本实施例通过一键校验的功能进行校验。最后,本实施例中有些入参参量在上次被调用后,数据进行了新增、删除,或者数据状态的变更导致不可用了,比如使用一个视频网站月卡兑换码,兑换的过程就是调用接口的过程,兑换后这个条码就失效了,数据库操作可以通过修改数据库里上述兑换码的状态,将其又修改成为未兑换的有效状态,以便该接口在重复调用时入参参量始终处于有效状态,本实施例为了检查接口调用前的数据初始化准备状态,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别数据状态是否返回到初始状态,若未恢复初始状态,则执行事先准备好的回滚数据的SQL脚本将数据回滚到初始状态,无需通过人工在调用前去数据库操作,将兑换码的数据状态换成有效的兑换码。
S327:若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
本实施例通过将需要数据状态返回到初始状态的数据完成回滚后,则表明当前业务流程节点对应测试接口的所有入参参量均匹配完成,且符合预设要求,则生成执行当前业务流程节点对应测试接口的测试的指令,以提高当前业务流程节点对应测试接口的测试的准确性,提高测试效率。举例地,删除配件的测试接口,每次调用该测试接口前,都会先执行Rollsql标识的两条SQL脚本进行数据初始化准备,以确保该配件的信息在数据库中真实存在。
进一步地,本实施例的步骤S30之前,包括:
S33:根据所述测试接口的测试信息获取待测试的测试任务的测试案例数据,其中,所述测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量。
本实施例的测试任务为某一个系统的所有测试案例的集合,如系统A、系统B、系统C等等可以理解为任务池的一个测试任务。一个测试任务(比如系统A)包括一个或多个测试案例。本实施例支持多线程同时运行,比如系统A中包含100个测试案例,可通过同时匹配10个线程通道,每个线程通道抓取一个测试案例进行测试,以提高测试效率。本实施例依据测试信息中包括测试接口URL的数量、调用顺序编号等测试信息匹配线程通道,并调用各测试接口进行测试。
S34:根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景。
本实施例匹配线程通道的数量由待测试的测试任务中包括的测试案例量,以及测试平台的数据处理能力共同决定。举例地,系统B包括5个案例,则匹配5个线程通道;系统A中包含100个测试案例,但测试平台的数据处理能力只允许同时并发10个线程通道,则同时匹配10个线程通道,完成执行测试案例的线程通道会返回测试案例池,重新抓取未测试的测试案例进行执行,直至100个测试案例全部执行完毕。
S35:将各测试案例一一对应分配到各所述线程通道。
本实施例通过将各测试案例一一对应匹配到各所述线程通道,并在同一线程通道中通过依次调用不同的测试接口,以完成对各测试案例的测试。本实施例的一一对应匹配,只根据一个线程通道对应一个测试案例进行匹配。举例地,系统A对应的测试任务中包含100个测试案例,但测试平台的数据处理能力只允许同时并发10个线程通道,则同时匹配10个线程通道,10个线程通道对应10个测试案例,完成执行测试案例的线程通道会返回待测试的测试案例池,重新抓取未测试的测试案例进行测试,直至100个测试案例全部测试完毕。本实施例同时支持多条线程通道同时并发运行,所以,本申请在同一时间有多个测试接口被调用,提高了测试效率,为大批量测试接口的规模化测试提供了具体有效的解决方案。
进一步地,本实施例的步骤S33之前,包括:
S36:启动异步程序循环扫描任务池,其中所述异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态。
本实施例的异步程序在每隔固定时间对任务池进行扫描,比如每10s扫描一次,以确定任务池中是否还存在待测试的测试任务,而同时各线程通道的测试过程依然在进行,即扫描与测试互不干扰。本实施例的任务池是指由各待测试的测试任务组成的任务表。
S37:判断所述任务池内是否存在待测试的测试任务。
本实施例中当一个测试任务被执行或执行完毕,会自动从任务池中删除,当有新任务增加时,会自动添加至任务池,即任务池中均为待测试的测试任务,通过查看任务池中是否有测试任务数据,来判定是否有待测试的测试任务。
S38:若是,则获取所述待测试的测试任务。
本实施例中如果完成一个测试任务后,发现任务池中还存在待测试的测试任务,则自动获取测试任务,直至所有测试任务均完成。本实施例通过异步程序可获取需要测试的测试任务,并依次自动完成任务测试,可以自定义晚上时间自动执行,无需人工进行测试,解放了测试人力。
进一步地,本实施例的步骤S4,包括:
S40:根据关键字分别从数据库中获取测试接口的返回结果和预期结果,其中,所述数据库用于储存测试测试接口后的测试数据,所述关键字包括测试任务对应的接口类型。
本实施例的测试接口完成后,测试数据会存储于数据库,通过从数据库中根据关键字自动调取测试接口的返回结果和预期结果,关键字包括测试任务对应的接口类型,不同的接口类型配置参数不同,测试任务也不同。
S41:确认所述返回结果和预期结果的数据类型中字符串的类型,其中,所述返回结果和预期结果的数据类型一致,所述数据类型包括字符串。
本实施例的测试接口返回结果的数据类型中包括多种类型的字符串,比如测试接口出现异常情况,则返回结果为异常抛错或空字符串;接口类型为测试任务状态判断,测试接口返回结果比如为‘成功’或‘未成功’,则返回结果为String类型的字符串;若接口类型为调用数据,比如调取票据编码等,返回带有具体票据编码的票据信息,则返回结果为Json格式的字符串。
S42:根据所述字符串的类型选择对应的预设对比规则,以对比所述返回结果和预期结果是否一致性。
本实施例根据判断返回结果和预期结果的字符串的类型,然后根据字符串的类型调取对应的对比规则,自动比较测试接口后的返回结果和预期结果,无需人工对比判断测试结果是否正确,提升测试效率和判断正确性。本实施例的预设对比规则为预先根据各种字符串的类型一一匹配的对比方法,存储于预设表格内,通过调用不同的对比方法,实现对不同字符串的类型的返回结果和预期结果进行自动对比。
S43:若一致,则形成测试通过状态下测试案例对应的第一测试报告。
为了判断测试结果是否正确,则检测数据库中相应数据变化的是否跟预期一致。举例地,当张三买了‘厉害了我的国’的电影票(即调用买票接口),那么数据库中就相应增加一条数据,则通过相应的SQL语句去检测是否增加成功:select count(*)from订单表where owner=’张三’and movie=‘厉害了我的国’and status=’有效’;当张三有事退订了这个电影票(即调用退票接口),则通过调用相应的SQL语句去检查数据状态的变化是否正确:select count(*)from订单表where owner=’张三’and movie=‘厉害了我的国’andstatus=’退票’。本实施例通过将测试返回结果与预期结果分别排序后,形成两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据是否相同,来判断各所述测试返回结果和与其对应的预期结果是否一致。比如,两颗数据树的相同节点位置对应的数据未带有json的数据套嵌结构,则通过直接比较代码的方式来判断相同节点位置的数据是否相同。再比如,两棵数据树的相同节点位置对应的数据带有json的数据套嵌结构,则需要先对套嵌结构按照数据层进行排序,并按照排序对各数据层的数据进行递归对比,以便判断是否各数据层对应的各数据相同,当相同时,则判定该节点位置对应的数据也相同。本实施例中,当上述两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据都相同时,则对应的测试场景测试通过,当测试案例对应的各测试场景的测试结果均为通过时,则测试案例的测试通过。
S44:若不一致,则形成测试未通过状态下测试案例对应的第二测试报告,其中,所述第二测试报告中包括重跑选项。
本实施例中,当上述两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据未达到100%相同时,则对应的测试场景测试未通过,当测试案例对应的各测试场景的测试结果未达到100%通过时,则测试案例的测试不通过。本实施例的第二测试报告与第一测试报告的主要区别点在于操作选项不同,第二测试报告的操作选项包括重跑选项,以便再次进行该测试案例的测试执行。
本实施例提供了测试接口的管理方法,通过在线的测试接口管理及自动化测试平台,该平台包括在线测试、测试接口管理、案例管理、自动运行、测试报告、系统设置等模块,该测试平台支持Http、Https和Websocket协议的测试接口的测试。测试报告模块则包括测试接口数目、案例数目、场景数目、案例通过率、场景通过率等,并按照系统和测试人员的维度进行汇总分析,最后通过邮件发送测试报告,通知对应开发和测试人员检查测试接口是否异常。通过以上各功能模块,形成测试接口从文档管理、案例管理、自动运行到测试报告的闭环,实现了测试接口的测试过程的线上化、平台化和标准化,同时测试平台支持业务流程性案例、支持数据库操作、支持测试结果的自动对比判断、支持多线程批量执行,有效解决了现有测试接口的测试工具存在的不足。
参照图2,本申请一实施例的测试接口的管理装置,包括:
第一接收模块1,用于接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求。
本实施例的配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求等信息。每个待测试的测试任务都会有各自的登录地址、用户密码等配置信息。
第二接收模块2,用于接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息。
本实施例的测试人员在测试接口的管理区域,可以添加相应的测试接口的URL(即测试接口地址)、调用方式、信息头、入参、出参等测试信息,成为一个在线的测试接口文档管理平台,开发人员和测试人员均可维护系统所有的测试接口文档,开发人员和测试人员的权限是一样的,都可以读写,以实现共享资源。本实施例的测试接口的整体URL比如为:http://icore-claim-stg1.paic.com.cn/do/app/mobile/EDispatchAction/receiveTaskList,其中http://icore-claim-stg1.paic.com.cn为前缀部分,表示该待测试的测试任务的地址;测试任务在不同的测试环境下对应地址也不同,本实施例的配置信息中的测试接口的URL指上述前缀部分,在配置同一个测试任务的每个测试接口时,只需调用配置信息中的测试接口的URL,无需再重复输入进行配置。
执行模块3,用于根据所述测试测试接口信息,自动按照预设顺序执行测试接口。
本实施例的同一测试任务会有很多不同的测试接口,以实现不同的业务功能,例如以下2个测试接口即投保接口和承保接口,投保接口对应:http://icore-pts-stg3.paic.com.cn/insurance/appsvr/property/Apply;http://icore-pts-stg3.paic.com.cn/insurance/appsvr/property/Accept,对应于承保接口;因为投保接口和承保接口属于同一个待测试的测试任务,所以投保接口和承保接口的前缀部分是相同的,均为:http://icore-pts-stg3.paic.com.cn/insurance,但除前缀部分之外的后缀部分是不同的,再调用测试接口进行测试接口时,需要将前缀部分和后缀部分拼起来代表一个完整的测试接口URL。本实施例根据测试接口的测试,依据测试信息中包括测试接口URL、调用顺序编号等测试信息,调用各测试接口进行测试。
获取模块4,用于获取测试测试接口的测试报告。
本实施例通过自动调用各测试接口完成测试,并形成对应的测试报告,以便共享予对应的开发人员和测试人员,以便进一步协调开发和测试之间的工作,提高开发、测试效率。
参照图3,本实施例的执行模块3,包括:
第一获取单元30,用于根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序。
本实施例的测试案例包括一个或多个依次排列的测试场景,每个测试场景会调用一个接口进行测试,当测试案例的所有测试场景按照测试场景对应的测试顺序执行完毕后,则完成一个测试案例的测试。本实施例的测试案例的测试场景数据可通过测试人员在线编写后,存储于数据库的指定位置,进行测试案例的测试时,则通过调用数据库以获取上述测试场景数据。本实施例的测试工具具有连接数据库自动获取数据、匹配接口参数的功能,不同于现有的单机版客户端程序对应的开源测试工具,本实施例的测试工具可同时调用多个线程通道同时测试多个测试案例,同一时间内多个接口可同时调用。本实施例的测试场景依次执行的测试顺序,指测试场景对应的数字编号顺序,上述数字编码是按照测试案例的业务流程而设定。测试人员在编写测试案例的时候,会按照业务流程的先后顺序来确定测试场景的数字编码,如编号1、2、3、4。
配置单元31,用于根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口。
举例地,出单的测试案例,测试场景一是调用投保接口,测试场景二是调用承保接口,两个测试场景分别对应不同配置参数的测试接口,以确保能正确执行各测试场景的测试。本实施例同时调用的多个测试接口的数量可与测试场景数量相同;本申请其他实施例中,也可以是将测试场景数量根据现配置的单次测试的最大测试接口量,分批次进行。比如,一个测试案例包括20个测试场景,同时调用的测试接口的数量为10,则分两个批次,每批次同时调用10个测试接口完成对测试案例的测试。
调用单元32,用于按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
本实施例的各所述测试场景依次执行的测试顺序,为顺利完成对应待测试案例的时间顺序流程。举例地,保险出单的测试案例,测试场景一是调用投保接口,测试场景二是调用承保接口,必须按照先执行测试场景一,再执行测试场景二的顺序,待测试案例才能正确执行。例如车险理赔的测试案例,测试场景一必须是先报案,测试场景二是查勘、定损等,必须先执行测试场景一,然后执行测试场景二,而不能先定损,再报案。
参照图4,测试接口用于测试业务流程,本实施例的调用单元32,包括:
获取子单元320,用于根据业务流程获取前一业务流程节点对应测试接口返回的第一参数。
本实施例的业务流程性的测试接口主要依赖于业务流程中的调用前一接口与后一接口时的前后逻辑关系,需要获取前一接口的返回数据并拼接至后一接口的输入参数以依次完成接口调用。上述的前一接口记为前一业务流程节点对应接口,后一接口记为当前业务流程节点对应接口。本实施例的第一参数是指从前一接口返回数据中获取的需要拼接到后一接口的入参数据。本实施例的第一参数根据不同的业务流程具体包括的参数类型不同,举例地,车险的出单业务流程,首先是投保流程会生成一个投保单,即投保接口返回的第一参数是投保单号,下一步流程则是获取到这个投保单号进行开通知单然后缴费。
拼接子单元321,用于将所述第一参数拼接至当前业务流程节点对应接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应接口与当前业务流程节点对应接口为相邻的前一接口和后一接口。
本实施例通过将第一参数填充于当前业务流程节点对应接口的指定入参的对应位置。本实施例的当前业务流程节点对应接口的入参参量包括多种来源的参量,比如通过人工填充的参量、来自前一接口的参量、根据预设规则自动填充的参量等。本实施例将来自前一接口的第一参量拼接至当前接口指定入参后形成的入参参量称为第一入参参量,此处的“第一”仅作区别,不作限定,其他处作用相同,不赘述。
执行子单元322,用于通过调用所述第一入参参量执行当前业务流程节点对应接口的测试。
本实施例通过将来自前一接口的第一参量,直接填充于对应的入参位置形成第一入参参量,以便调用第一入参参量与其他预设参量一起完成当前业务流程节点对应接口的测试。本实施例从获取前一接口返回数据中的第一参量,然后将第一参量拼接到当前业务流程节点对应接口的入参,自动完成前后接口之间参数逻辑的关联,测试效率高。
参照图5,本申请另一实施例的调用单元32,包括:
第一判断子单元323,用于判断所述当前业务流程节点对应接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为所述第一入参参量之外的存在规律化赋值的变量。
本实施例在完成前一接口的调用后,会对当前接口的其他入参参量(即第二入参参量)进行遍历,当识别到第二入参参量存在自定义的规律化赋值的变量时,则调用自定义变量对应的函数库获取规律化赋值,然后赋值给第二入参参量。举例地,特定日期的参量、身份证号的参量、随机数字参量等为规律化赋值的第二入参参量。
第一调用子单元324,用于若是规律化赋值,则调用函数库中的指定函数对所述第二入参参量进行赋值。
本实施例通过自动调用函数库中的指定函数,自动完成对所述第二入参参量进行赋值,减少人工参与的工作量。比如调用生成特定日期格式的函数生成特定日期的参量,例如保险出单的开始日期必须是晚于投保签单当天,则每次调用接口前都需要通过函数库中的指定函数获取到第二天的日期;再比如调用生成身份证号的函数生成身份证号的参量,调用生成随机数的函数生成随机数字参量等等,无需人工参与,且通过调用函数也无需人工编写自动生成数据的代码,提高测试效率,且同时减少人工工作量。
参照图6,本申请再一实施例的调用单元32,包括:
第二判断子单元325,用于判断所述当前业务流程节点对应接口的所有入参参量是否已匹配到位。
本实施例通过检测当前业务流程节点对应接口的所有入参参量填充位置是否存在空白来判断入参参量的匹配情况,比如所有入参参量对应的表格处均填充有内容,无空白,则判定当前业务流程节点对应接口的所有入参参量均已匹配到位。来自前一接口的参量、根据预设规则自动填充的参量等所有入参参量匹配好后,才能执行接口的测试。
第二调用子单元326,用于若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别待回滚数据的数据状态是否返回到初始状态。
本实施例的当前业务流程节点对应接口的所有入参参量的数量比较多,比如几十或上百个,为确保当前业务流程节点对应接口的正确测试,需要对各入参参量的填充状态进行检验,包括填充内容是否符合要求,填充位置是否符合要求等,本实施例通过一键校验的功能进行校验。最后,本实施例中有些入参参量在上次被调用后,数据进行了新增、删除,或者数据状态的变更导致不可用了,比如使用一个视频网站月卡兑换码,兑换的过程就是调用接口的过程,兑换后这个条码就失效了,数据库操作可以通过修改数据库里上述兑换码的状态,将其又修改成为未兑换的有效状态,以便该接口在重复调用时入参参量始终处于有效状态,本实施例为了检查接口调用前的数据初始化准备状态,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别数据状态是否返回到初始状态,若未恢复初始状态,则执行事先准备好的回滚数据的SQL脚本将数据回滚到初始状态,无需通过人工在调用前去数据库操作,将兑换码的数据状态换成有效的兑换码。
生成子单元327,用于若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
本实施例通过将需要数据状态返回到初始状态的数据完成回滚后,则表明当前业务流程节点对应测试接口的所有入参参量均匹配完成,且符合预设要求,则生成执行当前业务流程节点对应测试接口的测试的指令,以提高当前业务流程节点对应测试接口的测试的准确性,提高测试效率。举例地,删除配件的测试接口,每次调用该测试接口前,都会先执行Rollsql标识的两条SQL脚本进行数据初始化准备,以确保该配件的信息在数据库中真实存在。
参照图7,本申请另一实施例的执行模块3,包括:
第二获取单元33,用于根据所述测试接口的测试信息获取待测试的测试任务的测试案例数据,其中,所述测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量。
本实施例的测试任务为某一个系统的所有测试案例的集合,如系统A、系统B、系统C等等可以理解为任务池的一个测试任务。一个测试任务(比如系统A)包括一个或多个测试案例。本实施例支持多线程同时运行,比如系统A中包含100个测试案例,可通过同时匹配10个线程通道,每个线程通道抓取一个测试案例进行测试,以提高测试效率。本实施例依据测试信息中包括测试接口URL的数量、调用顺序编号等测试信息匹配线程通道,并调用各测试接口进行测试。
第一启动单元34,用于根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景。
本实施例匹配线程通道的数量由待测试的测试任务中包括的测试案例量,以及测试平台的数据处理能力共同决定。举例地,系统B包括5个案例,则匹配5个线程通道;系统A中包含100个测试案例,但测试平台的数据处理能力只允许同时并发10个线程通道,则同时匹配10个线程通道,完成执行测试案例的线程通道会返回测试案例池,重新抓取未测试的测试案例进行执行,直至100个测试案例全部执行完毕。
分配单元35,用于将各测试案例一一对应分配到各所述线程通道。
本实施例通过将各测试案例一一对应匹配到各所述线程通道,并在同一线程通道中通过依次调用不同的测试接口,以完成对各测试案例的测试。本实施例的一一对应匹配,只根据一个线程通道对应一个测试案例进行匹配。举例地,系统A对应的测试任务中包含100个测试案例,但测试平台的数据处理能力只允许同时并发10个线程通道,则同时匹配10个线程通道,10个线程通道对应10个测试案例,完成执行测试案例的线程通道会返回待测试的测试案例池,重新抓取未测试的测试案例进行测试,直至100个测试案例全部测试完毕。本实施例同时支持多条线程通道同时并发运行,所以,本申请在同一时间有多个测试接口被调用,提高了测试效率,为大批量测试接口的规模化测试提供了具体有效的解决方案。
参照图8,本申请再一实施例的执行模块3,包括:
第二启动单元36,用于启动异步程序循环扫描任务池,其中所述异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态。
本实施例的异步程序在每隔固定时间对任务池进行扫描,比如每10s扫描一次,以确定任务池中是否还存在待测试的测试任务,而同时各线程通道的测试过程依然在进行,即扫描与测试互不干扰。本实施例的任务池是指由各待测试的测试任务组成的任务表。
判断单元37,用于判断所述任务池内是否存在待测试的测试任务。
本实施例中当一个测试任务被执行或执行完毕,会自动从任务池中删除,当有新任务增加时,会自动添加至任务池,任务池中均为待测试的测试任务,通过查看任务池中是否有测试任务数据,来判定是否有待测试的测试任务。
第三获取单元38,用于若存在待测试的测试任务,则获取所述待测试的测试任务。
本实施例中如果完成一个测试任务后,发现任务池中还存在待测试的测试任务,则自动获取测试任务,直至所有测试任务均完成。本实施例通过异步程序可获取需要测试的测试任务,并依次自动完成任务测试,可以自定义晚上时间自动执行,无需人工进行测试,解放了测试人力。
参照图9,本实施例的获取模块4,包括:
第四获取单元40,用于根据关键字分别从数据库中获取测试接口的返回结果和预期结果,其中,所述数据库用于储存测试测试接口后的测试数据,所述关键字包括测试任务对应的接口类型。
本实施例的测试接口完成后,测试数据会存储于数据库,通过从数据库中根据关键字自动调取测试接口的返回结果和预期结果,关键字包括测试任务对应的接口类型,不同的接口类型配置参数不同,测试任务也不同。
分析单元41,用于确认返回结果和预期结果的数据类型中字符串的类型,其中,所述返回结果和预期结果的数据类型一致,所述数据类型包括字符串。
本实施例的测试接口返回结果的数据类型中包括多种类型的字符串,比如测试接口出现异常情况,则返回结果为异常抛错或空字符串;接口类型为测试任务状态判断,测试接口返回结果比如为‘成功’或‘未成功’,则返回结果为String类型的字符串;若接口类型为调用数据,比如调取票据编码等,返回带有具体票据编码的票据信息,则返回结果为Json格式的字符串。
选择单元42,用于根据所述字符串的类型选择对应的预设对比规则,以对比所述返回结果和预期结果是否一致性。
本实施例根据判断返回结果和预期结果的字符串的类型,然后根据字符串的类型调取对应的对比规则,自动比较测试接口后的返回结果和预期结果,无需人工对比判断测试结果是否正确,提升测试效率和判断正确性。本实施例的预设对比规则为预先根据各种字符串的类型一一匹配的对比方法,存储于预设表格内,通过调用不同的对比方法,实现对不同字符串的类型的返回结果和预期结果进行自动对比。
第一形成单元43,用于若所述返回结果和预期结果一致,则形成测试通过状态下测试案例对应的第一测试报告。
为了判断测试结果是否正确,则检测数据库中相应数据变化的是否跟预期一致。举例地,当张三买了‘厉害了我的国’的电影票(即调用买票接口),那么数据库中就相应增加一条数据,则通过相应的SQL语句去检测是否增加成功:select count(*)from订单表where owner=’张三’and movie=‘厉害了我的国’and status=’有效’;当张三有事退订了这个电影票(即调用退票接口),则通过调用相应的SQL语句去检查数据状态的变化是否正确:select count(*)from订单表where owner=’张三’and movie=‘厉害了我的国’andstatus=’退票’。本实施例通过将测试返回结果与预期结果分别排序后,形成两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据是否相同,来判断各所述测试返回结果和与其对应的预期结果是否一致。比如,两颗数据树的相同节点位置对应的数据未带有json的数据套嵌结构,则通过直接比较代码的方式来判断相同节点位置的数据是否相同。再比如,两棵数据树的相同节点位置对应的数据带有json的数据套嵌结构,则需要先对套嵌结构按照数据层进行排序,并按照排序对各数据层的数据进行递归对比,以便判断是否各数据层对应的各数据相同,当相同时,则判定该节点位置对应的数据也相同。本实施例中,当上述两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据都相同时,则对应的测试场景测试通过,当测试案例对应的各测试场景的测试结果均为通过时,则测试案例的测试通过。
第二形成单元44,用于若返回结果和预期结果不一致,则形成测试未通过状态下测试案例对应的第二测试报告,其中第二测试报告中包括重跑选项。
本实施例中,当上述两颗具有相同节点结构的数据树,通过一一对应对比各相同节点位置的数据未达到100%相同时,则对应的测试场景测试未通过,当测试案例对应的各测试场景的测试结果未达到100%通过时,则测试案例的测试不通过。本实施例的第二测试报告与第一测试报告的主要区别点在于操作选项不同,第二测试报告的操作选项包括重跑选项,以便再次进行该测试案例的测试执行。
参照图10,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试接口的管理过程需要的所有数据。该计算机设备的网络接口用于与外部的端通过网络连接通信。该计算机程序被处理器执行时以实现测试接口的管理方法。
上述处理器执行上述测试接口的管理方法,包括:接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;获取所述测试接口的测试报告。
上述计算机设备,通过提供了测试接口的管理方法,通过在线的测试接口管理及自动化测试平台,实现开发和测试的资源共享和集中管理。该平台包括在线测试、测试接口管理、案例管理、自动运行、测试报告、系统设置等模块,该测试平台支持Http、Https和Websocket协议的测试接口的测试。测试报告模块则包括测试接口数目、案例数目、场景数目、案例通过率、场景通过率等,并按照系统和测试人员的维度进行汇总分析,最后通过邮件发送测试报告,通知对应开发和测试人员检查测试接口是否异常。通过以上各功能模块,形成测试接口从文档管理、案例管理、自动运行到测试报告的闭环,实现了测试接口的测试过程的线上化、平台化和标准化,同时测试平台支持业务流程性案例、支持数据库操作、支持测试结果的自动对比判断、支持多线程批量执行,有效解决了现有测试接口的测试工具存在的不足。
在一个实施例中,上述处理器根据所述测试接口的测试信息,自动按照预设顺序执行测试接口的步骤,包括:根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序;根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口;按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
在一个实施例中,所述测试接口用于测试业务流程,上述处理器按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口的步骤,包括:根据业务流程获取前一业务流程节点对应测试接口返回的第一参数;将所述第一参数拼接至当前业务流程节点对应测试接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应测试接口与当前业务流程节点对应测试接口为相邻的前一测试接口和后一测试接口;通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试。
在一个实施例中,上述处理器通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试的步骤之前,包括:判断所述当前业务流程节点对应测试接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为所述第一入参参量之外的存在规律化赋值的变量;若是,则调用函数库中的指定函数对所述第二入参参量进行赋值。
在一个实施例中,上述处理器调用函数库中的指定函数对所述第二入参参量进行赋值的步骤之后,包括:判断当前业务流程节点对应测试接口的所有入参参量是否已匹配到位;若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别待回滚数据的数据状态是否返回到初始状态;若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
在一个实施例中,上述处理器根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据的步骤之前,包括:根据所述测试接口的测试信息获取待测试任务的测试案例数据,其中,所述待测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量;根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景;将各测试案例一一对应分配到各所述线程通道。
在一个实施例中,上述处理器根据所述测试接口的测试信息获取待测试任务的测试案例数据的步骤之前,包括:启动异步程序循环扫描任务池,其中所述异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态;判断任务池内是否存在待测试的测试任务;若是,则获取待测试的测试任务。
在一个实施例中,上述处理器获取所述测试接口的测试报告的步骤,包括:根据关键字分别从数据库中获取测试接口的返回结果和预期结果,其中,所述数据库用于储存测试测试接口后的测试数据,所述关键字包括测试任务对应的接口类型;确认所述返回结果和预期结果的数据类型中字符串的类型,其中,所述返回结果和预期结果的数据类型一致,所述数据类型包括字符串;根据所述字符串的类型选择对应的预设对比规则,以对比所述返回结果和预期结果是否一致性;若一致,则形成测试通过状态下测试案例对应的第一测试报告;若不一致,则形成测试未通过状态下测试案例对应的第二测试报告,其中,所述第二测试报告中包括重跑选项。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现测试接口的管理方法,包括:接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;获取所述测试接口的测试报告。
上述计算机可读存储介质,通过提供了测试接口的管理方法,通过在线的测试接口管理及自动化测试平台,实现开发和测试的资源共享和集中管理。该平台包括在线测试、测试接口管理、案例管理、自动运行、测试报告、系统设置等模块,该测试平台支持Http、Https和Websocket协议的测试接口的测试。测试报告模块则包括测试接口数目、案例数目、场景数目、案例通过率、场景通过率等,并按照系统和测试人员的维度进行汇总分析,最后通过邮件发送测试报告,通知对应开发和测试人员检查测试接口是否异常。通过以上各功能模块,形成测试接口从文档管理、案例管理、自动运行到测试报告的闭环,实现了测试接口的测试过程的线上化、平台化和标准化,同时测试平台支持业务流程性案例、支持数据库操作、支持测试结果的自动对比判断、支持多线程批量执行,有效解决了现有测试接口的测试工具存在的不足。
在一个实施例中,上述处理器根据所述测试接口的测试信息,自动按照预设顺序执行测试接口的步骤,包括:根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序;根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口;按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
在一个实施例中,所述测试接口用于测试业务流程,上述处理器按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口的步骤,包括:根据业务流程获取前一业务流程节点对应测试接口返回的第一参数;将所述第一参数拼接至当前业务流程节点对应测试接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应测试接口与当前业务流程节点对应测试接口为相邻的前一测试接口和后一测试接口;通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试。
在一个实施例中,上述处理器通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试的步骤之前,包括:判断所述当前业务流程节点对应测试接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为所述第一入参参量之外的存在规律化赋值的变量;若是,则调用函数库中的指定函数对所述第二入参参量进行赋值。
在一个实施例中,上述处理器调用函数库中的指定函数对所述第二入参参量进行赋值的步骤之后,包括:判断当前业务流程节点对应测试接口的所有入参参量是否已匹配到位;若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Rollsql识别待回滚数据的数据状态是否返回到初始状态;若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
在一个实施例中,上述处理器根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据的步骤之前,包括:根据所述测试接口的测试信息获取待测试任务的测试案例数据,其中,所述待测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量;根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景;将各测试案例一一对应分配到各所述线程通道。
在一个实施例中,上述处理器根据所述测试接口的测试信息获取待测试任务的测试案例数据的步骤之前,包括:启动异步程序循环扫描任务池,其中异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态;判断所述任务池内是否存在待测试的测试任务;若是,则获取待测试的测试任务。
在一个实施例中,上述处理器获取所述测试接口的测试报告的步骤,包括:根据关键字分别从数据库中获取测试接口的返回结果和预期结果,其中,所述数据库用于储存测试测试接口后的测试数据,所述关键字包括测试任务对应的接口类型;确认所述返回结果和预期结果的数据类型中字符串的类型,其中,所述返回结果和预期结果的数据类型一致,所述数据类型包括字符串;根据所述字符串的类型选择对应的预设对比规则,以对比所述返回结果和预期结果是否一致性;若一致,则形成测试通过状态下测试案例对应的第一测试报告;若不一致,则形成测试未通过状态下测试案例对应的第二测试报告,其中,所述第二测试报告中包括重跑选项。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种测试接口的管理方法,其特征在于,包括:
接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;
接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;
根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;
获取所述测试接口的测试报告。
2.根据权利要求1所述的测试接口的管理方法,其特征在于,所述根据所述测试接口的测试信息,自动按照预设顺序执行测试接口的步骤,包括:
根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据,其中,所述测试案例包括一个或多个测试场景,所述测试场景数据包括测试场景数量、测试案例对应的各测试场景以及各测试场景依次执行的测试顺序;
根据所述测试场景数量调用对应的多个测试接口,并依据各所述测试场景分别一一对应配置不同配置参数的测试接口;
按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口。
3.根据权利要求2所述的测试接口的管理方法,其特征在于,所述测试接口用于测试业务流程,所述按照各所述测试场景依次执行的测试顺序,依次调用各所述测试接口的步骤,包括:
根据业务流程获取前一业务流程节点对应测试接口返回的第一参数;
将所述第一参数拼接至当前业务流程节点对应测试接口的指定入参,形成第一入参参量,其中前一业务流程节点与当前业务流程节点分别对应于所述业务流程中两个相邻的节点,前一业务流程节点对应测试接口与当前业务流程节点对应测试接口为相邻的前一测试接口和后一测试接口;
通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试。
4.根据权利要求3所述的测试接口的管理方法,其特征在于,所述通过调用所述第一入参参量执行当前业务流程节点对应测试接口的测试的步骤之前,包括:
判断所述当前业务流程节点对应测试接口的第二入参参量是否为规律化赋值,其中所述第二入参参量为所述第一入参参量之外的存在规律化赋值的变量;
若是,则调用函数库中的指定函数对所述第二入参参量进行赋值。
5.根据权利要求4所述的测试接口的管理方法,其特征在于,所述调用函数库中的指定函数对所述第二入参参量进行赋值的步骤之后,包括:
判断所述当前业务流程节点对应测试接口的所有入参参量是否已匹配到位;
若已匹配到位,则调用数据初始化准备的SQL脚本,通过关键字Ro l l sq l识别待回滚数据的数据状态是否返回到初始状态;
若返回初始状态,则生成执行当前业务流程节点对应测试接口的测试指令。
6.根据权利要求2所述的测试接口的管理方法,其特征在于,所述根据所述测试接口的测试信息,获取待测试的测试案例的测试场景数据的步骤之前,包括:
根据所述测试接口的测试信息获取待测试的测试任务的测试案例数据,其中,所述测试任务包括一个或多个测试案例,所述测试案例数据包括测试案例数量;
根据所述测试案例数量启动多个线程通道,其中一个线程通道对应测试一个测试案例,同一线程通道内同步运行多个所述测试接口,以同步完成所述测试案例对应的各所述测试场景;
将各测试案例一一对应分配到各所述线程通道。
7.根据权利要求6所述的测试接口的管理方法,其特征在于,所述根据所述测试接口的测试信息获取待测试任务的测试案例数据的步骤之前,包括:
启动异步程序循环扫描任务池,其中所述异步程序指扫描程序与测试接口对应的测试程序处于异步工作状态;
判断所述任务池内是否存在待测试的测试任务;
若是,则获取所述待测试的测试任务。
8.一种测试接口的管理装置,其特征在于,包括:
第一接收模块,用于接收开发人员在线设置的待测试的测试任务的配置信息,其中,所述配置信息包括待测试的测试任务的登录地址URL、登录用户名及密码、测试要求;
第二接收模块,用于接收测试人员根据所述配置信息添加的管理信息,其中所述管理信息对应于所述待测试的测试任务的测试接口,包括测试接口的测试信息;
执行模块,用于根据所述测试接口的测试信息,自动按照预设顺序执行测试接口;
获取模块,用于获取所述测试接口的测试报告。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201811229997.2A 2018-10-22 2018-10-22 测试接口的管理方法、装置、计算机设备以及存储介质 Pending CN109614310A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811229997.2A CN109614310A (zh) 2018-10-22 2018-10-22 测试接口的管理方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811229997.2A CN109614310A (zh) 2018-10-22 2018-10-22 测试接口的管理方法、装置、计算机设备以及存储介质

Publications (1)

Publication Number Publication Date
CN109614310A true CN109614310A (zh) 2019-04-12

Family

ID=66002866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811229997.2A Pending CN109614310A (zh) 2018-10-22 2018-10-22 测试接口的管理方法、装置、计算机设备以及存储介质

Country Status (1)

Country Link
CN (1) CN109614310A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992521A (zh) * 2019-04-19 2019-07-09 北京金山云网络技术有限公司 一种测试结果通知方法、装置、电子设备及存储介质
CN110147320A (zh) * 2019-04-19 2019-08-20 平安普惠企业管理有限公司 接口测试方法、装置及电子设备
CN110377503A (zh) * 2019-06-19 2019-10-25 平安银行股份有限公司 压力测试方法、装置、计算机设备及存储介质
CN110740134A (zh) * 2019-10-18 2020-01-31 苏州浪潮智能科技有限公司 一种url鉴权测试方法、装置、设备及介质
CN110879781A (zh) * 2019-11-06 2020-03-13 北京奇艺世纪科技有限公司 程序调试方法、装置、电子设备及计算机可读存储介质
CN110928774A (zh) * 2019-11-07 2020-03-27 杭州顺网科技股份有限公司 一种基于节点式的自动化测试系统
CN111651349A (zh) * 2020-05-26 2020-09-11 泰康保险集团股份有限公司 一种测试方法和装置
CN112148607A (zh) * 2020-09-23 2020-12-29 北京同邦卓益科技有限公司 一种业务场景的接口测试方法和装置
CN112363951A (zh) * 2020-12-03 2021-02-12 四川长虹电器股份有限公司 一种关于测试场景和测试数据分离的测试方法
CN112487163A (zh) * 2020-11-30 2021-03-12 广州品唯软件有限公司 自动化流程的执行方法及其接口数据的获取方法、装置
CN112527656A (zh) * 2020-12-17 2021-03-19 杭州安恒信息技术股份有限公司 一种WebSocket接口的测试方法、装置及设备
CN112910741A (zh) * 2021-02-26 2021-06-04 平安普惠企业管理有限公司 接口测试方法、装置、计算机设备及存储介质
CN113535584A (zh) * 2021-08-03 2021-10-22 创优数字科技(广东)有限公司 一种流程测试方法、平台、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601483A (zh) * 2004-10-22 2005-03-30 中国工商银行 一种基于脚本解释工具的自动化软件测试系统
CN104360920A (zh) * 2014-12-02 2015-02-18 微梦创科网络科技(中国)有限公司 一种接口自动化测试方法及装置
CN105389261A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 异步测试的方法及装置
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备
CN107766190A (zh) * 2017-10-31 2018-03-06 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN107861870A (zh) * 2017-11-02 2018-03-30 平安科技(深圳)有限公司 接口测试及测试数据生成方法、装置、终端和存储介质
CN108255738A (zh) * 2018-04-09 2018-07-06 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601483A (zh) * 2004-10-22 2005-03-30 中国工商银行 一种基于脚本解释工具的自动化软件测试系统
CN104360920A (zh) * 2014-12-02 2015-02-18 微梦创科网络科技(中国)有限公司 一种接口自动化测试方法及装置
CN105389261A (zh) * 2015-12-23 2016-03-09 北京奇虎科技有限公司 异步测试的方法及装置
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN107748717A (zh) * 2017-09-26 2018-03-02 深圳市牛鼎丰科技有限公司 接口自动化测试方法、装置、存储介质和计算机设备
CN107766190A (zh) * 2017-10-31 2018-03-06 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN107861870A (zh) * 2017-11-02 2018-03-30 平安科技(深圳)有限公司 接口测试及测试数据生成方法、装置、终端和存储介质
CN108255738A (zh) * 2018-04-09 2018-07-06 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147320A (zh) * 2019-04-19 2019-08-20 平安普惠企业管理有限公司 接口测试方法、装置及电子设备
CN109992521A (zh) * 2019-04-19 2019-07-09 北京金山云网络技术有限公司 一种测试结果通知方法、装置、电子设备及存储介质
CN110377503A (zh) * 2019-06-19 2019-10-25 平安银行股份有限公司 压力测试方法、装置、计算机设备及存储介质
CN110740134A (zh) * 2019-10-18 2020-01-31 苏州浪潮智能科技有限公司 一种url鉴权测试方法、装置、设备及介质
CN110879781A (zh) * 2019-11-06 2020-03-13 北京奇艺世纪科技有限公司 程序调试方法、装置、电子设备及计算机可读存储介质
CN110879781B (zh) * 2019-11-06 2023-10-03 北京奇艺世纪科技有限公司 程序调试方法、装置、电子设备及计算机可读存储介质
CN110928774B (zh) * 2019-11-07 2023-05-05 杭州顺网科技股份有限公司 一种基于节点式的自动化测试系统
CN110928774A (zh) * 2019-11-07 2020-03-27 杭州顺网科技股份有限公司 一种基于节点式的自动化测试系统
CN111651349A (zh) * 2020-05-26 2020-09-11 泰康保险集团股份有限公司 一种测试方法和装置
CN112148607A (zh) * 2020-09-23 2020-12-29 北京同邦卓益科技有限公司 一种业务场景的接口测试方法和装置
CN112487163A (zh) * 2020-11-30 2021-03-12 广州品唯软件有限公司 自动化流程的执行方法及其接口数据的获取方法、装置
CN112487163B (zh) * 2020-11-30 2024-04-12 广州品唯软件有限公司 自动化流程的执行方法及其接口数据的获取方法、装置
CN112363951A (zh) * 2020-12-03 2021-02-12 四川长虹电器股份有限公司 一种关于测试场景和测试数据分离的测试方法
CN112527656A (zh) * 2020-12-17 2021-03-19 杭州安恒信息技术股份有限公司 一种WebSocket接口的测试方法、装置及设备
CN112910741A (zh) * 2021-02-26 2021-06-04 平安普惠企业管理有限公司 接口测试方法、装置、计算机设备及存储介质
CN113535584B (zh) * 2021-08-03 2022-04-05 创优数字科技(广东)有限公司 一种流程测试方法、平台、电子设备及存储介质
CN113535584A (zh) * 2021-08-03 2021-10-22 创优数字科技(广东)有限公司 一种流程测试方法、平台、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109614310A (zh) 测试接口的管理方法、装置、计算机设备以及存储介质
CN109857667B (zh) 接口自动化测试方法、测试装置、测试设备及存储介质
CN107861870B (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
CN109597754B (zh) 业务流程性接口测试方法、装置、计算机设备及存储介质
CN109614309B (zh) 比较测试结果的方法、装置、计算机设备以及存储介质
CN107515826A (zh) 测试用例精准推荐方法、装置、系统、设备及存储介质
CN109471796A (zh) 接口测试方法、装置、计算机设备及存储介质
CN108446221A (zh) 系统测试方法、装置、计算机设备和存储介质
CN109766263A (zh) 自动化测试分析处理方法、装置、计算机设备及存储介质
CN109597753A (zh) 接口测试的方法、装置、计算机设备以及存储介质
CN108764239A (zh) 发票验伪方法、装置、计算机设备及存储介质
CN110888797A (zh) 测试数据生成方法、装置、计算机设备及存储介质
CN112597003A (zh) 自动化测试方法、装置和计算机设备
CN110413512A (zh) Ab测试方法、装置、计算机设备和存储介质
CN109308258A (zh) 测试数据的构造方法、装置、计算机设备和存储介质
CN112817867A (zh) 一种接口测试脚本生成方法、装置、计算机设备和介质
CN103246606A (zh) Esb平台的性能方法和系统
CN114398293A (zh) 接口测试用例生成方法、电子设备和存储介质
CN110825395B (zh) 多插件分层部署系统、设备及介质
CN109359707B (zh) 岩土样品信息的处理方法、装置、计算机设备和存储介质
CN115660607B (zh) 一种审批链自动生成方法、装置以及计算机存储介质
CN115185907A (zh) 一种前端资源管理方法、装置、设备以及存储介质
CN111901149B (zh) 自动生成和检测Fabric网络配置文件的方法及系统
CN114895912A (zh) 编码架构下实体类对象的转换方法、装置、设备及介质
CN109976804A (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