CN113590464A - 一种接口测试模板脚本生成的方法与装置 - Google Patents

一种接口测试模板脚本生成的方法与装置 Download PDF

Info

Publication number
CN113590464A
CN113590464A CN202110706079.XA CN202110706079A CN113590464A CN 113590464 A CN113590464 A CN 113590464A CN 202110706079 A CN202110706079 A CN 202110706079A CN 113590464 A CN113590464 A CN 113590464A
Authority
CN
China
Prior art keywords
interface
script
test
parameters
data
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
CN202110706079.XA
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110706079.XA priority Critical patent/CN113590464A/zh
Publication of CN113590464A publication Critical patent/CN113590464A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • 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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • 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)

Abstract

本发明提供了一种接口测试模板脚本生成的方法与装置。其中方法包括,接口脚本生成方法,大致包含:为将要进行的接口测试任务定义接口测试实体;对接口测试报文体等数据实现处理方法;根据预设的脚本语法,将接口用例中的测试任务转为脚本语句;创建数据连接池,数据连接池与脚本语句实现参数一一对应,根据传入的接口测试数据获得接口模板测试脚本。本发明提供的接口测试模板脚本生成方法与装置,通过接口数据配置实现模板数据与脚本分离,快速生成大量接口测试脚本,实现接口高效、大批量测试,测试人员不需要了解底层如何实现,只需要简单的数据配置便可完成,降低了软件测试人员使用自动化接口测试工具的技术要求,提高测试效率。

Description

