CN112783791A - 接口测试案例的生成方法及装置 - Google Patents

接口测试案例的生成方法及装置 Download PDF

Info

Publication number
CN112783791A
CN112783791A CN202110171209.4A CN202110171209A CN112783791A CN 112783791 A CN112783791 A CN 112783791A CN 202110171209 A CN202110171209 A CN 202110171209A CN 112783791 A CN112783791 A CN 112783791A
Authority
CN
China
Prior art keywords
interface
field
java object
generating
layer java
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
CN202110171209.4A
Other languages
English (en)
Other versions
CN112783791B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110171209.4A priority Critical patent/CN112783791B/zh
Publication of CN112783791A publication Critical patent/CN112783791A/zh
Application granted granted Critical
Publication of CN112783791B publication Critical patent/CN112783791B/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/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种接口测试案例的生成方法及装置,方法包括:获得网关服务器的接口定义文档和多个接口TRACE日志,接口定义文档中包含字段组的接口字段定义信息,接口TRACE日志包括:接口字段定义信息对应的接口字段值;根据接口字段定义信息,生成基础层JAVA对象;根据每个接口TRACE日志,生成数据层JAVA对象,其中数据层JAVA对象继承基础层JAVA对象;将多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中业务层JAVA对象继承数据层JAVA对象;根据基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。本发明可以提高编写效率,降低成本。

Description

