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

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

Info

Publication number
CN109388561A
CN109388561A CN201811088451.XA CN201811088451A CN109388561A CN 109388561 A CN109388561 A CN 109388561A CN 201811088451 A CN201811088451 A CN 201811088451A CN 109388561 A CN109388561 A CN 109388561A
Authority
CN
China
Prior art keywords
parameter
test
case
field
invalid
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
CN201811088451.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.)
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 CN201811088451.XA priority Critical patent/CN109388561A/zh
Publication of CN109388561A publication Critical patent/CN109388561A/zh
Pending legal-status Critical Current

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
    • 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)

Abstract

本申请涉及测试技术领域,提供一种接口测试用例生成方法、装置、计算机设备和存储介质。所述方法包括:获取测试接口的入参数据,将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性,根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,根据有效参数与无效参数,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。

Description

接口测试用例生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及测试技术领域,特别是涉及一种接口测试用例生成方法、装置、计算机设备和存储介质。
背景技术
对于互联网行业,接口测试具有非常重要的意义,因为很多终端设备,如手机,个人计算机等均是通过后台服务来和终端用户进行交互。而后台服务和终端设备的交互就是通过接口的方式来实现。因此,确保接口的可用性、稳定性及健壮性都非常的重要。但由于互联网公司尤其是互联网金融公司,上线产品节奏快,版本更新迭代频繁,对于如何确保上线的质量,尤其是接口的质量带来更高的要求,所以需要严格的接口测试来确保我们服务的质量没有问题。接口测试又分为人工测试和通过脚本驱动来实现的无需人工介入的自动化测试两种。
传统的自动化测试的测试用例脚本都是写入固定的入参脚本,由于互联网行业产品上线节奏快,版本更新迭代频繁,从而导致接口测试任务繁重,为确保测试质量,需要测试人员编写大量的测试用例脚本,工作量大且效率不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试用例生成效率的接口测试用例生成方法、装置、计算机设备和存储介质。
一种接口测试用例生成方法,所述方法包括:
获取测试接口的入参数据;
将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
根据有效参数与无效参数,组合生成测试用例。
在其中一个实施例中,测试用例包括正向测试用例与反向测试用例;所述根据所述有效参数与所述无效参数,组合生成测试用例,包括:
将有效参数组成有效参数集,将无效参数组成无效参数集;
提取有效参数集中的多个有效参数,组合生成正向测试用例;
提取有效参数集中的有效参数与无效参数集中的无效参数,组合生成反向测试用例。
在其中一个实施例中,所述根据所述有效参数与所述无效参数,组合生成测试用例,包括:
根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数;
对第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例;
将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例;
通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
在其中一个实施例中,所述根据预设的测试用例层级结构,分别从所述有效参数集与所述无效参数集中提取出第一层级对应的有效参数与无效参数之前,还包括:
根据参数字段的字段类型,确定参数字段的边界条件;
根据边界条件,确定测试用例的层级结构。
在其中一个实施例中,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
根据预设的边界条件以及测试用例的组成参数字段,确定期望结果;
执行测试用例进行接口测试,获取测试结果;
比较测试结果与期望结果,确定测试用例是否满足需求;
统计比较结果为测试用例不满足需求的测试用例,并确定测试用例组合数据中同一参数字段的频率;
当频率高于预设频率要求时,确定参数字段为待调整参数字段。
在其中一个实施例中,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
当测试接口的测试用例中需要增加目标参数字段时,定义目标参数字段的字段特性与对应层级;
根据目标参数字段的字段特性与对应层级,确定目标参数字段对应的插入节点位置;
根据插入节点位置,更新测试接口的入参数据。
在其中一个实施例中,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
分析目标测试接口的入参需求,确定目标测试接口的测试用例组成需求;
根据组成需求,调用测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
一种接口测试用例生成装置,所述装置包括:
入参数据获取模块,用于获取测试接口的入参数据;
参数字段特性获取模块,用于将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
参数划分模块,用于根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
测试用例生成模块,用于根据有效参数与无效参数,组合生成测试用例。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取测试接口的入参数据;
将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
根据有效参数与无效参数,组合生成测试用例。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取测试接口的入参数据;
将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
根据有效参数与无效参数,组合生成测试用例。
上述接口测试用例生成方法、装置、计算机设备和存储介质,通过将测试接口的入参数据拆分,形成多个参数字段,并根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,通过将有效参数与无效参数进行组合的方式,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。
附图说明
图1为一个实施例中接口测试用例生成方法的应用场景图;
图2为一个实施例中接口测试用例生成方法的流程示意图;
图3为另一个实施例中接口测试用例生成方法的流程示意图;
图4为另一个实施例中接口测试用例生成方法的流程示意图;
图5为另一个实施例中接口测试用例生成方法的流程示意图;
图6为另一个实施例中接口测试用例生成方法的流程示意图;
图7为另一个实施例中接口测试用例生成方法的流程示意图;
图8为一个实施例中接口测试用例生成装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的接口测试用例生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104从终端102获取到测试接口的入参数据,服务器104将入参数据拆分为多个参数字段,获取到每个参数字段的字段特性,并以字段特性中的有效特性或无效特性为依据,将参数字段划分为有效参数与无效参数,最后将有效参数与无效参数,组合生成测试用例。执行测试用例,将执行结果发送至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种接口测试用例生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S200:获取测试接口的入参数据。
测试接口是指系统组件间需要进行测试的接口,对测试接口的测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,主要通过测试用例来验证数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等是否满足需求,接口数据包括请求地址与请求方式、请求入参以及输出结果,对于同一个测试接口来讲,不同的测试用例,请求地址和请求方式都是一样的,但不同的请求入参会导致不同的输出结果,故在接口测试过程中,重点关注的是入参的变化以及相关的结果。入参数据由多个字段组合构造而成,在实施例中,可以通过确定测试接口对应的需求,进一步根据测试需求获取入参数据。
S300:将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性。
依据入参数据的组成,将入参数据拆分为多个参数字段,参数字段是构成入参数据的数据单元,每个参数字段都有相关字段特性,比如数据类型,是否是必填字段,字段长度是多少,是有效值还是无效值等。字段特性是表征每个参数字段特点的属性标识,通过解析参数字段的参数代码,可以确定每个参数字段的字段特性。
S400:根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数。
参数字段的字段特性包含有效特性和无效特性,有效特性与无效特性通过将数据与测试接口需求进行比较判断来确定,符合测试接口需求的数据对应字段特性为有效特性,不符合测试接口需求的数据对应字段特性为无效特性,有效特性和无效特性用来表征参数字段中的数据为有效值还是无效值,在实施例中,测试接口需求数据为用户性别,则可以明确需求数据的有效值只有男、女两种情况,如果该数据为“男”,则该字段特性对应为有效特性,该数据为有效值,该数据所在的参数字段为有效参数。在其他实施例中,还可以结合数据类型、字段长度等进行有效特性和无效特性的判断。字段特性对应为有效特性的参数字段为有效参数,字段特性对应为无效特性的参数字段为无效参数。在实施例中,可以通过建立有效参数集与无效参数集来归类有效参数与无效参数。
S500:根据有效参数与无效参数,组合生成测试用例。
有效参数与无效参数是生成测试用例的基本元素,通过排列组合的方式,可以生成大量的测试用例,在实施例中,测试用例包括正向测试用例与反向测试用例,用于证明该需求已经满足的测试用例,为正向测试用例,用于反映某个无法接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求的测试用例,为反向测试用例。测试用例可以反映不同的场景、条件或经由产品的事件流,测试用例数量越多,测试覆盖率越高,测试效果就越好,测试用例可以根据测试接口的测试需求进行确定和调整,为每个测试接口编制至少一个正向测试用例,一个反向测试用例,可以得到较好的测试结果。
上述接口测试用例生成方法,通过将测试接口的入参数据拆分,形成多个参数字段,并根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,通过将有效参数与无效参数进行组合的方式,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。
在一个实施例中,测试用例包括正向测试用例与反向测试用例。如图3所示,根据有效参数与无效参数,组合生成测试用例,包括:
S510:将有效参数组成有效参数集,将无效参数组成无效参数集。
S520:提取有效参数集中的多个有效参数,组合生成正向测试用例。
S530:提取有效参数集中的有效参数与无效参数集中的无效参数,组合生成反向测试用例。
由于正向测试用例的组成参数均为有效参数,反向测试用例中存在无效参数,通过组建有效参数集与无效参数集,便捷选择正向测试用例与反向测试用例的组成参数,提高测试用例的生成速度,避免正向测试用例中混入无效参数,减小组合误差。
在一个实施例中,如图4所示,根据有效参数与无效参数,组合生成测试用例,包括:
S560:根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数。
S570:对第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例。
S580:将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例。
S590:通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
测试用例的层级结构是指组成参数的层级顺序,层级顺序可以依据设定的边界条件来确定,进一步地,每一个层级结构的参数字段类型包括String类型、Int型或者Double型等数值类型、Date Time类型。每一类型的参数有对应的参数特性,具体来说,String类型的参数特性包括参数是否是空,参数是否可以不传,参数是否可以是随机数以及是否是特殊字符等,数值类型的参数特性包括是否是空,参数是否可以不传,整数部分的长度、小数部分的长度、以及数值为负数等。Date Time类型的参数特性包括参数是否是空,参数是否可以不传,以及日期格式等。由于测试用例的参数设置有层级结构,每一层级对应同一类型的参数,通过逐层确定参数,并采用排列组合的方式,可以得到更多的组合结果,采用递归循环的方式,依次叠加各层级参数,使测试用例的参数组成满足预设的数据层级要求,确定最终的测试用例。
在一个实施例中,如图4所示,根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数之前,还包括:
S550:根据参数字段的字段类型,确定参数字段的边界条件。
S560:根据边界条件,确定测试用例的层级结构。
字段的边界条件,可以按照字段类型进行设定,在实施例中,对于String来讲,除有效值之外还会校验:是否是空,是否可以不传,是否可以是随机数,传超长字符串等,其中随机数包括随机英文、随机数字、特殊字符等;对于Int型或者Double型等数值型,除有效值之外还会校验:是否为空,是否可以不传,超长整数部分,超长小数部分,负数等;对于日期型,除有效值之外还会校验:是否为空,是否可以不传,不同的日期格式,非日期格式等。层级结构是指测试用例的数据层级深度,在设定边界条件后,根据具体的设定内容,确定测试用例的层级结构。
在一个实施例中,如图5所示,根据有效参数与无效参数,组合生成测试用例之后,还包括:
S610:根据预设的边界条件以及测试用例的组成参数字段,确定期望结果。
S620:执行测试用例进行接口测试,获取测试结果。
S630:比较测试结果与期望结果,确定测试用例是否满足需求。
S640:统计比较结果为测试用例不满足需求的测试用例,并确定测试用例组合数据中同一参数字段的频率。
S650:当频率高于预设频率要求时,确定参数字段为待调整参数字段。
由于边界条件和测试用例均已确定,那么测试用例的测试结果也可以确定,得到测试用例的期望结果,为确定测试用例是否都准确可行,执行生成的测试用例,进行接口测试,并获得测试结果,测试结果与期望结果可通过设定结果代码的形式输出,通过比较测试结果与期望结果,具体可以是比较测试结果代码与期望结果代码,可以确定测试用例是否满足需求。在实施例中,若拆分的参数字段出现问题,由于测试用例是通过排列组合与递归循环处理后得到的,同一错误参数会出现在多个测试用例中,收集测试结果与期望结果不匹配的测试用例,并分析确定测试用例组合数据中同一参数字段的频率,如果该参数字段的频率高于设定的阈值,则说明该参数字段存在错误,需要进行字段特性的调整,将统计结果发送至测试人员,以便及时修复。
在一个实施例中,如图6所示,根据有效参数与无效参数,组合生成测试用例之后,还包括:
S710:当测试接口的测试用例中需要增加目标参数字段时,定义目标参数字段的字段特性与对应层级。
S720:根据目标参数字段的字段特性与对应层级,确定目标参数字段对应的插入节点位置。
S730:根据插入节点位置,更新测试接口的入参数据。
由于有时候在生产上线前的短时间内修改了接口,比如对入参字段的增删改,那么涉及到这个字段的所有自动化测试脚本都需要重新写,传统的解决办法是通过人工测试来覆盖,容易带来线上生产事故的隐患。以增加一个目标参数字段为例,在JAVA包中的xml文件中增加一个该目标参数字段的节点,其中,插入节点位置可以根据该字段的字段特性与对应层级来确定。
在一个实施例中,如图7所示,根据有效参数与无效参数,组合生成测试用例之后,还包括:
S810:分析目标测试接口的入参需求,确定目标测试接口的测试用例组成需求。
S820:根据组成需求,调用测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
根据每个接口的入参需求,可以通过调用不同接口的入参字段中的有效参数集与无效参数集,实现不同接口之间的参数组合调用,避免了重新编写入参数据的脚本,节省了测试人员的开发所需时间。
与传统的接口测试用例编写方法相比较,采用本申请提供的接口测试用例生成方法,边界测试覆盖率由原来的40%提升到目前的83%,上线前如果核心接口测试有变化,由原来需要至少4个小时的回归,现在降低到10分钟内即可完成回归测试,大幅提高了测试效率。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种接口测试用例生成装置,包括:
入参数据获取模块200,用于获取测试接口的入参数据;
参数字段特性获取模块300,用于将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
参数划分模块400,用于根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
测试用例生成模块500,用于根据有效参数与无效参数,组合生成测试用例。
在一个实施例中,测试用例包括正向测试用例与反向测试用例;测试用例生成模块500,包括:
参数集组成单元,用于将有效参数组成有效参数集,将无效参数组成无效参数集;
正向测试用例生成单元,用于提取有效参数集中的多个有效参数,组合生成正向测试用例;
反向测试用例生成单元,用于提取有效参数集中的有效参数与无效参数集中的无效参数,组合生成反向测试用例。
在一个实施例中,测试用例生成模块500,包括:
第一层级参数提取单元,用于根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数;
第一测试用例生成单元,用于对第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例;
第二测试用例生成单元,用于将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例;
测试用例输出单元,用于通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
在一个实施例中,测试用例生成模块500,还包括:
边界条件确定单元,用于根据参数字段的字段类型,确定参数字段的边界条件;
层级结构确定单元,用于根据边界条件,确定测试用例的层级结构。
在一个实施例中,接口测试用例生成装置还包括测试用例执行模块,用于根据预设的边界条件以及测试用例的组成参数字段,确定期望结果,执行测试用例进行接口测试,获取测试结果,比较测试结果与期望结果,确定测试用例是否满足需求,统计比较结果为测试用例不满足需求的测试用例,并确定测试用例组合数据中同一参数字段的频率,当频率高于预设频率要求时,确定参数字段为待调整参数字段。
在一个实施例中,接口测试用例生成装置还包括目标参数字段插入模块,用于当测试接口的测试用例中需要增加目标参数字段时,定义目标参数字段的字段特性与对应层级,根据目标参数字段的字段特性与对应层级,确定目标参数字段对应的插入节点位置,根据插入节点位置,更新测试接口的入参数据。
在一个实施例中,接口测试用例生成装置还包括参数字段调用模块,用于分析目标测试接口的入参需求,确定目标测试接口的测试用例组成需求,根据组成需求,调用测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
上述接口测试用例生成装置,通过将测试接口的入参数据拆分,形成多个参数字段,并根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,通过将有效参数与无效参数进行组合的方式,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。
关于接口测试用例生成装置的具体限定可以参见上文中对于接口测试用例生成方法的限定,在此不再赘述。上述接口测试用例生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口测试用例生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
一种接口测试用例生成方法,所述方法包括:
获取测试接口的入参数据;
将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
根据有效参数与无效参数,组合生成测试用例。
在一个实施例中,测试用例包括正向测试用例与反向测试用例,处理器执行计算机程序时还实现以下步骤:
将有效参数组成有效参数集,将无效参数组成无效参数集;
提取有效参数集中的多个有效参数,组合生成正向测试用例;
提取有效参数集中的有效参数与无效参数集中的无效参数,组合生成反向测试用例。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数;
对第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例;
将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例;
通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据参数字段的字段类型,确定参数字段的边界条件;
根据边界条件,确定测试用例的层级结构。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设的边界条件以及测试用例的组成参数字段,确定期望结果;
执行测试用例进行接口测试,获取测试结果;
比较测试结果与期望结果,确定测试用例是否满足需求;
统计比较结果为测试用例不满足需求的测试用例,并确定测试用例组合数据中同一参数字段的频率;
当频率高于预设频率要求时,确定参数字段为待调整参数字段。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当测试接口的测试用例中需要增加目标参数字段时,定义目标参数字段的字段特性与对应层级;
根据目标参数字段的字段特性与对应层级,确定目标参数字段对应的插入节点位置;
根据插入节点位置,更新测试接口的入参数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
分析目标测试接口的入参需求,确定目标测试接口的测试用例组成需求;
根据组成需求,调用测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
上述用于实现接口测试用例生成方法的计算机设备,通过将测试接口的入参数据拆分,形成多个参数字段,并根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,通过将有效参数与无效参数进行组合的方式,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取测试接口的入参数据;
将入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数;
根据有效参数与无效参数,组合生成测试用例。
在一个实施例中,测试用例包括正向测试用例与反向测试用例,计算机程序被处理器执行时还实现以下步骤:
将有效参数组成有效参数集,将无效参数组成无效参数集;
提取有效参数集中的多个有效参数,组合生成正向测试用例;
提取有效参数集中的有效参数与无效参数集中的无效参数,组合生成反向测试用例。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据预设的测试用例层级结构,分别从有效参数集与无效参数集中提取出第一层级对应的有效参数与无效参数;
对第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例;
将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例;
通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据参数字段的字段类型,确定参数字段的边界条件;
根据边界条件,确定测试用例的层级结构。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据预设的边界条件以及测试用例的组成参数字段,确定期望结果;
执行测试用例进行接口测试,获取测试结果;
比较测试结果与期望结果,确定测试用例是否满足需求;
统计比较结果为测试用例不满足需求的测试用例,并确定测试用例组合数据中同一参数字段的频率;
当频率高于预设频率要求时,确定参数字段为待调整参数字段。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当测试接口的测试用例中需要增加目标参数字段时,定义目标参数字段的字段特性与对应层级;
根据目标参数字段的字段特性与对应层级,确定目标参数字段对应的插入节点位置;
根据插入节点位置,更新测试接口的入参数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
分析目标测试接口的入参需求,确定目标测试接口的测试用例组成需求;
根据组成需求,调用测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
上述用于实现接口测试用例生成方法的存储介质,通过将测试接口的入参数据拆分,形成多个参数字段,并根据字段特性中的有效特性或无效特性,将参数字段划分为有效参数与无效参数,通过将有效参数与无效参数进行组合的方式,组合生成测试用例,通过自动拆分并自动组合的生成测试用例的方式,增加了测试用例的数量,提高了测试覆盖率,确保了测试的质量,且避免测试人员手动写入测试用例,通过自动组合生成方式,提高了工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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所述的接口测试用例生成方法,其特征在于,所述测试用例包括正向测试用例与反向测试用例;所述根据所述有效参数与所述无效参数,组合生成测试用例,包括:
将所述有效参数组成有效参数集,将所述无效参数组成无效参数集;
提取所述有效参数集中的多个所述有效参数,组合生成正向测试用例;
提取所述有效参数集中的有效参数与所述无效参数集中的无效参数,组合生成反向测试用例。
3.根据权利要求2所述的接口测试用例生成方法,其特征在于,所述根据所述有效参数与所述无效参数,组合生成测试用例,包括:
根据预设的测试用例层级结构,分别从所述有效参数集与所述无效参数集中提取出第一层级对应的有效参数与无效参数;
对所述第一层级对应的有效参数与无效参数进行排列组合,生成第一正向测试用例与第一反向测试用例;
将第一正向测试用例与第一反向测试用例,与提取出的第二层级的有效参数与无效参数进行组合,生成第二正向测试用例与第二反向测试用例;
通过递归循环,依次叠加各层级的参数,当叠加后的正向测试用例与反向测试用例的数据层级到达预设要求时,确定对应的测试用例。
4.根据权利要求3所述的接口测试用例生成方法,其特征在于,所述根据预设的测试用例层级结构,分别从所述有效参数集与所述无效参数集中提取出第一层级对应的有效参数与无效参数之前,还包括:
根据参数字段的字段类型,确定参数字段的边界条件;
根据所述边界条件,确定测试用例的层级结构。
5.根据权利要求1所述的接口测试用例生成方法,其特征在于,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
根据预设的边界条件以及所述测试用例的组成参数字段,确定期望结果;
执行所述测试用例进行接口测试,获取测试结果;
比较所述测试结果与所述期望结果,确定所述测试用例是否满足需求;
统计比较结果为测试用例不满足需求的测试用例,并确定所述测试用例组合数据中同一参数字段的频率;
当所述频率高于预设频率要求时,确定所述参数字段为待调整参数字段。
6.根据权利要求1所述的接口测试用例生成方法,其特征在于,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
当测试接口的测试用例中需要增加目标参数字段时,定义所述目标参数字段的字段特性与对应层级;
根据所述目标参数字段的字段特性与对应层级,确定所述目标参数字段对应的插入节点位置;
根据所述插入节点位置,更新所述测试接口的入参数据。
7.根据权利要求1所述的接口测试用例生成方法,其特征在于,所述根据所述有效参数与所述无效参数,组合生成测试用例之后,还包括:
分析目标测试接口的入参需求,确定所述目标测试接口的测试用例组成需求;
根据所述组成需求,调用所述测试接口的有效参数集与无效参数集中的参数字段,组合生成目标测试接口的测试用例。
8.一种接口测试用例生成装置,其特征在于,所述装置包括:
入参数据获取模块,用于获取测试接口的入参数据;
参数字段特性获取模块,用于将所述入参数据拆分为多个参数字段,并获取每个参数字段的字段特性;
参数划分模块,用于根据所述字段特性中的有效特性或无效特性,将所述参数字段划分为有效参数与无效参数;
测试用例生成模块,用于根据所述有效参数与所述无效参数,组合生成测试用例。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201811088451.XA 2018-09-18 2018-09-18 接口测试用例生成方法、装置、计算机设备和存储介质 Pending CN109388561A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811088451.XA CN109388561A (zh) 2018-09-18 2018-09-18 接口测试用例生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811088451.XA CN109388561A (zh) 2018-09-18 2018-09-18 接口测试用例生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN109388561A true CN109388561A (zh) 2019-02-26

