CN110134589A - 接口测试用例的生成方法、装置、计算机设备和存储介质 - Google Patents

接口测试用例的生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110134589A
CN110134589A CN201910308122.XA CN201910308122A CN110134589A CN 110134589 A CN110134589 A CN 110134589A CN 201910308122 A CN201910308122 A CN 201910308122A CN 110134589 A CN110134589 A CN 110134589A
Authority
CN
China
Prior art keywords
query argument
test case
interface
combination
test
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
CN201910308122.XA
Other languages
English (en)
Other versions
CN110134589B (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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart 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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201910308122.XA priority Critical patent/CN110134589B/zh
Publication of CN110134589A publication Critical patent/CN110134589A/zh
Application granted granted Critical
Publication of CN110134589B publication Critical patent/CN110134589B/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

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

接口测试用例的生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种接口测试用例的生成方法、装置、计算机设备和存储介质。
背景技术
接口测试属于灰盒测试,是功能测试的一种,接口测试要求测试工程师熟悉代码,编写相应的测试代码来进行测试,了解系统的设计及接口定义。对于接口测试来说,面对预定义的函数或者抽象出的接口,这些函数或者接口是提供给上层应用或者其它远程系统进行调用的。工程师通过对这些函数或者接口进行定义,描述其功能、参数列表以及各参数含义。
传统的接口测试工具通过工程师人工编写测试用例,接口的传入参数较多或者参数分支的类型较多,采用人工编写的方式编写测试用例,费时费力,测试工作效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高工作效率的接口测试用例的生成方法、装置、计算机设备和存储介质。
一种接口测试用例的生成方法,所述方法包括:
获取待测试接口的查询参数;
基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板用于描述所述查询参数与所述测试用例之间的对应关系。
在一个实施例中,所述调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合,包括:
对所述子分类中的查询参数进行排序,并获取排序后的编号集合;
根据组合公式对所述编号集合进行处理,得到每个所述子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为所述编号集合的最大值,m遍历所述编号集合的每个编号。
在一个实施例中,所述基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性,包括:
通过语义规则对所述查询参数配置规则约束描述标签,得到所述查询参数的第一属性;
通过本体技术对所述查询参数配置领域概念描述标签,得到所述查询参数的第二属性;
根据所述第一属性以及所述第二属性,得到所述查询参数的属性。
在一个实施例中,所述根据所述组合方式中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,包括:
获取参数变量与参数标识的对应关系;
根据组合中的查询参数以及所述参数变量与参数标识的对应关系,得到所述组合中的查询参数对应的目标参数标识;
根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到所述待测试接口的测试用例。
在一个实施例中,所述根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到所述待测试接口的测试用例,包括:
根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;
分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到所述待测试接口的测试用例。
在一个实施例中,所述根据所述组合方式中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例之后,还包括:
发送所述待测试接口的测试用例至测试请求终端;
接收所述待测试接口的反馈信息,所述反馈信息由所述测试请求终端根据所述测试用例对所述待测试接口进行测试得到。
一种接口测试用例的生成装置,所述装置包括:
参数获取模块,用于获取待测试接口的查询参数;
属性获取模块,用于基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
数据分类模块,用于根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
参数组合模块,用于调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
测试用例生成模块,用于根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板包括参数变量以及与所述参数变量对应的测试用例。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待测试接口的查询参数;
基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
调用组合算法对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板用于描述所述查询参数与所述测试用例之间的对应关系。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待测试接口的查询参数;
基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板用于描述所述查询参数与所述测试用例之间的对应关系。
上述接口测试用例的生成方法、装置、计算机设备和存储介质,通过获取待测试接口的查询参数,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类,调用组合算法对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,再根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系,这样可以实现根据不同组合中的查询参数得到对应的测试用例,进而得到待测试接口的测试用例,无需人工编写测试用例,可以有效提高生成接口测试用例的效率;此外,通过数据分类方式可以保证在数据量巨大时测试用例生成的响应速度。
附图说明
图1为一个实施例中接口测试用例的生成方法的应用环境图;
图2为一个实施例中接口测试用例的生成方法的流程示意图;
图3为一个实施例中查询参数的属性生成步骤的流程示意图;
图4为一个实施例中测试用例生成步骤的流程示意图;
图5为另一个实施例中接口测试用例的生成方法的流程示意图;
图6为一个实施例中接口测试用例的生成装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的接口测试用例的生成方法,可以应用于如图1所示的应用环境中。其中,测试请求终端102通过网络与服务器104进行通信。服务器104获取测试请求终端102发送的待测试接口的查询参数,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,再根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系。其中,测试请求终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种接口测试用例的生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取待测试接口的查询参数。
待测试接口是指应用程序编程接口,查询参数是指与影响接口测试结果的参数。以商品操作接口作为待测试接口为例,商品操作接口的查询参数可以包括多个,比如商品信息修改参数、商品增删参数等。其中,商品信息修改参数可以是修改商品ID(Identity,标识号)、商品名称、价格等。
步骤204,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性。
语义规则是指查询参数之间的规则约束,语义规则包括相互独立、区间约束、枚举约束等;本体技术是指通过领域概念知识对查询参数进行描述,可以将查询参数分成不同类别,比如可以通过本体技术将查询参数分成大类,大类再细分为小类。通过查询参数进行分析处理,不仅需要查询参数引用格式正确,也需要对查询参数语义的正确理解。基于语义的知识表达技术,可以丰富查询参数的表达含义,更加全面的描述接口。比如查询参数包括a1、a2、b1、b2和b3,通过本体技术描述查询参数,将查询参数分成a和b两大类,a大类包括a1和a2,b大类包括b1、b2和b3。基于语义规则对查询参数进行规则约束描述,比如查询参数a和b两大类相互独立,或者查询参数a1、a2共同影响接口某性能的测试等。
步骤206,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类。
当存在多个查询参数时,全覆盖式参数组合可能会出现组合数据量巨大,因此可以通过划分数据分类的方式来解决。根据查询参数的属性对查询参数进行数据分类处理,比如查询参数包括a1、a2、b1、b2和b3,通过本体技术描述查询参数,将查询参数分成a和b两大类,a大类包括a1和a2,b大类包括b1、b2和b3。基于语义规则对查询参数进行规则约束描述,比如查询参数a和b两大类相互独立。将查询参数a1和a2划分至分类A,将查询参数b1、b2和b3划分至分类B。
步骤208,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合。
在不同的分类内,分别将该分类内的查询参数按照组合算法进行组合,得到不同的组合方式。比如分类B包括查询参数b1、b2和b3,按照组合算法,得到分类B的组合方式包括{b1}、{b2}、{b3}、{b1,b2}、{b1,b3}、{b2,b3}、以及{b1,b2,b3}。
步骤210,根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系。
测试用例模板用于描述查询参数与测试用例之间的对应关系,比如参数X对应测试用例U1,参数Y对应测试用例U2,参数{X,Z}对应测试用例U3等等。根据组合中的查询参数在测试用例模板的参数中查找匹配,得到匹配的参数,再根据匹配的参数,得到对应的测试用例。
上述接口测试用例的生成方法,通过获取待测试接口的查询参数,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,再根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系,这样可以实现根据不同组合中的查询参数得到对应的测试用例,进而得到待测试接口的测试用例,无需人工编写测试用例,可以有效提高生成接口测试用例的效率;此外,通过数据分类方式可以保证在数据量巨大时测试用例生成的响应速度。
在一个实施例中,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,包括:对子分类中的查询参数进行排序,并获取排序后的编号集合;根据组合公式对编号集合进行处理,得到每个子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为编号集合的最大值,m遍历编号集合的每个编号。比如,待测试接口的查询参数有6个,按照组合算法,C6^1+C6^2+C6^3+C6^4+C6^5+C6^6=63,有63种组合方式。如果用人工穷举的方法编写测试用例,效率比较低下,且容易出错。可以分析查询参数,根据组合算法自动生成63条测试用例,以涵盖参数的组合方式,另外可以根据查询参数的属性,如果某两个查询参数的属性是绑定关系,则组合算法将其当成一个捆绑条件处理。最后根据组合算法产生的参数组合数据,生成并输出接口测试用例。
以查询参数的数量为6个为例,将6个查询参数分别编号1、2、3、4、5和6。从6个编号中选取1个编号,得到组合{1}、{2}、{3}、{4}、{5}和{6}。从6个编号中选取2个编号的实现逻辑:从6个编号中选取当前编号最大值6,再从剔除6的5个编号中选取1个编号,得到组合{6,5}、{6,4}、{6,3}、{6,2}和{6,1};从剔除6的5个编号中选取当前编号最大值5,再从剩下的4个编号中选取1个编号,得到组合{5,4}、{5,3}、{5,2}和{5,1};从剔除6和5的4个编号中选取当前编号最大值4,再从剩下的3个编号中选取1个编号,得到组合{4,3}、{4,2}和{4,1};从剔除6、5和4的3个编号中选取当前编号最大值3,再从剩下的2个编号中选取1个编号,得到组合{3,2}和{3,1};从剔除6、5、4和3的2个编号中选取当前编号最大值2,再从剩下的1个编号中选取1个编号,得到组合{2,1}。从6个编号中选取3个编号的实现逻辑:从6个编号中选取当前编号最大值6,再从剔除6的5个编号中选取2个编号,得到组合{6,5,4}、{6,5,3}、{6,5,2}、{6,5,1}、{6,4,3}、{6,4,2}、{6,4,1}、{6,3,2}、{6,3,1}和{6,2,1};从剔除6的5个编号中选取当前编号最大值5,再从剩下的4个编号中选取2个编号,得到组合{5,4,3}、{5,4,2}、{5,4,1}、{5,3,2}、{5,3,1}和{5,2,1};从剔除6和5的4个编号中选取当前编号最大值4,再从剩下的3个编号中选取2个编号,得到组合{4,3,2}、{4,3,1}和{4,2,1};从剔除6、5和4的3个编号中选取当前编号最大值3,再从剩下的2个编号中选取2个编号,得到组合{3,2,1}。从6个编号中选取4个编号的实现逻辑:从6个编号中选取当前编号最大值6,再从剔除6的5个编号中选取3个编号,得到组合{6,5,4,3}、{6,5,4,2}、{6,5,4,1}、{6,4,3,2}、{6,4,3,1}和{6,3,2,1};从剔除6的5个编号中选取当前编号最大值5,再从剩下的4个编号中选取3个编号,得到组合{5,4,3,2}、{5,4,3,1}和{5,3,2,1};从剔除6和5的4个编号中选取当前编号最大值4,再从剩下的3个编号中选取3个编号,得到组合{4,3,2,1}。从6个编号中选取5个编号的实现逻辑:从6个编号中选取当前编号最大值6,再从剔除6的5个编号中选取4个编号,得到组合{6,5,4,3,2}、{6,5,4,3,1}、{6,5,4,2,1}、{6,4,3,2,1}和{6,4,3,2,1};从剔除6的5个编号中选取当前编号最大值5,再从剩下的4个编号中选取4个编号,得到组合{5,4,3,2,1}。从6个编号中选取6个编号得到组合{6,5,4,3,2,1}。
在一个实施例中,如图3所示,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,包括:步骤302,通过语义规则对查询参数配置规则约束描述标签,得到查询参数的第一属性;步骤304,通过本体技术对查询参数配置领域概念描述标签,得到查询参数的第二属性;步骤306,根据第一属性以及第二属性,得到查询参数的属性。查询参数的属性包括第一属性和第二属性,采用大类、小类等本体元素描述查询参数的领域概念;使用语义规则对查询参数之间的规则约束进行描述,如相互独立、区间约束、枚举约束、约束优先级的定义等。
在一个实施例中,如图4所示,根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,包括:步骤402,获取参数变量与参数标识的对应关系;步骤404,根据组合中的查询参数以及参数变量与参数标识的对应关系,得到组合中的查询参数对应的目标参数标识;步骤406,根据目标参数标识在测试用例模板中定位对应的参数变量,得到待测试接口的测试用例。以商品操作接口作为待测试接口为例,比如商品信息修改参数包括修改商品ID、商品名称和价格,参数变量与参数标识的对应关系为:修改商品ID对应b1,修改商品名称对应b2,修改商品价格对应b3。组合中的查询参数为修改商品ID和修改商品名称,根据组合中的查询参数以及对应关系,得到目标参数标识为{b1,b2}。测试用例模板包括参数变量以及与参数变量对应的测试用例,参数变量修改商品ID对应测试用例U1,参数变量修改商品名称对应测试用例U2,参数变量{修改商品ID,修改商品名称}对应测试用例U3,等等。由此,根据目标参数标识在测试用例模板中定位对应的参数变量,从而得到待测试接口的测试用例。
在一个实施例中,根据目标参数标识在测试用例模板中定位对应的参数变量,得到待测试接口的测试用例,包括:根据目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到待测试接口的测试用例。当存在多个参数组合时,分别根据各个参数组合中的查询参数进行查找匹配,得到对应的多个测试用例,这些测试用例共同构成待测试接口的测试用例。
在一个实施例中,如图5所示,根据组合方式中的查询参数在测试用例模板中查找,得到待测试接口的测试用例之后,还包括:步骤506,发送待测试接口的测试用例至测试请求终端;步骤508,接收待测试接口的反馈信息,反馈信息由测试请求终端根据测试用例对待测试接口进行测试得到。在得到待测试接口的测试用例之后,服务器发送待测试接口的测试用例至测试请求终端,测试请求终端根据测试用例对待测试接口进行测试得到反馈信息并发送至服务器,比如接口某性能测试通过,某性能测试不通过。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种接口测试用例的生成装置,包括:参数获取模块602、属性获取模块604、数据分类模块606、参数组合模块608以及测试用例生成模块610。其中,参数获取模块,用于获取待测试接口的查询参数;属性获取模块,用于基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性;数据分类模块,用于根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类;参数组合模块,用于调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合;测试用例生成模块,用于根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系。
在一个实施例中,参数组合模块包括:参数编号单元,用于对子分类中的查询参数进行排序,并获取排序后的编号集合;组合单元,用于根据组合公式对编号集合进行处理,得到每个子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为编号集合的最大值,m遍历编号集合的每个编号。
在一个实施例中,属性获取模块包括:第一属性获取单元,用于通过语义规则对查询参数配置规则约束描述标签,得到查询参数的第一属性;第二属性获取单元,用于通过本体技术对查询参数配置领域概念描述标签,得到查询参数的第二属性;属性合并单元,用于根据第一属性以及第二属性,得到查询参数的属性。
在一个实施例中,测试用例生成模块包括:关系获取单元,用于获取参数变量与参数标识的对应关系;查找单元,用于根据组合中的查询参数以及参数变量与参数标识的对应关系,得到组合中的查询参数对应的目标参数标识;定位单元,用于根据目标参数标识在测试用例模板中定位对应的参数变量,得到待测试接口的测试用例。
在一个实施例中,定位单元包括:筛选单元,用于根据目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;生成单元,用于分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到待测试接口的测试用例。
在一个实施例中,测试用例生成模块之后还包括:测试用例发送模块,用于发送待测试接口的测试用例至测试请求终端;反馈接收模块,用于接收待测试接口的反馈信息,反馈信息由测试请求终端根据测试用例对待测试接口进行测试得到。
关于接口测试用例的生成装置的具体限定可以参见上文中对于接口测试用例的生成方法的限定,在此不再赘述。上述接口测试用例的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络待测试接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待测试接口的测试用例。该计算机设备的网络待测试接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口测试用例的生成方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待测试接口的查询参数,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对子分类中的查询参数进行排序,并获取排序后的编号集合;根据组合公式对编号集合进行处理,得到每个子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为编号集合的最大值,m遍历编号集合的每个编号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过语义规则对查询参数配置规则约束描述标签,得到查询参数的第一属性;通过本体技术对查询参数配置领域概念描述标签,得到查询参数的第二属性;根据第一属性以及第二属性,得到查询参数的属性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取参数变量与参数标识的对应关系;根据组合中的查询参数以及参数变量与参数标识的对应关系,得到组合中的查询参数对应的目标参数标识;根据目标参数标识在测试用例模板中定位对应的参数变量,得到待测试接口的测试用例。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到待测试接口的测试用例。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:发送待测试接口的测试用例至测试请求终端;接收待测试接口的反馈信息,反馈信息由测试请求终端根据测试用例对待测试接口进行测试得到。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待测试接口的查询参数,基于语义规则和本体技术对查询参数进行处理,得到查询参数的属性,根据查询参数的属性对查询参数进行数据分类处理,得到多个子分类,调用组合工具对每个子分类中的查询参数进行组合,得到每个子分类对应的组合,根据组合中的查询参数在测试用例模板中查找,得到待测试接口的测试用例,测试用例模板用于描述查询参数与测试用例之间的对应关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对子分类中的查询参数进行排序,并获取排序后的编号集合;根据组合公式对编号集合进行处理,得到每个子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为编号集合的最大值,m遍历编号集合的每个编号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过语义规则对查询参数配置规则约束描述标签,得到查询参数的第一属性;通过本体技术对查询参数配置领域概念描述标签,得到查询参数的第二属性;根据第一属性以及第二属性,得到查询参数的属性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取参数变量与参数标识的对应关系;根据组合中的查询参数以及参数变量与参数标识的对应关系,得到组合中的查询参数对应的目标参数标识;根据目标参数标识在测试用例模板中定位对应的参数变量,得到待测试接口的测试用例。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到待测试接口的测试用例。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:发送待测试接口的测试用例至测试请求终端;接收待测试接口的反馈信息,反馈信息由测试请求终端根据测试用例对待测试接口进行测试得到。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种接口测试用例的生成方法,所述方法包括:
获取待测试接口的查询参数;
基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板用于描述所述查询参数与所述测试用例之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述调用组合工具对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合,包括:
对每个所述子分类中的查询参数进行排序,并获取排序后的编号集合;
根据组合公式对所述编号集合进行处理,得到每个所述子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为所述编号集合的最大值,m遍历所述编号集合的每个编号。
3.根据权利要求1所述的方法,其特征在于,所述基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性,包括:
通过语义规则对所述查询参数配置规则约束描述标签,得到所述查询参数的第一属性;
通过本体技术对所述查询参数配置领域概念描述标签,得到所述查询参数的第二属性;
根据所述第一属性以及所述第二属性,得到所述查询参数的属性。
4.根据权利要求1所述的方法,其特征在于,所述根据所述组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,包括:
获取参数变量与参数标识的对应关系;
根据组合中的查询参数以及所述参数变量与参数标识的对应关系,得到所述组合中的查询参数对应的目标参数标识;
根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到所述待测试接口的测试用例。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到所述待测试接口的测试用例,包括:
根据所述目标参数标识在测试用例模板中定位对应的参数变量,得到提取的测试用例;
分别将各提取的测试用例中的参数变量采用对应的查询参数进行替换,得到所述待测试接口的测试用例。
6.根据权利要求1所述的方法,其特征在于,所述根据所述组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例之后,还包括:
发送所述待测试接口的测试用例至测试请求终端;
接收所述待测试接口的反馈信息,所述反馈信息由所述测试请求终端根据所述测试用例对所述待测试接口进行测试得到。
7.一种接口测试用例的生成装置,其特征在于,所述装置包括:
参数获取模块,用于获取待测试接口的查询参数;
属性获取模块,用于基于语义规则和本体技术对所述查询参数进行处理,得到所述查询参数的属性;
数据分类模块,用于根据所述查询参数的属性对所述查询参数进行数据分类处理,得到多个子分类;
参数组合模块,用于调用组合工具分别对每个所述子分类中的查询参数进行组合,得到每个所述子分类对应的组合;
测试用例生成模块,用于根据组合中的查询参数在测试用例模板中查找,得到所述待测试接口的测试用例,所述测试用例模板用于描述所述查询参数与所述测试用例之间的对应关系。
8.根据权利要求7所述的装置,其特征在于,所述参数组合模块包括:
参数编号单元,用于对所述子分类中的查询参数进行排序,并获取排序后的编号集合;
组合单元,用于根据组合公式对所述编号集合进行处理,得到每个所述子分类对应的组合,其中,是指从n个不同编号中取出m个编号的一个组合,n为所述编号集合的最大值,m遍历所述编号集合的每个编号。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201910308122.XA 2019-04-17 2019-04-17 接口测试用例的生成方法、装置、计算机设备和存储介质 Active CN110134589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910308122.XA CN110134589B (zh) 2019-04-17 2019-04-17 接口测试用例的生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910308122.XA CN110134589B (zh) 2019-04-17 2019-04-17 接口测试用例的生成方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110134589A true CN110134589A (zh) 2019-08-16
CN110134589B CN110134589B (zh) 2023-02-03

Family

ID=67570285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910308122.XA Active CN110134589B (zh) 2019-04-17 2019-04-17 接口测试用例的生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110134589B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647471A (zh) * 2019-09-26 2020-01-03 招商局金融科技有限公司 接口测试用例生成方法、电子装置及存储介质
CN113468065A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 测试用例的运行方法及装置
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065941A1 (en) * 2006-08-21 2008-03-13 Microsoft Corporation Meta-data driven test-data generation with controllable combinatorial coverage
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
US20150089296A1 (en) * 2013-09-23 2015-03-26 International Business Machines Corporation Derivation of generalized test cases
CN105930268A (zh) * 2016-04-19 2016-09-07 努比亚技术有限公司 一种基于树型的黑盒测试用例生成方法及其系统
CN107102941A (zh) * 2017-03-30 2017-08-29 腾讯科技(深圳)有限公司 一种测试用例的生成方法及装置
CN109388561A (zh) * 2018-09-18 2019-02-26 深圳壹账通智能科技有限公司 接口测试用例生成方法、装置、计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065941A1 (en) * 2006-08-21 2008-03-13 Microsoft Corporation Meta-data driven test-data generation with controllable combinatorial coverage
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
US20150089296A1 (en) * 2013-09-23 2015-03-26 International Business Machines Corporation Derivation of generalized test cases
CN105930268A (zh) * 2016-04-19 2016-09-07 努比亚技术有限公司 一种基于树型的黑盒测试用例生成方法及其系统
CN107102941A (zh) * 2017-03-30 2017-08-29 腾讯科技(深圳)有限公司 一种测试用例的生成方法及装置
CN109388561A (zh) * 2018-09-18 2019-02-26 深圳壹账通智能科技有限公司 接口测试用例生成方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王磊: "基于本体的软件测试用例及脚本自动生成技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647471A (zh) * 2019-09-26 2020-01-03 招商局金融科技有限公司 接口测试用例生成方法、电子装置及存储介质
CN110647471B (zh) * 2019-09-26 2023-05-23 招商局金融科技有限公司 接口测试用例生成方法、电子装置及存储介质
CN113468065A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 测试用例的运行方法及装置
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置

Also Published As

Publication number Publication date
CN110134589B (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
CN109947646A (zh) 接口测试方法、装置、计算机设备和存储介质
US11474817B2 (en) Provenance-based reuse of software code
CN110134589A (zh) 接口测试用例的生成方法、装置、计算机设备和存储介质
CN108874926A (zh) 海量数据查询方法、装置、计算机设备和存储介质
CN104423968B (zh) 设计业务逻辑的方法、执行其的服务器和储存媒介
CN110457431A (zh) 基于知识图谱的问答方法、装置、计算机设备和存储介质
CN110008266A (zh) 数据交换文件解析方法和装置
US20160328516A1 (en) Plugin Interface and Framework for Integrating a Remote Server with Sample Data Analysis Software
CN109359939A (zh) 业务数据校验方法、装置、计算机设备和存储介质
CN109446068A (zh) 接口测试方法、装置、计算机设备和存储介质
CN109614231A (zh) 空闲服务器资源发现方法、装置、计算机设备和存储介质
CN107729251A (zh) 测试用例管理方法及装置
Hahanov et al. Information analysis infrastructure for diagnosis
Bloem et al. An algorithm for strongly connected component analysis in n log n symbolic steps
CN109491857A (zh) 一种基于规则引擎的数据监控方法、系统及终端设备
CN109144799A (zh) 一体化测试方法、装置、计算机设备和存储介质
CN109726134A (zh) 接口测试方法和系统
WO2019179408A1 (zh) 机器学习模型的构建
CN110083533A (zh) 基于Mock服务的数据处理方法及装置
CN109446065A (zh) 用户标签测试方法、装置、计算机设备和存储介质
CN109308258A (zh) 测试数据的构造方法、装置、计算机设备和存储介质
WO2021012861A1 (zh) 数据查询耗时评估方法、装置、计算机设备和存储介质
Safonova On one approach to modeling enterprise-wide function-oriented computer networks
CN110490522A (zh) 基于流利式货架的货品拣选方法、系统和计算机设备
CN110399432A (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