一种接口测试模板脚本生成的方法与装置
技术领域
本发明实施涉及计算机技术领域,更具体的说,涉及一种接口测试模板脚本生成与多接口自动化负载均衡测试的方法与装置。
背景技术
软件开发时,为了保证软件性能的稳定性,技术人员往往会在软件测试投入较大的时间精力成本。软件测试的目的在于以较少的人力时间成本,最快地找出软件中可能存在的缺陷与不稳定因素,最大化程度上保证软件功能的稳定性。接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。接口测试是站在用户的角度上对系统进行高效持续的检测。因此,接口自动化测试的重要性日益突出。
现有的接口测试工具大都较难以实现大批量接口测试,而对于接口测试工作来说,测试批量越多,测试结果越准确,另外,人工测试接口时还会存在很多重复性的工作流程,因此目前主流的测试方法还是使用自动化测试。利用现有的接口测试工具实现大批量接口测试和接口测试日志分析还存在一些困难。
因此,设计一种可以高效、大批量接口测试的方法具有较高的研究意义。
发明内容
本发明提供了一种接口测试模板脚本方法与装置,用于解决现有的产品与技术上的缺陷。
首先,本发明提供一种自动化接口测试的方法,包括:
将要进行的接口测试任务定义接口测试实体;
对接口测试报文体等数据实现处理方法;
根据预设的脚本语言,对接口数据进行处理,将用例步骤转换为脚本语言;
创建数据连接池,数据连接池形参与脚本语句参数一一对应,将脚本语句参数替换为对应的形参,生成接口测试模板脚本;
本发明提供了一种自动化接口测试的装置:
构建模块:为将要进行的接口测试任务定义接口测试实体;
处理模块:对接口测试报文体数据进行处理;
转换模块:根据预设的脚本语言语法,将测试用例文档步骤转换成脚本语句;
生成模块:创建数据连接池,将所述脚本参数替换为对应的实参,获得测试模板脚本。
本发明实施提供的自动化接口脚本生成方法及装置,通过以数据连接池的形参代替具体参数,实现测试模板脚本与数据的分离,从而能够在实际运用中通过配置不同的脚本参数,快速生成大量接口测试用例,提高了接口自动化测试效率。
附图说明
下面将对本发明中所设计的技术方案图进行简单的描述。
图1为本发明提供的一种接口自动化测试的方法流程图;
图2为本发明提供的一种接口自动化测试的装置结构示意图;
图3为本发明提供的一种接口自动化识别设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
软件行业的发展对软件性能提出了较高的要求,这要求软件在开发工作完成后要有高质量的软件测试工作,软件测试在软件开发周期中往往占据较高的时间和人力成本,因此自动化的软件测试工具可以大大提高软件测试的效率,降低行业成本。
接口测试借助于单元测试技术,通过模拟系统上层调用接口的应用场景,是对系统接口进行功能测试的方式。伴随着敏捷测试的流行,软件越早发现bug,修复的成本也就越低。功能测试一般都要等到系统提供可测试的UI才可以进行,因此软件测试最早接触的是接口测试。
本发明通过配置接口测试参数实现对接口的不同方式测试。因此,在运行接口测试脚本时,通过配制不同的参数,配置数据经过处理后可得到大量的测试脚本,显著提高了测试效率。
图1为本发明接口测试模板脚本的生成测试方法流程图,如图1 所示,包括:
S1、为将要进行的接口测试任务定义接口测试实体。
接口测试的原理是模拟客户端向服务器发送请求报文,服务器接受请求报文后对相应的报文做处理并向客户端返回应答,客户端再接受应答的一个过程。接口测试是黑盒测试,基本的测试思路是通过输入和输出判断被测系统或者对象的逻辑。接口测试时需要填写接口地址、请求方式、请求报文体等数据,另外,一个前端的自动化测试系统还包含测试人员、测试时间等基本信息。因此,本发明首先要获取接口测试相关数据,包括报文体格式如JSON_RAW_FORMAT、XML_RAW_FORMAT 等、接口请求方式如GET、POST等、接口地址、报文体数据等,获取数据后统一封装到系统自定义的InterfaceEntity实体。将接口测试在系统中唯一标识符定义为id、接口协议定义为protocol、接口请求方法定义为method、接口路径定义为urlPath、接口url中包括的请求参数和值定义为query、接口报问题格式定义为bodyFormat、接口报文体内容定义为bodyContent等,格式为:“InterfaceEntity{id=‘’,name=‘’,interface Code=‘’,protocol=‘’,urlPath=‘’,method=‘’,bodyFormat=‘’,bodyContent=‘’,query=‘’,bodyParseContent=‘’}”。对于不同的请求与报文体建立不同的请求方法:GET请求时定义sendHttpGet、PSOT请求时定义sendJsonHttp Post、XML报文体时定义sendXmlHttpPost。
S2、对报文体等数据进行处理。
接口请求时常用的请求数据格式为json和xml,本发明中对xml 报文进行深度优先遍历,实现可描述为:定义xml根节点为v,首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点均已被访问为止。完成深度优先遍历后返回xml中包含的ElementList,将xml报文体类型转为xmlString,这是一种Sting类型的有序List集合;对于JSON类型的报文体形式数据,使用正则表达式进行匹配,转为JsonString,这也是一种Sting类型的有序List集合。处理后的数据通过循环遍历生成接口功能点类型用例的数据中心表头,并将报文体参数存储到数据池中。
S3、根据预设的脚本语言语法,定义不同的接口自动化请求方式。
需要说明的是,在构建完接口测试实体以及定义相关报文体数据处理后,需要根据请求方式以及请求地址建立接口请求解析,本发明使用的接口请求方式为“GET”、“POST”,请求报文体格式为“JSON”、“XML”,因此可根据请求方式与请求报文体格式的不同定义不同的请求:
请求方式为GET时:
RequestUtils.sendHttpGet(″请求地址″,″″);
请求方式为POST时:
RequestUtils.sendJsonHttpPost(″请求地址″,″json报文体″);
请求报文体为XML时:
RequestUtils.sendXmlHttpPost(″请求地址″,″xml报文体″)
S4、用于创建数据连接池,数据连接池中的形参与脚本语句中脚本参数相对应,将脚本参数替换为对应的形参,获得测试模板脚本。
需要说明的是,可以在脚本语句的基础上通过用使用数据连接池的形参替代脚本参数,以生成接口测试模板脚本。形参全称为″形式参数″,它不是实际存在变量,又被称为虚拟变量。定义形参目的是用来接收调用该函数时传入的参数。将脚本语句中的脚本参数替换为相应的形参,获得接口测试的模板脚本;形参存储在数据连接池中,另外根据S2所述,数据连接池中还存在经过处理得到的报文体需要的参数。例如,当需要获取某个接口报文体需要参数时,调用JedisUtils.hgetAll(“参数”)从redis中取数据,利用dataPoolBizService .getDataPool(“参数”)遍历获取报文体所需要的参数。将接口测试数据存储到自定义InterfaceEntity实体中,获取数据中心表头,利用脚本请求,可生成一个接口类型的案例执行实例,用于接口自动化测试。
生成接口测试模板脚本后,可以测试模板脚本作为依据生成大量测试用例。对于测试人员,只需要在数据连接池中配置同的接口测试数据,与测试脚本组合即可生成大量测试用例。
本发明实施例提供的测试模板脚本的生成方法,为接口测试任务定义接口测试实体,通过以数据连接池的形参代替具体参数,实现测试模板脚本与数据的分离,在实际应用中,测试人员只需要在界面配置不同的接口测试参数,便可以快速生成大量测试用例,降低了软件测试人员使用自动化测试工具的技术要求,大大地提高软件测试的效率。
创建数据连接池之后还包含创建数据表格,数据表格中存储了接口解析所需要的实参,实参以数据表格的形式存储在数据库中,形参存储在数据表格中,表示对应实参在数据表格中的位置。
之后还包括:根据所述形参中记录的对应的实参在所述数据表格中的位置,将所述对应的实参替换所述形参,以获得测试脚本。
获得测试模板脚本后,可以使用测试模板进行测试,在实际应用中通过配置测试实参替换数据池中的形参便可大量生成测试用例,在实际的应用过程中,可以根据测试的不同需求,对生成的测试模板脚本进行进一步的解析,最终生成测试用例。例如,可以将测试脚本处理解析成groovy脚本。
在上述实施例的基础上,预设脚本语言的语法包括:预设脚本语言的脚本参数类型和语句规则。脚本参数类型包括表达式或参数。其所述表达式可以为常量值、变量值、方法、对象、基础数据类型、算术运算符、布尔运算符、多元运算符、数组以及字典类型中的一种或多种;其中,所述表达式可以组合或嵌套。
本发明实施例通过定义了一种生成接口测试脚本的方法,通过配置不同的数据,达到快速生成大量测试用例的目的,从而能够很大程度地减少软件测试人员的重复工作,降低软件测试人员使用自动化测试工具的技术要求,大大地提高软件测试的效率,具有广阔的应用空间。
图2为本发明接口测试执行时所涉及的获取装置与运行装置,如图2所示,包括:获取装置201和运行装置202;其中,获取装置可以获取接口测试时配置的场景用例等数据;运行装置可以执行接口测试任务。
本发明提供的一种接口自动化测试的方法和装置是用于执行本发明上述各方法实施例,具体的流程和详细介绍请参照上述各方法实施例。
本发明实施例通过一种接口自动化测试的方法和装置,自动测试工作人员配制好的接口测试用例,可以实现大批量接口测试,提高了测试效率,另外,测试脚本的配置也较为简单,从而降低了自动化测试工具对于测试人员的操作技能要求。
图3为本发明实施自动化接口测试服务器的结构示意图,如图3 所示,该设备可以包括:
处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过总线340完成相互间的通信。通信接口320可以用于自动化测试设备和自动化测试系统之间的信息传输。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:
为将要进行的接口测试任务定义接口测试实体;
对接口测试报文体等数据实现处理方法;
根据预设的脚本语言,对接口数据进行处理,将用例步骤转换为脚本语言;
创建数据连接池,数据连接池形参与脚本语句参数一一对应,将脚本语句参数替换为对应的形参,生成接口测试模板脚本。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的方法,例如包括:为将要进行的接口测试任务定义接口测试实体;对接口测试报文体等数据实现处理方法;根据预设的脚本语言,对接口数据进行处理,将用例步骤转换为脚本语言;创建数据连接池,数据连接池形参与脚本语句参数一一对应,将脚本语句参数替换为对应的形参,生成接口测试模板脚本。
本发明提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行所提供的接口自动化测试方法,例如包括:配置接口测试相关的参数,接口测试时填写的参数必须是符合规范且可操作的,填写接口测试所需的接口路径、报文体;选择接口通信类型与接口请求方法。新建测试系统,用自然语言编写测试系统信息。新建用例,测试用例用于描述测试相关的配置与返回数据。添加场景,可以在不同的场景下实现多台执行机接口并行测试;测试完成后可查询每一条测试用例的执行结果。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。

