CN112363953B - 基于爬虫技术和规则引擎的接口测试用例生成方法及系统 - Google Patents

基于爬虫技术和规则引擎的接口测试用例生成方法及系统 Download PDF

Info

Publication number
CN112363953B
CN112363953B CN202011426319.2A CN202011426319A CN112363953B CN 112363953 B CN112363953 B CN 112363953B CN 202011426319 A CN202011426319 A CN 202011426319A CN 112363953 B CN112363953 B CN 112363953B
Authority
CN
China
Prior art keywords
interface
test case
interface test
rule
crawler
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
CN202011426319.2A
Other languages
English (en)
Other versions
CN112363953A (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.)
Zhongsai Bangye Hangzhou Intelligent Technology Co ltd
Original Assignee
Zhongsai Bangye Hangzhou Intelligent Technology 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 Zhongsai Bangye Hangzhou Intelligent Technology Co ltd filed Critical Zhongsai Bangye Hangzhou Intelligent Technology Co ltd
Priority to CN202011426319.2A priority Critical patent/CN112363953B/zh
Publication of CN112363953A publication Critical patent/CN112363953A/zh
Application granted granted Critical
Publication of CN112363953B publication Critical patent/CN112363953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了基于爬虫技术和规则引擎的接口测试用例生成方法及系统,方法包括:步骤S1,部署测试服务器;步骤S2,搭建接口文档管理平台;步骤S3,构建网络爬虫;步骤S4,根据接口文档构造接口测试规则引擎;步骤S5,按不同的接口测试用例类型创建接口测试用例模板库;步骤S6,执行网络爬虫;步骤S7,将爬取接口类型传入接口测试规则引擎,自动生成接口测试用例;步骤S8,将接口测试用例的属性存放于数据库;步骤S9,自动生成接口测试用例的测试报告;系统包括:爬虫装置、接口测试用例规则引擎装置、接口测试用例模板库装置、接口测试用例自动生成装置、接口测试用例存储装置、接口测试用例运行装置。

Description

