CN111181805A - 一种基于测试用例的微服务测试挡板生成方法及系统 - Google Patents

一种基于测试用例的微服务测试挡板生成方法及系统 Download PDF

Info

Publication number
CN111181805A
CN111181805A CN201911356427.4A CN201911356427A CN111181805A CN 111181805 A CN111181805 A CN 111181805A CN 201911356427 A CN201911356427 A CN 201911356427A CN 111181805 A CN111181805 A CN 111181805A
Authority
CN
China
Prior art keywords
code
baffle
http request
interface
request
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.)
Granted
Application number
CN201911356427.4A
Other languages
English (en)
Other versions
CN111181805B (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.)
Aisino Corp
Original Assignee
Aisino Corp
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 Aisino Corp filed Critical Aisino Corp
Priority to CN201911356427.4A priority Critical patent/CN111181805B/zh
Publication of CN111181805A publication Critical patent/CN111181805A/zh
Application granted granted Critical
Publication of CN111181805B publication Critical patent/CN111181805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于测试用例的微服务测试挡板生成方法及系统,包括:根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。本发明通过对多个基础服务的接口自动化测试代码扫描解析,生成接口挡板代码;并在其他相关服务测试过程中,应用该挡板服务,满足了测试需求,无需等待被依赖服务开发完成,也不需要创建真实依赖服务,大大提高了测试的效率。

Description