Family

ID=65418842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811088451.XA Pending CN109388561A (zh) 2018-09-18 2018-09-18 接口测试用例生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN109388561A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933535A (zh) * 2019-03-26 2019-06-25 北京金山云网络技术有限公司 测试用例的生成方法、装置和服务器
CN110134584A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 一种接口测试用例的生成方法、装置、存储介质和服务器
CN110134589A (zh) * 2019-04-17 2019-08-16 深圳壹账通智能科技有限公司 接口测试用例的生成方法、装置、计算机设备和存储介质
CN110196813A (zh) * 2019-06-06 2019-09-03 北京百度网讯科技有限公司 接口测试方法、装置、设备和介质
CN110232016A (zh) * 2019-03-08 2019-09-13 上海蔚来汽车有限公司 接口测试用例生成方法、装置及控制器和介质
CN110990276A (zh) * 2019-11-29 2020-04-10 泰康保险集团股份有限公司 接口字段自动化测试方法、装置和存储介质
CN111352782A (zh) * 2020-02-28 2020-06-30 北京字节跳动网络技术有限公司 一种接口测试方法、装置、计算机设备及存储介质
CN111506498A (zh) * 2020-03-16 2020-08-07 平安科技(深圳)有限公司 测试用例的自动生成方法、装置、计算机设备及存储介质
CN112346989A (zh) * 2020-11-26 2021-02-09 网易(杭州)网络有限公司 一种接口测试方法、装置、介质和计算设备
CN112380114A (zh) * 2020-11-05 2021-02-19 中国人寿保险股份有限公司 一种反向测试用例文件自动生成方法、装置及电子设备
CN113138934A (zh) * 2021-05-14 2021-07-20 杭州网易云音乐科技有限公司 自动测试的方法、介质、装置和计算设备
CN113282512A (zh) * 2021-06-24 2021-08-20 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质
CN113297088A (zh) * 2021-06-08 2021-08-24 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质
CN113434436A (zh) * 2021-07-30 2021-09-24 拉扎斯网络科技(上海)有限公司 测试用例的生成方法、装置、电子设备及存储介质
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置
CN115858395A (zh) * 2023-01-28 2023-03-28 北京蓝色星际科技股份有限公司 一种密码功能测试方法、装置、电子设备及存储介质
CN117113929A (zh) * 2023-09-08 2023-11-24 中电金信数字科技集团有限公司 一种字段数据拆分方法、装置、电子设备及存储介质

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232016A (zh) * 2019-03-08 2019-09-13 上海蔚来汽车有限公司 接口测试用例生成方法、装置及控制器和介质
CN109933535A (zh) * 2019-03-26 2019-06-25 北京金山云网络技术有限公司 测试用例的生成方法、装置和服务器
CN109933535B (zh) * 2019-03-26 2022-09-13 北京金山云网络技术有限公司 测试用例的生成方法、装置和服务器
CN110134584A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 一种接口测试用例的生成方法、装置、存储介质和服务器
WO2020207034A1 (zh) * 2019-04-12 2020-10-15 深圳壹账通智能科技有限公司 一种接口测试用例的生成方法、装置、存储介质和服务器
CN110134589A (zh) * 2019-04-17 2019-08-16 深圳壹账通智能科技有限公司 接口测试用例的生成方法、装置、计算机设备和存储介质
CN110196813A (zh) * 2019-06-06 2019-09-03 北京百度网讯科技有限公司 接口测试方法、装置、设备和介质
CN110990276A (zh) * 2019-11-29 2020-04-10 泰康保险集团股份有限公司 接口字段自动化测试方法、装置和存储介质
CN111352782A (zh) * 2020-02-28 2020-06-30 北京字节跳动网络技术有限公司 一种接口测试方法、装置、计算机设备及存储介质
CN111506498A (zh) * 2020-03-16 2020-08-07 平安科技(深圳)有限公司 测试用例的自动生成方法、装置、计算机设备及存储介质
CN111506498B (zh) * 2020-03-16 2022-06-21 平安科技(深圳)有限公司 测试用例的自动生成方法、装置、计算机设备及存储介质
CN112380114A (zh) * 2020-11-05 2021-02-19 中国人寿保险股份有限公司 一种反向测试用例文件自动生成方法、装置及电子设备
CN112346989B (zh) * 2020-11-26 2023-06-20 网易(杭州)网络有限公司 一种接口测试方法、装置、介质和计算设备
CN112346989A (zh) * 2020-11-26 2021-02-09 网易(杭州)网络有限公司 一种接口测试方法、装置、介质和计算设备
CN113138934A (zh) * 2021-05-14 2021-07-20 杭州网易云音乐科技有限公司 自动测试的方法、介质、装置和计算设备
CN113138934B (zh) * 2021-05-14 2024-01-19 杭州网易云音乐科技有限公司 自动测试的方法、介质、装置和计算设备
CN113297088A (zh) * 2021-06-08 2021-08-24 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质
CN113297088B (zh) * 2021-06-08 2023-11-07 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质
CN113282512A (zh) * 2021-06-24 2021-08-20 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质
CN113434436B (zh) * 2021-07-30 2022-12-16 拉扎斯网络科技(上海)有限公司 测试用例的生成方法、装置、电子设备及存储介质
CN113434436A (zh) * 2021-07-30 2021-09-24 拉扎斯网络科技(上海)有限公司 测试用例的生成方法、装置、电子设备及存储介质
CN113609026A (zh) * 2021-08-20 2021-11-05 盐城金堤科技有限公司 对服务器进行压力测试的方法和装置
CN115858395A (zh) * 2023-01-28 2023-03-28 北京蓝色星际科技股份有限公司 一种密码功能测试方法、装置、电子设备及存储介质
CN117113929A (zh) * 2023-09-08 2023-11-24 中电金信数字科技集团有限公司 一种字段数据拆分方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109388561A (zh) 接口测试用例生成方法、装置、计算机设备和存储介质
CN110245165A (zh) 风险传导关联图谱优化方法、装置和计算机设备
CN108491320A (zh) 应用程序的异常分析方法、装置、计算机设备和存储介质
CN105512030B (zh) 一种基于卫星指令码字智能构造提升卫星测试效率的方法
CN109445842A (zh) 规则生成方法、装置、计算机设备和存储介质
CN110007902A (zh) 业务处理流程配置的方法及装置
CN110209652A (zh) 数据表迁移方法、装置、计算机设备和存储介质
CN111427561A (zh) 业务代码的生成方法、装置、计算机设备和存储介质
CN108388515A (zh) 测试数据生成方法、装置、设备以及计算机可读存储介质
CN109062788A (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN109710933A (zh) 训练语料的获取方法、装置、计算机设备和存储介质
CN105786695A (zh) 数据测试方法及系统
CN110471585A (zh) 应用程序功能图标展示方法、装置和计算机设备
CN110309099A (zh) 接口管理方法、装置、设备及计算机可读存储介质
CN114372006A (zh) 测试用例自动生成方法、系统、计算机设备和存储介质
CN113435608A (zh) 联邦学习模型的生成方法、装置、计算机设备及存储介质
CN114168190A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN112631926A (zh) 代码测试覆盖率显示方法、装置、计算机设备及存储介质
CN111475494A (zh) 一种海量数据处理方法、系统、终端及存储介质
CN112506757A (zh) 自动测试方法、系统、计算机设备及其介质
CN109447412A (zh) 构建企业关系图谱的方法、装置、计算机设备和存储介质
CN110275703A (zh) 键值对数据的赋值方法、装置、计算机设备和存储介质
CN111444107A (zh) 软件评估方法及装置
CN109783788A (zh) 数据表填补方法、装置、计算机设备和存储介质
CN112015378A (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