基于爬虫技术和规则引擎的接口测试用例生成方法及系统
技术领域
本发明涉及软件测试技术领域,尤其是涉及了基于爬虫技术和规则引擎的接口测试用例生成方法及系统。
背景技术
目前,随着计算机技术的日益发展,业务系统不断向着分布式、业务中心化和高可用性的方向发展。系统间的接口错综复杂,传统的接口测试方法测试成本急剧增加、测试效率大幅下降。在这样的情况下,迫切需要一种更加有效而且可持续进行的测试方法来保证系统的质量。接口测试的本质是站在用户的角度,对系统接口进行全面、高效、持续的检测。但是,传统的接口测试是基于既定的接口测试文档和可测系统上通过测试脚本编写,从而完成接口测试用例的编写,当接口属性或接口功能发生变更,相应的测试用例编写脚本也需要作出调整,这就大大增加了接口测试用例的维护成本。随着系统的复杂性越来越高。接口的数量越来越多,接口之间的关系越加复杂时,这种接口测试用例的维护成本将很难控制,接口测试的效率很难提升,项目的总体质量和进度风险将大大增加。
发明内容
为解决现有技术的不足,实现接口测试自动化,自动生成接口测试用例的目的,本发明采用如下的技术方案:
基于爬虫技术和规则引擎的接口测试用例生成方法,包括如下步骤:
步骤S1,将被测系统部署于测试服务器;
步骤S2,搭建接口文档管理平台;
步骤S3,构建网络爬虫,从所述接口文档管理平台中爬取被测系统的接口信息;
步骤S4,根据给定的接口文档构造接口测试规则引擎,接口测试规则引擎分为四层,第一层为前置条件规则,第二层为测试用例规则,第三层为参数数据填充规则,第四层为断言规则,按接口类型自动匹配每一层的规则来确定接口测试用例生成规则,包括如下步骤:
步骤S4.1,预定义前置条件规则;
步骤S4.2,预定义测试用例规则;
步骤S4.3,预定义接口参数数据填充规则;
步骤S4.4,预定义断言规则;
步骤S5,按照不同的接口测试用例类型创建接口测试用例模板库;
步骤S6,执行步骤S3构造的网络爬虫,获取被测服务器的接口信息;
步骤S7,将步骤S6爬取的接口信息中的接口类型传入步骤S4构造的接口测试规则引擎,获取测试用例生成规则,并依据该用例对应的接口测试用例模板,自动生成接口测试用例;
步骤S8,将步骤S7生成的接口测试用例的属性存放于数据库;
步骤S9,构建接口测试用例运行器和测试报告生成器,自动生成接口测试用例的测试报告。
进一步的,所述步骤S3中网络爬虫的构建,包括如下步骤:
步骤S3.1,创建URL管理器,用于指定待爬取的WEB网站URL地址;
步骤S3.2,执行爬虫调度器,用于启动整个爬虫程序,获取测试服务器资源;
步骤S3.3,执行解析器,对爬取的测试服务器资源进行解析;
步骤S3.4,爬虫结果存储器对解析器解析完成的内容分类存放。
进一步的,所述步骤S3.3中的解析器首先对每个不同的网站内容设定不同的解析规则,所述解析规则需要定义的内容包括模块名的位置、接口名称位置、接口请求方式位置、接口类型位置、接口参数层级,再根据正则匹配找出相应内容。
进一步的,所述步骤S4.1中的预定义前置条件规则,首先分析需求规格说明书和静态接口文档,确定接口之间的依赖关系,新增类型的接口,其前置条件按预定义的前置条件规则,获取该业务模块前置流程的新增接口作为本模块新增接口的前置条件,查询和删除类型接口的前置条件均以同业务模块的新增接口作为前置条件。
进一步的,所述步骤S4.2中的预定义测试用例规则,是以测试方法为基础而建立的规则集,按所述测试方法将系统接口测试用例分为不同的测试用例类型,包括:正向、非空校验、重复性校验、删除不存在的值校验、查询不存在的值校验、参数传入特殊字符校验、参数传入类型校验、查询条件及查询结果排序校验测试用例类型,每一类接口类型定义一种或多种测试用例类型,通过输入接口类型,自动匹配该接口类型所需要覆盖的测试用例类型。
进一步的,所述步骤S4.3中的预定义接口参数数据填充规则,是按参数类型进行定义,每一种参数类型定义数据生成格式,接口参数数据填充时按所述格式动态生成数据。
进一步的,所述步骤S4.4中的预定义断言规则,是校验测试用例运行的实际结果和预期结果是否一致,并记录到接口测试报告中。
进一步的,所述步骤S7中首先获取前置条件、接口测试用例类型及断言规则,其次,按获取的接口测试用例类型,依次从模板库中查找到预先定义的接口测试用例模板,将规则信息自动替换到所接口测试用例模板中。
进一步的,所述接口参数数据填充默认按网络爬虫爬取的参数数据填充,再按所述步骤S4.3中定义的接口参数数据填充规则进行调整。
基于爬虫技术和规则引擎的接口测试用例生成系统,包括爬虫装置、接口测试用例规则引擎装置、接口测试用例模板库装置、接口测试用例自动生成装置、接口测试用例存储装置、接口测试用例运行装置,接口测试用例自动生成装置分别与爬虫装置、接口测试用例规则引擎装置、接口测试用例模板库装置和接口测试用例存储装置连接,接口测试用例存储装置与接口测试用例运行装置连接;
所述爬虫装置,用于获取接口信息;
接口测试用例规则引擎装置,用于定义接口测试所需的业务流、测试用例规则、接口参数数据填充规则、断言规则,采用按接口类型自动匹配的方式来触发接口测试用例规则;
接口测试用例模板库装置,用于定义不同类型的接口测试用例内容的标准格式和组成部分;
接口测试用例自动生成装置,用于将接口类型输入接口测试规则引擎和接口测试用例模板库,自动匹配到接口测试用例生成规则,按此规则自动生成接口测试用例;
接口测试用例存储装置,对自动生成的接口测试用例按属性存放于数据库;
接口测试用例运行装置,用于批量执行指定范围的接口测试用例,并自动生成接口测试报告。
本发明的优势和有益效果在于:
本发明能够对整个系统的接口进行测试用例覆盖。用例规则、业务流程可灵活配置,接口测试用例可即时动态生成,从而可以快速有效地应对需求和程序设计的变更,同时可监督开发规范,有效提高测试效率,降低测试成本。
附图说明
图1是本发明中爬虫装置结构图。
图2是本发明中接口测试规则引擎装置结构图。
图3是本发明的方法流程图。
图4是本发明的系统结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
首先需要说明的是,本发明是大数据技术在软件测试领域的一种应用。在本发明的实现过程中,会涉及到多个软件功能模块的应用,申请人认为,如在仔细阅读申请文件,准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技术实现本发明。前述软件功能模块包括但不限于主设备、接口测试规则引擎、爬虫、接口信息存储、接口测试用例python代码模板、接口测试用例自动生成等。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面结合附图与具体实施方式对本发明作进一步详细描述:
为了能够更加全面有效地对系统接口进行测试用例的快速覆盖,并及时有效地应对需求和开发设计变更,本发明提供一种基于爬虫技术和规则引擎的接口测试用例自动生成方法。首先将基于spring架构的被测系统部署于测试服务器,通过爬虫技术从swagger接口文档管理平台下载接口信息,根据预定义的接口测试规则引擎,完成接口测试用例python编码自动生成。最终可以一键执行所有或指定范围的接口测试用例,并自动生成接口测试报告。
基于爬虫技术和规则引擎的接口测试用例自动生成方法,如图3所示,包括以下步骤:
步骤S1,将基于spring架构的被测系统部署于测试服务器。
步骤S2,搭建Swagger接口文档管理平台,即接口文档的存储管理系统。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的web服务,它采用OpenAPI规范,在API的设计阶段,可以作为需求和系统特性描述的依据,也可以作为接口测试的基础和依据。
步骤S3,主设备构建网络爬虫。如图1所示,所述网络爬虫的组成结构包括:爬虫调度器、URL管理器、解析器和爬虫结果存储器。从步骤S2所述Swagger接口文档管理平台中爬取被测系统的接口信息。所述接口信息包括业务模块名称、接口名称、接口Url地址、接口请求方法、接口请求参数。网络爬虫的构建,包括以下步骤:
步骤S3.1,创建URL管理器,用于指定待爬取的WEB网站URL地址。WEB网站的URL地址由WEB网站IP地址、端口号、URL路由目录组成,URL定义为“%s/%s/v2/api-docs”,第1个%s表示WEB网站IP,第2个%s表示网站端口,“/v2/api-docs”表示路由目录。
步骤S3.2,执行爬虫调度器,等同于爬虫程序的入口,用于启动整个爬虫程序。所述爬虫采用r=request.get(url),构造一个向测试服务器(待爬取的WEB网站的服务器)请求资源的request对象,返回一个包含测试服务器资源的Response对象。
步骤S3.3,执行解析器,对爬取的网页内容(由Response对象返回)进行解析。首先对每个不同的网站内容设定不同的解析规则,所述解析规则需要定义完整模块名的位置、接口名称位置、接口请求方式位置、接口类型位置、接口参数层级。默认解析规则为%method-%model-%type-%name,系统根据正则匹配找出相应内容。
步骤S3.4,爬虫结果存储器,对解析器解析完成的网页内容,按WEB网站、功能模块名称分类存放。
步骤S4,根据需求阶段给定的静态接口文档构造接口测试规则引擎。如图2所示,接口测试规则引擎分为四层,第一层为前置条件规则,第二层为测试用例规则,第三层为参数数据填充规则,第四层为断言规则。通过按接口类型自动匹配每一层的规则来确定接口测试用例生成规则,即向接口测试规则引擎发送接口类型,获取该接口类型对应的接口测试用例生成规则。构造接口测试规则引擎,包括以下步骤:
步骤S4.1,预定义前置条件规则,首先分析需求规格说明书和静态接口文档,梳理整个系统的业务流程,确定接口之间的依赖关系。新增类型的接口,其前置条件按预定义的前置条件规则,获取该业务模块前置流程的新增接口作为本模块新增接口的前置条件。查询和删除类型接口的前置条件均以同业务模块的新增接口作为前置条件。例如,设有业务模块a、b、c、t,其中a1、b1、c1、t1分别表示a、b、c、t模块的新增接口;a2、b2、c2、t2分别表示a、b、c、t模块的删除接口;a3、b3、c3、t3分别表示a、b、c、t模块的查询接口。删除接口a2、b2、c2、t2的前置条件分别为a1、b1、c1、t1。当业务流程为a→b→c和t→c时,即a业务模块流程执行完成才能执行b业务模块,b业务模块和t业务模块流程执行完成才能执行c业务模块,则新增接口a1的输出是新增接口b1的输入,新增接口c1的输入是新增接口t1的输出,同时c1接口的输入又是b1接口的输出,则可以定义为两条流程链,即流程链pr1=a1->b1->c1;流程链pr2=t1->c1。
步骤S4.2,预定义测试用例规则,测试用例规则是以等价类和边界值等测试方法为基础而建立的规则集。按所述测试方法将系统接口测试用例分为正向、非空校验、重复性校验、删除不存在的值校验、查询不存在的值校验、参数传入特殊字符校验、参数传入类型校验、查询条件及查询结果排序校验等测试用例类型。每一类接口类型可定义一种或多种测试用例类型,通过输入接口类型,自动匹配该接口类型所需要覆盖的测试用例的种类。
步骤S4.3,预定义接口参数数据填充规则。接口参数数据填充规则按参数类型进行定义,分为字符型参数、整型参数、浮点型参数、日期型参数等。每一种参数类型定义数据生成格式,接口参数数据填充时按所述格式动态生成数据。
步骤S4.4,预定义断言规则。所述断言就是校验测试用例运行的实际结果和预期结果是否一致,如果不一致,系统将抛出异常提示信息,这个信息最终将记录到接口测试报告中。
步骤S5,按照不同的接口测试用例类型创建接口测试用例模板库。所述接口测试用例模板由python代码构成,模板内容结构分为前置条件部分、接口参数封装及接口参数数据填充部分、接口调用部分、接口返回内容断言。
模板类型分为:新增类正向接口测试用例模板、新增类非空校验测试用例模板、新增类重复性校验测试用例模板、新增类参数传入特殊字符校验测试用例模板、新增类参数传入类型校验测试用例模板、删除类不存在的值校验测试用例模板、查询类不存在的值测试用例验模板、查询条件及查询结果排序校验测试用例模板。
步骤S6,执行步骤S3构造的网络爬虫,获取被测WEB网站的所有接口信息。
步骤S7,将步骤S6爬取的接口信息中的接口类型传入步骤S4构造的接口测试规则引擎,获取测试用例生成规则,并依据该用例对应的接口测试用例模板,自动生成接口测试用例。
首先,获取前置条件、接口测试用例类型及断言规则。其次,按获取的接口测试用例类型集,依次从模板库中查找到预先定义的接口测试用例模板,将相应的规则信息、前置条件和断言规则自动替换到所述接口测试用例模板中,接口参数数据填充默认按爬虫爬取的参数数据填充,再按步骤S4.3中所定义的接口参数数据填充规则进行调整。
步骤S8,将步骤S7生成的接口测试用例属性以表格的形式存放于数据库。
接口测试用例属性,包括用例ID、用例名称、用例说明、接口类型、接口名称、参数、用例类型、执行结果等。同时将由接口测试用例模板中生成的接口测试用例以.py文件的形式存放于python工程项目的test_case目录中,每个文件以“test_”开头。
步骤S9,构建接口测试用例运行器和测试报告生成器。所述接口测试用例运行器采用Unittest测试套件来构建,使用unittest测试套件,加载test_case目录下所有的测试用例,并按指定范围执行,由测试报告生成器HtmlReport自动生成接口测试用例的测试报告。
例如,爬虫从swagger接口文档中爬到一个可以测试的模块“排班管理-班组”,里面包括8个接口。按照前述定义的接口测试方法和接口测试用例规则,一个接口将衍生出多种接口测试用例类型,比如“/drTeam/add新增数据”这个接口属于新增接口,它会被事先定义为包含“正向”、“非空校验”、“重复性校验”、“参数传入特殊字符校验”、“字符型参数传入数值型校验”、“参数长度超限校验”等6类接口测试用例类型。每一类接口测试用例类型事先定义好模板,比如“正向”类型的接口测试用例模板主要包含以下几部分内容:1)根据定义好的前置条件规则获取该接口用例对应的前置条件接口,并调用该接口,获取接口返回值(ID)。2)将前置条件接口返回值作为本接口参数传入本接口。3)按爬取的本接口参数填充参数值。4)运行本接口,获取接口返回值,所述接口返回值即测试用例的实际结果。5)根据本接口返回值中的ID获取本接口数据库所存值,所述数据库所存值即为测试用例预期结果。将获取到的数据库所存值和本接口返回值进行数据一致性对比,即实际结果与预期结果进行对比。
本发明还揭示了一种基于爬虫技术和规则引擎的接口测试用例自动生成系统,如图4所示,包括:爬虫装置、接口测试用例规则引擎装置、接口测试用例模板库装置、接口测试用例自动生成装置、接口测试用例存储装置、接口测试用例运行装置。
所述爬虫装置,用于获取接口文档管理平台Swagger的接口信息。包括业务模块名称、接口名称、接口Url地址、接口请求方法、接口请求参数,并将以上信息格式转化成所述系统规定的统一格式;
所述接口测试用例规则引擎装置,用于定义接口测试所需的业务流、测试用例规则、接口参数数据填充规则、断言规则,采用按接口类型自动匹配的方式来触发接口测试用例规则;
所述接口测试用例模板库装置,用于定义不同类型的接口测试用例内容的标准格式和组成部分;
所述接口测试用例自动生成装置,用于根据接口类型输入前述接口测试规则引擎和接口测试用例模板库,自动匹配到接口测试用例生成规则,按此规则自动生成接口测试用例,用例以python代码组成,并以“test_接口英文名.py”的形式存放于python工程项目中;
所述接口测试用例存储装置,对自动生成的接口测试用例按属性,以表格的形式存放于数据库;
所述接口测试用例运行装置,用于批量执行指定范围的接口测试用例,并自动生成接口测试报告。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