一种基于测试用例的微服务测试挡板生成方法及系统
技术领域
本发明涉及测试技术领域,并且更具体地,涉及一种基于测试用例的微服务测试挡板生成方法及系统。
背景技术
微服务是一种新的软件架构,就是把一个大型的单个应用和服务拆分为数十个的微服务。单个的微服务使得开发更迅速,更易于扩展,正在被越来越多的软件公司所应用。微服务的大量应用也对传统的测试方法提出了挑战,尤其是在测试环境的搭建方面。传统的软件架构只有一个应用服务,测试时只需要搭建一个服务即可。但微服务架构包含数十个服务,且相互间可能存在着调用关系,导致测试环境变的极其复杂。
因此,需要一种基于测试用例的微服务测试挡板生成方法,以解决如何快速生成测试挡板代码的问题。
发明内容
本发明提出一种基于测试用例的微服务测试挡板生成方法及系统,以解决如何快速生成测试挡板代码的问题。
为了解决上述问题,根据本发明的一个方面,提供了一种基于测试用例的微服务测试挡板生成方法,其特征在于,所述方法包括:
根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;
对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;
根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
优选地,其中所述对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
优选地,其中所述方法还包括:
当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
优选地,其中所述根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
优选地,其中所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
优选地,其中所述方法还包括:
执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
根据本发明的另一个方面,提供了一种基于测试用例的微服务测试挡板生成系统,所述系统包括:
代码检索单元,用于根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;
代码解析单元,用于对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;
挡板代码生成单元,用于根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
优选地,其中所述代码解析单元,对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
优选地,其中所述代码解析单元,还包括:
当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
优选地,其中所述挡板代码生成单元,根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
优选地,其中所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
优选地,其中所述系统还包括:
测试单元,用于执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
本发明提供了一种基于测试用例的微服务测试挡板生成方法及系统,包括:根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。本发明通过对多个基础服务的接口自动化测试代码扫描解析,生成接口挡板代码;并在其他相关服务测试过程中,应用该挡板服务,满足了测试需求,无需等待被依赖服务开发完成,也不需要创建真实依赖服务,大大提高了测试的效率。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的校基于测试用例的微服务测试挡板生成方法100的流程图;
图2为根据本发明实施方式的基于测试用例的微服务测试挡板生成方法的视线框图;
图3为根据本发明实施方式的基于测试用例的微服务测试挡板生成方法的流程图;以及
图4为根据本发明实施方式的基于测试用例的微服务测试挡板生成系统400的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的校基于测试用例的微服务测试挡板生成方法100的流程图。如图1所示,本发明实施方式提供的基于测试用例的微服务测试挡板生成方法,通过对多个基础服务的接口自动化测试代码扫描解析,生成接口挡板代码;并在其他相关服务测试过程中,应用该挡板服务,满足了测试需求,无需等待被依赖服务开发完成,也不需要创建真实依赖服务,大大提高了测试的效率。本发明实施方式提供的基于测试用例的微服务测试挡板生成方法100,从步骤101处开始,在步骤101根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码。
在步骤102,对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容。
优选地,其中所述对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
优选地,其中所述方法还包括:
当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
优选地,其中所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
在本发明的实施方式中,首先,根据要生成挡板的项目,到对应代码仓库中检索、下载接口自动化测试用例的代码。
然后进行代码解析。具体地,包括:解析代码HTTP请求部分和代码断言部分。
在解析代码HTTP请求部分时,定位代码中的request方法,判断方法中是否包含GET、POST、PUT、DELETE等字段,从而确定HTTP请求的方法;再获取request方法中url参数的值,以确定HTTP请求的路径;最后,判断路径是否包含问号‘?’,如果有,则解析问号后的字符串,作为HTTP请求参数。其中,如果HTTP请求的方法是POST、PUT方法,还需获取request方法的body参数。到此代码HTTP请求部分解析完成。
在解析代码断言部分时,定位代码中的assert方法,解析assert方法中的期望值的参数,从而确定HTTP请求返回的内容,断言部分解析完成。
在步骤103,根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
优选地,其中所述根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
在本发明的实施方式中,根据解析部分获取的相关接口信息,生成接口模拟挡板代码。具体地,包括:根据HTTP请求的路径及HTTP请求的方法名查找是否生成过该接口的挡板代码。若没生成过,则根据挡板代码模板生成该接口的挡板代码框架;若已生成过该接口的挡板代码,则直接进入下一步。第二步,根据HTTP请求的参数及body参数查找是否已生成过该条接口测试用例的挡板代码。若没有,则将HTTP请求的参数及body参数作为匹配对象,将HTTP返回的内容作为该挡板的返回数据;若已有该用例的挡板代码,则将HTTP返回的内容更新为新的挡板返回数据。
优选地,其中所述方法还包括:
执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
图2为根据本发明实施方式的基于测试用例的微服务测试挡板生成方法的视线框图。如图2所示,本发明实施方式的基于测试用例的微服务测试挡板生成方法包括:代码检索、代码解析和代码生成三个阶段。其中,通过配置库获取相应服务的自动化接口测试用例代码;并分析代码中HTTP请求部分的数据及结果断言部分的数据,得出相关接口的HTTP方法,请求参数规格及返回结果;最后,根据解析结果自动生成接口挡板代码。
图3为根据本发明实施方式的基于测试用例的微服务测试挡板生成方法的流程图。如图3所示,本发明实施方式的基于测试用例的微服务测试挡板生成方法包括如下步骤:
S1,从代码库中检索接口自动化测试代码;
S2,解析接口测试代码中HTTP请求部分,获取请求方法、参数等信息;
S3,解析接口测试代码中断言部分,获取返回内容;
S4,根据前两步获取的接口信息,依据挡板代码模板生成挡板代码;
S5,执行挡板代码,启动接口挡板服务;
S6,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应数据,完成测试。
本发明实施方式提供的方法,根据各个微服务的接口测试用例,分析出微服务接口的规格及不同业务情况,从而自动生成模拟对应接口的挡板应用,使得测试时不需要实际搭建依赖的服务环境。即使被测服务所依赖的其它服务未开发完成,也不影响测试的开展;大大节省了人力成本,提高了测试效率。
图4为根据本发明实施方式的基于测试用例的微服务测试挡板生成系统400的结构示意图。如图4所示,本发明实施方式提供的基于测试用例的微服务测试挡板生成系统400,包括:代码检索单元401、代码解析单元402和挡板代码生成单元403。
优选地,所述代码检索单元401,用于根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码。
优选地,所述代码解析单元402,用于对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容。
优选地,其中所述代码解析单元402,对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
优选地,其中所述代码解析单元402,还包括:当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
优选地,其中所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
优选地,所述挡板代码生成单元403,用于根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
优选地,其中所述挡板代码生成单元403,根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
优选地,其中所述系统还包括:
测试单元,用于执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
本发明的实施例的基于测试用例的微服务测试挡板生成系统400与本发明的另一个实施例的基于测试用例的微服务测试挡板生成方法100相对应,在此不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (12)