接口测试案例的生成方法及装置
技术领域
本发明涉及软件测试技术领域,尤其涉及接口测试案例的生成方法及装置。
背景技术
自动化测试是通过建设与被测***对应的测试***,将人工测试行为转化为机器执行的过程。完整的自动化测试过程一般包含测试环境准备、数据初始化、测试执行、结果核对、数据清理等内容,且整个过程是可重复自动化执行。做自动化测试过程中,接口作为上下流交互的重要组成部分,需要重点进行守护。接口提供方的自动化测试工程师,日常面临最多的工作就是编写接口自动化测试脚本,在编写接口的过程需要考虑如何编写接口的自动化测试案例。
在编写接口前需要定义接口文档,参考接口文档的内容,可以对接口进行测试。在编写自动化测试案例中,需要手动参照文档的定义生成一份接口类,接口中参数可能很多,参数越多花费时间越多。测试的业务场景不同,也需要编写不同的测试案例,接口数据和测试脚本编写的工作量会非常大,存在编写测试案例成本高、效率低的问题。
因此,亟需一种可以克服上述问题的接口测试案例的生成方案。
发明内容
本发明实施例提供一种接口测试案例的生成方法,用以生成接口测试案例,提高编写效率,降低成本,该方法包括:
获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
本发明实施例提供一种接口测试案例的生成装置,用以生成接口测试案例,提高编写效率,降低成本,该装置包括:
日志获得模块,用于获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
基础层生成模块,用于根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
数据层生成模块,用于根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
业务层生成模块,用于将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
测试案例生成模块,用于根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述接口测试案例的生成方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述接口测试案例的生成方法的计算机程序。
本发明实施例通过获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。本发明实施例根据网关服务器的接口定义文档和多个接口TRACE日志,生成了存在继承关系的基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,进而根据基础层JAVA对象,数据层JAVA对象和业务层JAVA对象生成接口测试案例,可直接用于接口的自动化测试,复用方便、可维护性较高、利于管理和同步案例文件,进而有效生成接口测试案例,提高编写效率,降低成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中接口测试案例的生成方法示意图;
图2为本发明实施例中三层JAVA对象继承关系示意图;
图3~图5为本发明实施例中生成交易调用代码示意图;
图6~图8为本发明实施例中使用接口定义生成赋值代码示意图;
图9~图15为本发明具体实施例中接口测试案例的生成方法示意图;
图16为本发明实施例中接口测试案例的生成装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了生成接口测试案例,提高编写效率,降低成本,本发明实施例提供一种接口测试案例的生成方法,如图1所示,该方法可以包括:
步骤101、获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
步骤102、根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
步骤103、根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
步骤104、将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
步骤105、根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
由图1所示可以得知,本发明实施例通过获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。本发明实施例根据网关服务器的接口定义文档和多个接口TRACE日志,生成了存在继承关系的基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,进而根据基础层JAVA对象,数据层JAVA对象和业务层JAVA对象生成接口测试案例,可直接用于接口的自动化测试,复用方便、可维护性较高、利于管理和同步案例文件,进而有效生成接口测试案例,提高编写效率,降低成本。
实施例中,获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值。根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象。根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象。将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象。
本实施例中,为了降低案例编写成本,降低首次制作案例脚本所花费的时间,使用自动生成案例脚本的方式编写测试案例,后续根据案例脚本进行维护修改。生成案例信息来源于接口TRACE日志和接口定义文档。其中接口TRACE日志会记录每次接口调用的上送和下送的日志,日志中会记录接口上送和下送的所有字段的类型、长度和值;接口定义文档除了每个字段的类型、长度,还有字段名称。通过网关服务器的接口TRACE日志和接口文档定义,生成基础、数据、业务三层JAVA对象,也即基础层JAVA对象,数据层JAVA对象和业务层JAVA对象。基础层JAVA对象用于定义接口字段的类型、长度和名称;数据层JAVA对象用于对数据进行赋值,用接口TRACE日志的字段值生成;业务层JAVA对象对应用于控制业务逻辑,对比多个日志,如同一个字段不同日志字段值不同,把该字段赋值放业务层。接口TRACE日志一般为手动测试触发的带实际业务意义的交易数据,用这些数据生成JAVA对象并对JAVA对象进行赋值。三个分层中基础层通过字段类型生成的默认值,数字类型默认值为0,字符类型默认值为空字符串,数据层使用日志中非空字段的值进行赋值(字段和日志字段值按顺序对应),通过日志的顺序与接口字段按顺序把字段和值关联起来。业务层为测试业务类,通过对不同日志中同一个字段有不同的值,将不同的值提取到测试案例当中。本发明实施例生成案例脚本整个框架代码,除了赋值代码,还生成与网关的交互的调用代码用于发起请求到网关服务器。通过生成的案例脚本,可直接用于接口的自动化测试,并可通过修改业务层的逻辑方便的增量测试案例,提高编写案例的效率。具有复用方便、可维护性较高、利于管理和同步案例文件等特点。支持数据分层。用户需关注的字段少,仅需关注业务场景类中暴露的关键业务字段,并对其进行赋值即可。其它大多数上送的数据对用户透明。案例资源可复用性强,如场景中需要使用的交易,可直接调用对应交易或接口的业务类,再适当配置数据源即可。可灵活支持多个交易的串行执行,且仅需关注首个案例的数据源输入,其输出结果可提供给后续交易引用。下面对本发明的技术方案进行详细说明。
本发明生成的测试案例脚本有三层JAVA对象,其继承关系如图2所示,接口定义类自动生成在固定目录中,如果接口字段定义没变化,不需要用户维护,下面两格为由用户维护的对象类,四层对象功能如下:基础层:提供与主机网关交互的能力,拼装报文并解析返回的报文结果。定义层:接口字段定义,根据字段类型提供默认值(0或空,无业务意义)。数据层:为接口字段有业务意义的默认值,作为接口基础数据。业务层:对重要业务字段赋值,串联相关接口完成场景测试。
需要说明的是,如只有接口定义文档,没有TRACE,生成三层JAVA对象中,只有定义层有字段进行默认赋值,数据层和业务层只生成代码,没有对字段进行赋值。日志中包括每个字段的输入输出参数,在生成的案例脚本中主要用于对字段的赋值。存量的日志通常为手工测试的交易数据或者上游调用方接口上送的数据,一般大部分的字段上送值与实际情况接近。
本实施例中,所述字段组包括:公共字段组和私有字段组,所述公共字段组用于记录公共处理结果,所述公共处理结果包括:***层面处理结果,部门层面处理结果,应用层面处理结果其中之一或任意组合,所述私有字段组用于记录私有处理结果。
具体实施时,接口定义文档包含接口所有字段的定义,字段类型、字段长度、字段名称、字段描述。字段组分为公共字段组和私有字段组,公共字段组用于记录公共处理结果处理,如***层面处理、部门层面处理、应用层面处理公共,例如异常处理、错误码处理,日志登记,交易序号等处理需要用到的字段放在公用字段组当中。私有字段组为接口使用的字段,通常为与该接口使用到的输入输出。调用方可通过字段的定义进行调用,通过在调用程序中把所有字段定义在程序里定义并拼装上送网关服务器。接口TRACE日志在接口调用成功后,网关会按顺序记录接口的调用的每个字段的输入输出过程中每个字段的字段长度和字段值。
本实施例中,将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,包括:分析多个接口TRACE日志中私有字段组的差异字段;从所述差异字段中去除时间字段和序号字段;根据剩余的差异字段生成业务层JAVA对象。
具体实施时,如果同一个接口有多个接口TRACE日志,则分析日志中私有字段组中的差异的字段,排除时间、序号等无业务意义的字段,每种字段组合生成一个测试案例脚本。用户修改维护测试案例脚本是一般直接修改业务层中的赋值,如果一个场景需要引用多个接口,则在案例方法中当多个数据类串联成场景。
实施例中,根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
本实施例中,所述接口测试案例的生成方法还包括:根据所述接口字段定义信息,生成二维字符串数组,用于拼装上送网关服务器的报文,所述二维字符串数组包括:上下送标识信息,接口字段类型,接口字段长度,字段组名称,接口字段名称。
具体实施时,接口测试案例的测试脚本主要包括:
1、生成交易调用代码
生成交易调用代码、辅助断言的代码,处理生成字段赋值部分,接口主要通过修改字段的赋值控制接口覆盖不同的分支。生成脚本的基础是把所有字段转化成JAVA变量,且需要记录字段的类型长度等信息用于读取拼装成上送报文件,方案是将字段相关信息存入一个二维字符串数组当中,如图3所示,包含上下送标识、字段类型、字段长度、字段组名称、字段名称,此二维数组用于读取并拼装报文上送网关服务器。接口调用代码如图4所示。定义层如图5所示,继承了DSRBase,可以通过Run方法打包数据上送网关的功能。
2、生成赋值代码
脚本的赋值部分按不同的文件生成方式如下:
1)使用接口TRACE日志生成:根据接口TRACE日志每个字段的长度和值,每个字段生成一个JAVA变量。因为接口TRACE日志没有字段名信息,所以所有字段将以序号区分,如有一百个字段,JAVA对象定义层将生成字段1、字段2到字段100,然后根据日志中的记录的输入值对字段进行赋值。这种情况因为字段看不出业务意义,难于维护,生成案例脚本一般用于冒烟测试,测试接口的连通性。
2)使用接口定义生成:接口定义中包括字段类型、长度、名称、描述等信息。在定义层中按上述所说转换成JAVA变量,如图6所示。定义层中包含字段信息的二维数组和每个字段对应的变量。并且每个字段当字段类型赋默认值,字符类型的默认值为空字符串,数据类型的默认值为0。为了方便对字符进行赋值,按各个字段按字段组封闭成内部类,可以用字段组名+字段名进行赋值,与代码编辑器的提示功能结合,可以更方便的找到对应的字段,如图7所示。为了更方便维护字段的赋值,生成数据层的JAVA类用于对字段的赋值,该类继承定义类,可以字段进行同值,生成全字段的赋值语句的注释代码,用户从赋值语句中拷贝对应的赋值代码出来修改值,也可以根据代码提示编写赋值语句,如图8所示。
3)使用接口定义文档结合接口TRACE日志生成:如果在接口定义文档的基础下还有接口TRACE日志,会在数据层把TRACE文件的字段输入的值,生成赋值语句,这些赋值主要解决接口的连通性问题,接口程序一般有一些字段的非空或格式的检查,例如一些有了这些赋值,可以使接口可以跑通,例如异常处理、错误码处理,日志登记,交易序号等公用处理用到的字段。对于一些重要字段,通常是接口的私有字段中能控制接口关键逻辑的字段,需要将赋值语句提取到业务类当中。生成的过程中,如果同一个接口有多个接口TRACE日志,则分析日志中私有字段组中的差异的字段,排除时间、序号等无业务意义的字段,每种字段组合生成一个测试案例脚本。用户修改维护测试案例脚本是一般直接修改业务层中的赋值,如果一个场景需要引用多个接口,则在案例方法中当多个数据类串联成场景。
下面给出一个具体实施例,说明本发明实施例中接口测试案例生成方法的具体应用。在本具体实施例中,在生成测试案例脚本时需要用到接口文档定义和接口对应的TRACE日志,如图9所示,接口定义文档为.dsr后缀,接口TRACE日志为TRACE开头。为了方便举例说明,对接口文件进行了简化,减少了一些字段。有三个字段组COMMSTAT、COMECHAN、IMCHTR,COM开头的COMMSTAT和COMECHAN为公用字段组,IMCHTR为私有字段组。简化接口定义文档如图10所示。在网关服务器上,会记录接口上送和下送的字段的值,如下为三个字段组COMMSTAT、COMECHAN、IMCHTR上送的字段,具体的值可以用辅助生成测试案例。接口TRACE日志如图11所示。
为了更方便生成测试案例脚本,本开明开发了eclipse插件,通过点击要生成案例脚本的目录,然后点击生成向导菜单,打开向导,如图12所示。向导会把定义类默认放在固定的目录下,数据类会放到当前(测试案例脚本)目录中dsr目录下,dsr为接口类型简称。把接口文件拖动到生成列表中,会生成一行记录,包含接口名称,接口描述字段联网讯取接口相关信息并自动填写,如图13所示。向导中第二页填写测试案例相关的内容如图14所示。如上所述,向导会生成定义类、数据类和业务类,其中定义继承基础类,用于封闭字段上送主机网关服务器。生成的定义类不需要修改,该类封装了接口文件中的相关字段,将接口dsr文件中的字段映射为JAVA字段,同时通过内部类的方式模拟了dsr文件中区的概念。该类根据接口文档dsr字段的类型,为生成的每个字段取了默认值。生成的字段为避免名称以数字开头,生成的字段组名前默认在m,字段名则默认加f。
定义类中按照接口定义的中的字段分组,每个分组对象一个JAVA内部类。由于定义了这些内部类,在业务类和数据类对字段赋值时可以更方便的对字段进行赋值。第一层提示内部类,第二层提示内部类中的字段。
在生成数据类的过程中,会自动连接网关中取接口TRACE日志,分析日志中字段赋值,根据用户设置的生成数据类数量限制,生成一个或多个数据类。如果网关服务器没有接口TRACE日志,则不对数据类的字段赋值;如果网关有1个接口TRACE日志,则用这个文件的中的上送字段值用于数据类的字段赋值,如果网关有多个接口TRACE日志,则分析日志中私有字段组中的组合种类(排除日期,序号等非关键字段)。如果组合数量少于或等于用户设置的数量限制,则所有组合都生成数据类,些时用户也可以选择合数据类,把数据组合提取到测试案例当中,一个数据组合对应一个测试案例。如果组合数量大于用户设置的数量限制,则根据数据组合的时间排序,选择最新的几个数据组合用于生成多个数据类或者测试案例。如图15所示为测试业务类中的一个测试案例,引用了数据类,并对数据类中的字段进行赋值。多个数据组合(客户编号和客户分类)生成多个测试案例并可以进一步封装或者串联成场景案例。
本发明可以用于生成接口测试案例脚本并,***具体以下优点:支持数据分层。用户需关注的字段少,仅需关注业务场景类中暴露的关键业务字段,并对其进行赋值即可。其它大多数上送的数据对用户透明。案例可直接在CC上进行版本管理、案例共享等。案例资源可复用性强,如场景中需要使用的交易,可直接调用对应交易或接口的业务类,再适当配置数据源即可。可灵活支持多个交易的串行执行,且仅需关注首个案例的数据源输入,其输出结果可提供给后续交易引用。在案例编写过程中,可对常用的函数进行封装,作为公共函数使用,减少代码冗余量。
基于同一发明构思,本发明实施例还提供了一种接口测试案例的生成装置,如下面的实施例所述。由于这些解决问题的原理与接口测试案例的生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图16为本发明实施例中接口测试案例的生成装置的结构图,如图16所示,该装置包括:
日志获得模块161,用于获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
基础层生成模块162,用于根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
数据层生成模块163,用于根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
业务层生成模块164,用于将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
测试案例生成模块165,用于根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
一个实施例中,所述字段组包括:公共字段组和私有字段组,所述公共字段组用于记录公共处理结果,所述公共处理结果包括:***层面处理结果,部门层面处理结果,应用层面处理结果其中之一或任意组合,所述私有字段组用于记录私有处理结果。
一个实施例中,业务层生成模块164进一步用于:
分析多个接口TRACE日志中私有字段组的差异字段;
从所述差异字段中去除时间字段和序号字段;
根据剩余的差异字段生成业务层JAVA对象。
一个实施例中,所述的接口测试案例的生成装置还包括:
数组生成模块,用于根据所述接口字段定义信息,生成二维字符串数组,用于拼装上送网关服务器的报文,所述二维字符串数组包括:上下送标识信息,接口字段类型,接口字段长度,字段组名称,接口字段名称。
综上所述,本发明实施例通过获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。本发明实施例根据网关服务器的接口定义文档和多个接口TRACE日志,生成了存在继承关系的基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,进而根据基础层JAVA对象,数据层JAVA对象和业务层JAVA对象生成接口测试案例,可直接用于接口的自动化测试,复用方便、可维护性较高、利于管理和同步案例文件,进而有效生成接口测试案例,提高编写效率,降低成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种接口测试案例的生成方法,其特征在于,包括:
获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
2.如权利要求1所述的接口测试案例的生成方法,其特征在于,所述字段组包括:公共字段组和私有字段组,所述公共字段组用于记录公共处理结果,所述公共处理结果包括:***层面处理结果,部门层面处理结果,应用层面处理结果其中之一或任意组合,所述私有字段组用于记录私有处理结果。
3.如权利要求2所述的接口测试案例的生成方法,其特征在于,将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,包括:
分析多个接口TRACE日志中私有字段组的差异字段;
从所述差异字段中去除时间字段和序号字段;
根据剩余的差异字段生成业务层JAVA对象。
4.如权利要求1所述的接口测试案例的生成方法,其特征在于,还包括:
根据所述接口字段定义信息,生成二维字符串数组,用于拼装上送网关服务器的报文,所述二维字符串数组包括:上下送标识信息,接口字段类型,接口字段长度,字段组名称,接口字段名称。
5.一种接口测试案例的生成装置,其特征在于,包括:
日志获得模块,用于获得网关服务器的接口定义文档和多个接口TRACE日志,所述接口定义文档中包含字段组的接口字段定义信息,所述接口字段定义信息包括:接口字段类型,接口字段长度,接口字段名称,接口字段描述信息;所述接口TRACE日志包括:接口字段定义信息对应的接口字段值;
基础层生成模块,用于根据接口定义文档中的字段组的接口字段定义信息,生成基础层JAVA对象;
数据层生成模块,用于根据每个接口TRACE日志,生成数据层JAVA对象,其中所述数据层JAVA对象继承基础层JAVA对象;
业务层生成模块,用于将所述多个接口TRACE日志进行比对,根据比对的结果生成业务层JAVA对象,其中所述业务层JAVA对象继承数据层JAVA对象;
测试案例生成模块,用于根据所述基础层JAVA对象,数据层JAVA对象和业务层JAVA对象,生成接口测试案例。
6.如权利要求5所述的接口测试案例的生成装置,其特征在于,所述字段组包括:公共字段组和私有字段组,所述公共字段组用于记录公共处理结果,所述公共处理结果包括:***层面处理结果,部门层面处理结果,应用层面处理结果其中之一或任意组合,所述私有字段组用于记录私有处理结果。
7.如权利要求6所述的接口测试案例的生成装置,其特征在于,业务层生成模块进一步用于:
分析多个接口TRACE日志中私有字段组的差异字段;
从所述差异字段中去除时间字段和序号字段;
根据剩余的差异字段生成业务层JAVA对象。
8.如权利要求5所述的接口测试案例的生成装置,其特征在于,还包括:
数组生成模块,用于根据所述接口字段定义信息,生成二维字符串数组,用于拼装上送网关服务器的报文,所述二维字符串数组包括:上下送标识信息,接口字段类型,接口字段长度,字段组名称,接口字段名称。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
CN202110171209.4A 2021-02-08 2021-02-08 接口测试案例的生成方法及装置 Active CN112783791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110171209.4A CN112783791B (zh) 2021-02-08 2021-02-08 接口测试案例的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110171209.4A CN112783791B (zh) 2021-02-08 2021-02-08 接口测试案例的生成方法及装置