Claims (10)

1.一种接口测试模板脚本生成与多接口自动化负载均衡测试的方法,其特征在于,包括:
为将要进行的接口测试任务定义接口测试实体;
对接口测试报文体等数据实现处理方法;
根据预设的脚本语言,对接口数据进行处理,将用例步骤转换为脚本语言;
创建数据连接池,数据连接池形参与脚本语句参数一一对应,将脚本语句参数替换为对应的形参,生成接口测试模板脚本。
2.根据权利要求1所述的方法,其特征在于,在完成所述数据连接池创建后,之后还包括:创建数据表格来存储形参对应的形参,所述形参记录对应的实参在数据表格的位置。
3.根据权利要求2所述的方法,其特征在于,在获得接口测试模板脚本,之后还包括:
根据形参的位置,使用实参替换对应位置的形参,以获得接口测试脚本。
4.根据权利要求1所述的方法,其特征在于,预设接口测试脚本语言的语法包括:预设脚本语言的脚本参数以及其语句规则。
5.根据权利要求4所述的方法,其特征在于,所述接口测试脚本参数类型包括:表达式或随机参数。
6.根据权利要求4所述的方法,其特征在于,预设语句规则包括:预设语句类型、所述语句类型包括对象操作类型、直接函数调用类型和工具类静态函数调用类型。
7.根据权利要求6所述的方法,其特征在于,所述表达式可以为常量值、变量值、方法、对象、基础数据类型、算术运算符、布尔运算符、多元运算符、数组以及字典类型中的一种或多种;其中,所述表达式可以组合或嵌套。
8.一种接口测试模板脚本生成与多接口自动化负载均衡测试的装置,其特征在于,包括:
构建模块:为将要进行的接口测试任务定义接口测试实体;
处理模块:对接口测试报文体数据进行处理;
转换模块:根据预设的脚本语言语法,将测试用例文档步骤转换成脚本语句;
生成模块:创建数据连接池,将所述脚本参数替换为对应的实参,获得测试模板脚本。
9.一种接口自动化测试执行设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述接口自动化测试方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述接口自动化测试方法的步骤。
CN202110706079.XA 2021-06-24 2021-06-24 一种接口测试模板脚本生成的方法与装置 Pending CN113590464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110706079.XA CN113590464A (zh) 2021-06-24 2021-06-24 一种接口测试模板脚本生成的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110706079.XA CN113590464A (zh) 2021-06-24 2021-06-24 一种接口测试模板脚本生成的方法与装置