1.一种基于测试用例的微服务测试挡板生成方法,其特征在于,所述方法包括:
根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;
对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;
根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
2.根据权利要求1所述的方法,其特征在于,所述对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
4.根据权利要求3所述的方法,其特征在于,所述根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
5.根据权利要求3所述的方法,其特征在于,所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
7.一种基于测试用例的微服务测试挡板生成系统,其特征在于,所述系统包括:
代码检索单元,用于根据待生成挡板的项目信息,确定对应的代码仓库,并检索所述对应的代码仓库,以获取接口自动化测试用例代码;
代码解析单元,用于对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容;
挡板代码生成单元,用于根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码。
8.根据权利要求7所述的系统,其特征在于,所述代码解析单元,对所述获取的接口自动化测试用例代码中的HTTP请求部分和断言部分进行解析,以获取HTTP请求的方法、路径、参数和返回的内容,包括:
解析接口自动化测试用例代码中的HTTP请求部分,定位request方法,确定所述request方法中的请求字段,以确定HTTP请求的方法;
获取所述request方法中url参数的值,以确定HTTP请求的路径;
判断路径是否包含预设字符;若是,则解析所述预设字符后的字符串,以获取HTTP请求的参数;
解析接口自动化测试用例代码中的断言部分,定位assert方法,并解析所述assert方法中的期望值的参数,以获取HTTP请求返回的内容。
9.根据权利要求8所述的系统,其特征在于,所述代码解析单元,还包括:
当所述HTTP请求的方法是预设的请求字段对应的方法时,获取所述request方法的body参数。
10.根据权利要求9所述的系统,其特征在于,所述挡板代码生成单元,根据获取的HTTP请求的方法、路径、参数、返回的内容和挡板代码模板生成接口挡板代码,包括:
根据所述HTTP请求的方法和路径查找判断是否已生成过该接口的挡板代码;
当未生成过该接口的挡板代码时,根据挡板代码模板生成该接口的挡板代码框架;
根据所述HTTP请求的参数和body参数查找判断是否已生成过该接口测试用例的挡板代码;
当未生成过该接口的挡板代码时,将HTTP请求的参数及body参数作为匹配对象,将HTTP请求返回的内容作为该挡板的返回数据;当已生成该用例的挡板代码时,将HTTP请求返回的内容更新为新的挡板返回数据。
11.根据权利要求9所述的系统,其特征在于,所述request方法中的请求字段包括:GET、POST、PUT和/或DELETE;所述预设字符为“?”;所述预设的请求字段为:POST和PUT。
12.根据权利要求7所述的系统,其特征在于,所述系统还包括:
测试单元,用于执行所述接口挡板代码,启动接口挡板服务,执行其他服务测试,向挡板服务发送请求,挡板服务根据请求数据返回相应的数据,完成测试。
CN201911356427.4A 2019-12-25 2019-12-25 一种基于测试用例的微服务测试挡板生成方法及系统 Active CN111181805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911356427.4A CN111181805B (zh) 2019-12-25 2019-12-25 一种基于测试用例的微服务测试挡板生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911356427.4A CN111181805B (zh) 2019-12-25 2019-12-25 一种基于测试用例的微服务测试挡板生成方法及系统

Publications (2)

Publication Number Publication Date
CN111181805A true CN111181805A (zh) 2020-05-19
CN111181805B CN111181805B (zh) 2022-04-29

Family

ID=70623707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911356427.4A Active CN111181805B (zh) 2019-12-25 2019-12-25 一种基于测试用例的微服务测试挡板生成方法及系统

Country Status (1)