Publications (2)

Publication Number Publication Date
CN112783791A true CN112783791A (zh) 2021-05-11
CN112783791B CN112783791B (zh) 2024-05-24

Family

ID=75761249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110171209.4A Active CN112783791B (zh) 2021-02-08 2021-02-08 接口测试案例的生成方法及装置

Country Status (1)

Country Link
CN (1) CN112783791B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251384A (zh) * 2023-11-17 2023-12-19 南京掌控网络科技有限公司 一种接口自动化测试用例生成方法及***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360920A (zh) * 2014-12-02 2015-02-18 微梦创科网络科技(中国)有限公司 一种接口自动化测试方法及装置
CN104407976A (zh) * 2014-11-28 2015-03-11 联动优势电子商务有限公司 一种接口健壮性测试用例生成方法及装置
CN106815138A (zh) * 2015-12-01 2017-06-09 北京奇虎科技有限公司 一种生成接口测试用例的方法和装置
CN110287069A (zh) * 2019-05-21 2019-09-27 平安银行股份有限公司 Esb接口自动化测试方法、服务器及计算机可读存储介质
CN111045928A (zh) * 2019-11-14 2020-04-21 用友网络科技股份有限公司 一种接口数据测试方法、装置、终端及存储介质
CN111382074A (zh) * 2020-03-09 2020-07-07 摩拜(北京)信息技术有限公司 接口测试方法、装置及电子设备
CN112241370A (zh) * 2020-10-21 2021-01-19 网易(杭州)网络有限公司 一种api接口类的校验方法、***及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407976A (zh) * 2014-11-28 2015-03-11 联动优势电子商务有限公司 一种接口健壮性测试用例生成方法及装置
CN104360920A (zh) * 2014-12-02 2015-02-18 微梦创科网络科技(中国)有限公司 一种接口自动化测试方法及装置
CN106815138A (zh) * 2015-12-01 2017-06-09 北京奇虎科技有限公司 一种生成接口测试用例的方法和装置
CN110287069A (zh) * 2019-05-21 2019-09-27 平安银行股份有限公司 Esb接口自动化测试方法、服务器及计算机可读存储介质
CN111045928A (zh) * 2019-11-14 2020-04-21 用友网络科技股份有限公司 一种接口数据测试方法、装置、终端及存储介质
CN111382074A (zh) * 2020-03-09 2020-07-07 摩拜(北京)信息技术有限公司 接口测试方法、装置及电子设备
CN112241370A (zh) * 2020-10-21 2021-01-19 网易(杭州)网络有限公司 一种api接口类的校验方法、***及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林萍;: "数据分层的接口自动化测试框架设计与应用", 信息技术, no. 05, pages 1 - 4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251384A (zh) * 2023-11-17 2023-12-19 南京掌控网络科技有限公司 一种接口自动化测试用例生成方法及***
CN117251384B (zh) * 2023-11-17 2024-01-30 南京掌控网络科技有限公司 一种接口自动化测试用例生成方法及***