Claims (9)

1.基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于包括如下步骤:
步骤S1,将被测系统部署于测试服务器;
步骤S2,搭建接口文档管理平台;
步骤S3,构建网络爬虫,从所述接口文档管理平台中爬取被测系统的接口信息;
步骤S4,根据给定的接口文档构造接口测试规则引擎,接口测试规则引擎分为四层,第一层为前置条件规则,第二层为测试用例规则,第三层为参数数据填充规则,第四层为断言规则,按接口类型自动匹配每一层的规则来确定接口测试用例生成规则,包括如下步骤:
步骤S4.1,预定义前置条件规则;首先分析需求规格说明书和静态接口文档,确定接口之间的依赖关系,新增类型的接口,其前置条件按预定义的前置条件规则,获取业务模块前置流程的新增接口作为本模块新增接口的前置条件,查询和删除类型接口的前置条件均以同业务模块的新增接口作为前置条件;
步骤S4.2,预定义测试用例规则;
步骤S4.3,预定义接口参数数据填充规则;
步骤S4.4,预定义断言规则;
步骤S5,按照不同的接口测试用例类型创建接口测试用例模板库;
步骤S6,执行步骤S3构造的网络爬虫,获取被测服务器的接口信息;
步骤S7,将步骤S6爬取的接口信息中的接口类型传入步骤S4构造的接口测试规则引擎,获取测试用例生成规则,并依据该用例对应的接口测试用例模板,自动生成接口测试用例;
步骤S8,将步骤S7生成的接口测试用例的属性存放于数据库;
步骤S9,构建接口测试用例运行器和测试报告生成器,自动生成接口测试用例的测试报告。
2.如权利要求1所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S3中网络爬虫的构建,包括如下步骤:
步骤S3.1,创建URL管理器,用于指定待爬取的WEB网站URL地址;
步骤S3.2,执行爬虫调度器,用于启动整个爬虫程序,获取测试服务器资源;
步骤S3.3,执行解析器,对爬取的测试服务器资源进行解析;
步骤S3.4,爬虫结果存储器对解析器解析完成的内容分类存放。
3.如权利要求2所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S3.3中的解析器首先对每个不同的网站内容设定不同的解析规则,所述解析规则需要定义的内容包括模块名的位置、接口名称位置、接口请求方式位置、接口类型位置、接口参数层级,再根据正则匹配找出相应内容。
4.如权利要求1所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S4.2中的预定义测试用例规则,是以测试方法为基础而建立的规则集,按所述测试方法将系统接口测试用例分为不同的测试用例类型,包括:正向、非空校验、重复性校验、删除不存在的值校验、查询不存在的值校验、参数传入特殊字符校验、参数传入类型校验、查询条件及查询结果排序校验测试用例类型,每一类接口类型定义一种或多种测试用例类型,通过输入接口类型,自动匹配该接口类型所需要覆盖的测试用例类型。
5.如权利要求1所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S4.3中的预定义接口参数数据填充规则,是按参数类型进行定义,每一种参数类型定义数据生成格式,接口参数数据填充时按所述格式动态生成数据。
6.如权利要求1所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S4.4中的预定义断言规则,是校验测试用例运行的实际结果和预期结果是否一致,并记录到接口测试报告中。
7.如权利要求1所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述步骤S7中首先获取前置条件、接口测试用例类型及断言规则,其次,按获取的接口测试用例类型,依次从模板库中查找到预先定义的接口测试用例模板,将规则信息自动替换到所接口测试用例模板中。
8.如权利要求7所述的基于爬虫技术和规则引擎的接口测试用例生成方法,其特征在于所述接口参数数据填充默认按网络爬虫爬取的参数数据填充,再按所述步骤S4.3中定义的接口参数数据填充规则进行调整。
9.基于爬虫技术和规则引擎的接口测试用例生成系统,包括爬虫装置,其特征在于还包括接口测试用例规则引擎装置、接口测试用例模板库装置、接口测试用例自动生成装置、接口测试用例存储装置、接口测试用例运行装置,接口测试用例自动生成装置分别与爬虫装置、接口测试用例规则引擎装置、接口测试用例模板库装置和接口测试用例存储装置连接,接口测试用例存储装置与接口测试用例运行装置连接;
所述爬虫装置,用于获取接口信息;
接口测试用例规则引擎装置,用于定义接口测试所需的业务流、测试用例规则、接口参数数据填充规则、断言规则,采用按接口类型自动匹配的方式来触发接口测试用例规则;所述接口测试所需的业务流,即预定义前置条件规则,首先分析需求规格说明书和静态接口文档,确定接口之间的依赖关系,新增类型的接口,其前置条件按预定义的前置条件规则,获取业务模块前置流程的新增接口作为本模块新增接口的前置条件,查询和删除类型接口的前置条件均以同业务模块的新增接口作为前置条件;
接口测试用例模板库装置,用于定义不同类型的接口测试用例内容的标准格式和组成部分;
接口测试用例自动生成装置,用于将接口类型输入接口测试规则引擎和接口测试用例模板库,自动匹配到接口测试用例生成规则,按此规则自动生成接口测试用例;
接口测试用例存储装置,对自动生成的接口测试用例按属性存放于数据库;
接口测试用例运行装置,用于批量执行指定范围的接口测试用例,并自动生成接口测试报告。
CN202011426319.2A 2020-12-09 2020-12-09 基于爬虫技术和规则引擎的接口测试用例生成方法及系统 Active CN112363953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011426319.2A CN112363953B (zh) 2020-12-09 2020-12-09 基于爬虫技术和规则引擎的接口测试用例生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011426319.2A CN112363953B (zh) 2020-12-09 2020-12-09 基于爬虫技术和规则引擎的接口测试用例生成方法及系统