Country Link
CN (1) CN111181805B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752644A (zh) * 2020-06-18 2020-10-09 北京字节跳动网络技术有限公司 接口模拟方法、装置、设备及存储介质
CN112134922A (zh) * 2020-08-14 2020-12-25 中信银行股份有限公司 一种基于微服务的服务调用方法、装置及存储介质
CN112162925A (zh) * 2020-09-29 2021-01-01 新华三大数据技术有限公司 一种基于服务虚拟化的测试方法和系统
CN112486824A (zh) * 2020-11-30 2021-03-12 广州品唯软件有限公司 用例代码生成方法、装置、计算机设备和存储介质

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199263A1 (en) * 2009-02-03 2010-08-05 International Business Machines Corporation Test case pattern matching
US20140068340A1 (en) * 2012-09-03 2014-03-06 Tata Consultancy Services Limited Method and System for Compliance Testing in a Cloud Storage Environment
CN106254423A (zh) * 2016-07-20 2016-12-21 普元信息技术股份有限公司 基于微服务架构实现Restful服务快速发布的方法
CN107239398A (zh) * 2017-05-24 2017-10-10 四川长虹电器股份有限公司 一种基于Postman的接口测试用例自动生成系统及方法
CN107656874A (zh) * 2017-11-07 2018-02-02 中国银行股份有限公司 一种接口测试方法、装置、模拟挡板及系统
US20180129592A1 (en) * 2016-11-08 2018-05-10 Microsoft Technology Licensing, Llc Mock-based unit test(s) for an end-to-end test of a code snippet
CN108415838A (zh) * 2018-03-01 2018-08-17 吉旗(成都)科技有限公司 一种基于自然语言处理技术的自动化测试方法
CN108647143A (zh) * 2018-05-09 2018-10-12 平安普惠企业管理有限公司 Mock接口测试方法、装置、计算机设备以及存储介质
CN109522218A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
CN109656807A (zh) * 2018-11-01 2019-04-19 平安科技(深圳)有限公司 基于信息安全的接口mock测试方法、装置、设备及存储介质
US20190156199A1 (en) * 2017-11-20 2019-05-23 International Business Machines Corporation Method for automated integration testing with mock microservices
CN109933534A (zh) * 2019-03-26 2019-06-25 上海上湖信息技术有限公司 一种确定金融测试对象的方法及装置
CN110008113A (zh) * 2019-02-20 2019-07-12 北京三快在线科技有限公司 一种测试方法、装置、电子设备
CN110134604A (zh) * 2019-05-16 2019-08-16 极智(上海)企业管理咨询有限公司 一种无需代码的单元或接口测试方法、装置和计算机设备
CN110147326A (zh) * 2019-05-23 2019-08-20 四川新网银行股份有限公司 基于Redis数据库的微服务自动化测试方法
CN110221975A (zh) * 2019-05-28 2019-09-10 厦门美柚信息科技有限公司 创建接口用例自动化测试脚本的方法及装置
CN110309071A (zh) * 2019-06-27 2019-10-08 杭州数梦工场科技有限公司 测试代码的生成方法及模块、测试方法及系统
CN110413519A (zh) * 2019-07-19 2019-11-05 无线生活(杭州)信息科技有限公司 模板处理方法及装置
CN110502434A (zh) * 2019-07-26 2019-11-26 苏州浪潮智能科技有限公司 一种自动测试方法与装置
CN110569159A (zh) * 2019-09-05 2019-12-13 深圳前海微众银行股份有限公司 挡板生成方法、装置、设备及计算机存储介质

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199263A1 (en) * 2009-02-03 2010-08-05 International Business Machines Corporation Test case pattern matching
US20140068340A1 (en) * 2012-09-03 2014-03-06 Tata Consultancy Services Limited Method and System for Compliance Testing in a Cloud Storage Environment
CN106254423A (zh) * 2016-07-20 2016-12-21 普元信息技术股份有限公司 基于微服务架构实现Restful服务快速发布的方法
US20180129592A1 (en) * 2016-11-08 2018-05-10 Microsoft Technology Licensing, Llc Mock-based unit test(s) for an end-to-end test of a code snippet
CN107239398A (zh) * 2017-05-24 2017-10-10 四川长虹电器股份有限公司 一种基于Postman的接口测试用例自动生成系统及方法
CN107656874A (zh) * 2017-11-07 2018-02-02 中国银行股份有限公司 一种接口测试方法、装置、模拟挡板及系统
US20190156199A1 (en) * 2017-11-20 2019-05-23 International Business Machines Corporation Method for automated integration testing with mock microservices
CN108415838A (zh) * 2018-03-01 2018-08-17 吉旗(成都)科技有限公司 一种基于自然语言处理技术的自动化测试方法
CN108647143A (zh) * 2018-05-09 2018-10-12 平安普惠企业管理有限公司 Mock接口测试方法、装置、计算机设备以及存储介质
CN109522218A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN109656807A (zh) * 2018-11-01 2019-04-19 平安科技(深圳)有限公司 基于信息安全的接口mock测试方法、装置、设备及存储介质
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
CN110008113A (zh) * 2019-02-20 2019-07-12 北京三快在线科技有限公司 一种测试方法、装置、电子设备
CN109933534A (zh) * 2019-03-26 2019-06-25 上海上湖信息技术有限公司 一种确定金融测试对象的方法及装置
CN110134604A (zh) * 2019-05-16 2019-08-16 极智(上海)企业管理咨询有限公司 一种无需代码的单元或接口测试方法、装置和计算机设备
CN110147326A (zh) * 2019-05-23 2019-08-20 四川新网银行股份有限公司 基于Redis数据库的微服务自动化测试方法
CN110221975A (zh) * 2019-05-28 2019-09-10 厦门美柚信息科技有限公司 创建接口用例自动化测试脚本的方法及装置
CN110309071A (zh) * 2019-06-27 2019-10-08 杭州数梦工场科技有限公司 测试代码的生成方法及模块、测试方法及系统
CN110413519A (zh) * 2019-07-19 2019-11-05 无线生活(杭州)信息科技有限公司 模板处理方法及装置
CN110502434A (zh) * 2019-07-26 2019-11-26 苏州浪潮智能科技有限公司 一种自动测试方法与装置
CN110569159A (zh) * 2019-09-05 2019-12-13 深圳前海微众银行股份有限公司 挡板生成方法、装置、设备及计算机存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AGOLY: ""第三方收费接口的挡板程序开发(适合压测和功能环境)"", 《HTTPS://WWWW.CNBLOGS.COM/QMFSUN/P/11196771.HTML》 *
ANDREA ARCURI,: ""Private API Access and Functional Mocking in Automated Unit Test Generation"", 《2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST)》 *
一盘花生米: ""系统测试利器之挡板实战"", 《HTTP://WWW.51TESTING.COM/HTML/05/N-4459105.HTML》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752644A (zh) * 2020-06-18 2020-10-09 北京字节跳动网络技术有限公司 接口模拟方法、装置、设备及存储介质
CN112134922A (zh) * 2020-08-14 2020-12-25 中信银行股份有限公司 一种基于微服务的服务调用方法、装置及存储介质
CN112162925A (zh) * 2020-09-29 2021-01-01 新华三大数据技术有限公司 一种基于服务虚拟化的测试方法和系统
CN112486824A (zh) * 2020-11-30 2021-03-12 广州品唯软件有限公司 用例代码生成方法、装置、计算机设备和存储介质
CN112486824B (zh) * 2020-11-30 2024-05-03 广州品唯软件有限公司 用例代码生成方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111181805B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN111181805B (zh) 一种基于测试用例的微服务测试挡板生成方法及系统
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN110008113B (zh) 一种测试方法、装置、电子设备
CN105069355B (zh) webshell变形的静态检测方法和装置
CN105446874B (zh) 一种资源配置文件的检测方法和装置
CN108959067B (zh) 搜索引擎的测试方法、装置及计算机可读存储介质
US20070061641A1 (en) Apparatus and method for generating test driver
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN111459495A (zh) 单元测试代码文件生成方法、电子装置及存储介质
CN112905451B (zh) 应用程序的自动化测试方法及装置
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN111026670A (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
CN112181749A (zh) 硬件测试方法、装置、电子设备和存储介质
CN113778864A (zh) 一种测试用例的生成方法和装置、电子设备和存储介质
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN117370203B (zh) 自动化测试方法、系统、电子设备及存储介质
CN114201759A (zh) 一种基于软件包命名矩阵的软件漏洞识别方法与系统
CN113688134A (zh) 基于多维数据的可视化变量管理方法、系统及设备
CN110874475A (zh) 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质
CN112988776A (zh) 文本解析规则的更新方法、装置、设备及可读存储介质
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN111159028B (zh) 网页测试方法及装置
CN114201757A (zh) 一种基于软件漏洞识别的置信度标识方法、信息存储介质
CN108628750B (zh) 一种测试代码处理方法及装置
CN114328572A (zh) 基于sql解析器的数据查询方法、装置、系统及介质

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