Publications (1)

Publication Number Publication Date
CN113590464A true CN113590464A (zh) 2021-11-02

Family

ID=78244582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110706079.XA Pending CN113590464A (zh) 2021-06-24 2021-06-24 一种接口测试模板脚本生成的方法与装置

Country Status (1)

Country Link
CN (1) CN113590464A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118377724A (zh) * 2024-06-21 2024-07-23 中电云计算技术有限公司 一种负载均衡软件的自动化测试方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180011780A1 (en) * 2016-07-08 2018-01-11 Accenture Global Solutions Limited Web application test script generation to test software functionality
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
CN110221975A (zh) * 2019-05-28 2019-09-10 厦门美柚信息科技有限公司 创建接口用例自动化测试脚本的方法及装置
CN111694749A (zh) * 2020-06-24 2020-09-22 深圳壹账通智能科技有限公司 接口自动测试方法、装置、计算机设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180011780A1 (en) * 2016-07-08 2018-01-11 Accenture Global Solutions Limited Web application test script generation to test software functionality
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN109558290A (zh) * 2018-11-12 2019-04-02 平安科技(深圳)有限公司 服务器、接口自动化测试方法及存储介质
CN110221975A (zh) * 2019-05-28 2019-09-10 厦门美柚信息科技有限公司 创建接口用例自动化测试脚本的方法及装置
CN111694749A (zh) * 2020-06-24 2020-09-22 深圳壹账通智能科技有限公司 接口自动测试方法、装置、计算机设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118377724A (zh) * 2024-06-21 2024-07-23 中电云计算技术有限公司 一种负载均衡软件的自动化测试方法及相关装置

Similar Documents

Publication Publication Date Title
CN109582588B (zh) 测试用例生成方法、装置及电子设备
CN111722839B (zh) 一种代码生成方法、装置、电子设备及存储介质
CN111596902B (zh) 一种前后端开发框架的搭建方法、装置、设备及存储介质
CN112035363A (zh) 接口自动化测试方法及装置
CN111752846B (zh) 一种接口测试方法及装置
CN111026634A (zh) 一种接口自动化测试系统、方法、装置及存储介质
CN112306861A (zh) 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法
CN111026670B (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
CN110674083A (zh) 工作流迁移方法、装置、设备及计算机可读存储介质
CN113238740A (zh) 代码生成方法、代码生成装置、存储介质及电子设备
US20190138921A1 (en) Interactive guidance system for selecting thermodynamics methods in process simulations
CN117215910A (zh) 接口测试框架生成方法、测试方法、电子设备及存储介质
CN116069577A (zh) 一种rpc服务的接口测试方法、设备及介质
CN113590464A (zh) 一种接口测试模板脚本生成的方法与装置
CN113778895A (zh) 接口自动化测试方法及装置
CN117348866A (zh) 测试案例编排系统及方法
CN117892665A (zh) 基于电路系统级模型的建模仿真方法、装置、介质及设备
CN111240681A (zh) 一种不同编程语言的转换方法及装置
CN114003484B (zh) 接口测试的日志输出方法、装置、设备及存储介质
CN112671565B (zh) 一种基于信令链路的5g核心网拓扑发现方法及装置
CN109299005A (zh) 测试脚本的生成方法及装置
JP6988997B2 (ja) 情報処理装置、並びに、テスト管理方法及びプログラム
CN113961443A (zh) 测试数据的引入方法、装置、设备及存储介质
CN117421234B (zh) 一种多平台多并发自动化穿行测试系统
CN113343659B (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