Publications (2)

Publication Number Publication Date
CN112363953A CN112363953A (zh) 2021-02-12
CN112363953B true CN112363953B (zh) 2023-12-05

Family

ID=74536758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011426319.2A Active CN112363953B (zh) 2020-12-09 2020-12-09 基于爬虫技术和规则引擎的接口测试用例生成方法及系统

Country Status (1)

Country Link
CN (1) CN112363953B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138926A (zh) * 2021-04-25 2021-07-20 世纪龙信息网络有限责任公司 一种网络服务接口评测方法和装置
CN113535565B (zh) * 2021-07-19 2022-10-04 工银科技有限公司 一种接口用例生成方法、装置、设备和介质
CN115328812B (zh) * 2022-10-11 2023-02-28 深圳华锐分布式技术股份有限公司 基于网络爬虫的ui界面测试方法、装置、设备及介质
CN115687161B (zh) * 2022-12-30 2023-06-23 云筑信息科技(成都)有限公司 基于扫描maven仓库自动生成接口测试用例的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190131778A (ko) * 2018-05-17 2019-11-27 동서대학교 산학협력단 은닉 url에 포함된 정형 및 비정형 데이터의 수집을 위한 웹 크롤러 시스템
CN111930635A (zh) * 2020-09-17 2020-11-13 深圳微品致远信息科技有限公司 基于swagger快速自动化测试的方法及系统
CN111949553A (zh) * 2020-09-04 2020-11-17 苏州浪潮智能科技有限公司 一种基于规则引擎的场景用例测试方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190131778A (ko) * 2018-05-17 2019-11-27 동서대학교 산학협력단 은닉 url에 포함된 정형 및 비정형 데이터의 수집을 위한 웹 크롤러 시스템
CN111949553A (zh) * 2020-09-04 2020-11-17 苏州浪潮智能科技有限公司 一种基于规则引擎的场景用例测试方法及装置
CN111930635A (zh) * 2020-09-17 2020-11-13 深圳微品致远信息科技有限公司 基于swagger快速自动化测试的方法及系统