Also Published As

Publication number Publication date
CN112783791B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN108279902B (zh) 基于Lua脚本技术的多终端共享底层框架生成、应用方法
CN109783388B (zh) Ui自动化测试方法、装置及电子设备
CN112835560A (zh) Web多终端低代码智能软件开发平台
CN106775744B (zh) 一种生成静态库的方法和装置
US20110258600A1 (en) Using a dsl for calling apis to test software
CN111090433A (zh) 一种数据处理的方法、装置和存储介质
CN108845940A (zh) 一种企业级信息***自动化功能测试方法和***
CN110532182B (zh) 一种虚拟化平台的自动化测试方法及装置
CN112363953B (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及***
CN107479866B (zh) 基于重构技术实现开放终端应用数据与功能的方法
CN114064213A (zh) 基于Kubernets容器环境的快速编排服务方法及***
CN109739704A (zh) 一种接口测试方法、服务端及计算机可读存储介质
CN116149747A (zh) 接口编排方法、装置、电子设备和计算机可读存储介质
CN114168421A (zh) 基于微服务调用链的客户化代码兼容性分析***及方法
CN115202668A (zh) 一种面向服务编排的基于ast生成工作流服务的方法
CN112783791B (zh) 接口测试案例的生成方法及装置
CN117370203B (zh) 自动化测试方法、***、电子设备及存储介质
CN114416547A (zh) 基于测试用例的测试方法
CN115525534A (zh) 基于swagger的接口测试的测试用例生成方法、生成平台
CN110750310B (zh) 基于ios***组件化开发的二进制和源码切换方法
US9996799B2 (en) Migrating a legacy system by inferring context-sensitive business rules from legacy source code
CN113467761B (zh) 一种基于Java反射原理的接口测试模板生成方法
CN114895880A (zh) 代码生成方法、装置及计算机可读介质
CN115390846A (zh) 编译构建方法、装置、电子设备和存储介质
CN114281341A (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