Also Published As

Publication number Publication date
CN112363953A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN112363953B (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及系统
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
US11675691B2 (en) System and method for performing automated API tests
CN111930635B (zh) 基于swagger快速自动化测试的方法及系统
US7596546B2 (en) Method and apparatus for organizing, visualizing and using measured or modeled system statistics
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
US7003781B1 (en) Method and apparatus for correlation of events in a distributed multi-system computing environment
CN110321281A (zh) 基于混合自动化测试框架的Web测试平台及测试方法
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN108763091B (zh) 用于回归测试的方法、装置及系统
Bento et al. Automated analysis of distributed tracing: Challenges and research directions
CN110674083B (zh) 工作流迁移方法、装置、设备及计算机可读存储介质
CN110297760A (zh) 测试数据的构造方法、装置、设备及计算机可读存储介质
KR100910336B1 (ko) 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법
CN103186463A (zh) 确定软件的测试范围的方法和系统
CN111258881A (zh) 一种用于工作流程测试的智能测试系统
CN117370203A (zh) 自动化测试方法、系统、电子设备及存储介质
Tsai et al. Scenario-based test case generation for state-based embedded systems
CN111881056A (zh) 一种自动化测试框架及测试方法
CN115470152A (zh) 测试代码生成方法、测试代码生成装置以及存储介质
CN115599683A (zh) 自动化测试方法、装置、设备及存储介质
CN112416367B (zh) 基于软件逆向拆解和分析的应用资源变更影响分析系统
CN114124769B (zh) 一种基站测试方法、装置、电子设备及存储介质
CN114817393B (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