一种软件接口测试用例的自动生成方法技术

技术编号:15541618 阅读:157 留言:0更新日期:2017-06-05 10:56
本发明专利技术公开了一种软件接口测试用例的自动生成方法,所述方法包括(一)通过参数配对覆盖算法生成测试数据关系图;(二)利用步骤(一)得到的测试数据关系图,再通过蚁群算法自动生成测试用例。本发明专利技术通过对该两个算法的结合能够改进原来直接用参数配对覆盖法生成测试用例有效性差的问题,能够保证测试数据的有效性和测试用例的有效性,并能够大大的缩短测试用例设计时间,节约大量的资源。

An automatic generation method of software interface test case

The invention discloses a method for automatically generating software interface test case, the method comprises (a) by pairing parameters covering algorithm to generate test data diagram; (two) the steps of (a) test data diagram obtained, then through the ant colony algorithm for automatic generation of test cases. The invention can be improved by directly from the original parameter matching covering method to generate test cases effectively the problem of poor combination of the two algorithms, to ensure the validity of test cases and test data, and can greatly shorten the time of test case design, save a lot of resources.

【技术实现步骤摘要】
一种软件接口测试用例的自动生成方法
本专利技术涉及软件接口测试领域,特别是涉及一种软件接口测试用例的自动生成方法。
技术介绍
目前的软件接口测试工具主要偏重于对测试工作的管理,比如QC、ITB等工具只能维护人工录入的测试用例,不能自动生成测试用例,并且现有的自动或半自动生成接口测试用例的工具往往与特殊的业务相关,不能通用。现有生成接口测试用例工具的具体缺点包括:(1)测试用例设计耗费资源。随着软件规模逐渐变大,一个软件的被测接口的数量一般会在几百个左右,自动化或半自动化的测试用例设计工具采用已有的算法诸如基于测试依据集进行的测试,需要提前准备条目化的需求、设计等测试依据集,耗费大量的人力和时间。(2)测试用例设计的有效性不能保证。测试管理工具需要人工设计测试用例,由于业务不熟或个人能力有限,测试用例的设计有效性往往较差;自动化或半自动化的工具设计用例根据已有的算法,诸如参数配对覆盖算法生成测试用例的基础是已有的测试数据,而测试数据的有效性不能保证,导致测试用例的有效性也难以保证。由此可见,上述现有的软件接口测试用例生成工具显然仍存在有不便与缺陷,而亟待加以进一步改进。如何能创设一种新的软件接口测试用例自动生成方法,成为当前业界极需改进的目标。
技术实现思路
本专利技术要解决的技术问题是提供一种软件接口测试用例自动生成方法,使其能大大缩短测试用例设计时间,且保证测试数据和测试用例的有效性,从而克服现有的软件接口测试用例生成工具的不足。为解决上述技术问题,本专利技术提供一种软件接口测试用例的自动生成方法,所述方法包括如下步骤:(一)通过参数配对覆盖算法生成测试数据关系图;(二)利用步骤(一)得到的测试数据关系图,再通过蚁群算法自动生成测试用例。作为本专利技术的一种改进,所述步骤(一)的具体步骤如下:(1)定义对象,包括定义接口、接口集合、接口测试用例、接口参数、参数测试数据集和参数配对组合;(2)接收一个被测接口,从历史数据中筛选出与所述被测接口的业务领域、语言类型、接口名称和参数列表属性中一项或多项相同的接口,形成接口集合,并获取所述接口集合中各个接口的测试用例集合以及所述各个接口所属参数集合的参数类型、参数测试数据、参数类型配对集合;(3)判断步骤(2)形成的接口集合中历史数据是否为空,若为空,采用等价类法、边界值法对所述历史数据进行生成,若不为空,遍历所述接口集合中各个接口的参数类型配对集合,从中找到与所述被测接口的参数类型配对一致的参数配对集合,遍历所述参数配对集合中找到参数类型与当前遍历的参数配对相同的参数,并获取其参数测试数据,将其以并集的方式组合成参数测试数据集合;(4)对于所述参数配对集合中每组参数配对的测试数据值组合,根据其测试用例的执行情况给出相应的定量评价,生成测试数据关系图,其中根据测试用例执行情况给出的定量评价为:evaluate表示参数配对的测试数据值组合的评价值,value表示两个配对参数的测试数据值,DefectLevel表示测试数据值组合所在的测试用例的缺陷等级。进一步改进,所述步骤(二)中蚁群算法自动生成测试用例的具体步骤如下:首先,对所述参数测试数据集合进行排序,指定一个起点,每一个蚂蚁分别使用独立线程进行模拟,并采用转移概率计算方法、根据转移概率转移蚂蚁方法进行寻路;当所有蚂蚁完成寻路后,再采用信息素挥发/叠加方法更新路径上的信息素,重复此过程直到完成指定迭代次数,求出遍历次数最多的前N个解作为所述被测接口的测试用例。进一步改进,,所述执行信息素挥发/叠加方法中采用信息素的叠加算法遵循公式如下:τij(t+n)=(1-ρ)·τij(t)+Δτkij(t)其中ρ表示可控信息素的挥发速度,取值在(0,1)之间,τij(t+n)表示距离节点t有n个节点之后的剩余信息素数值,τij(t)表示节点t的剩余信息素数值,表示一只蚂蚁释放的信息素数值;的计算方式采取Ant-Cycle模型,即每完成一次遍历后更新所有路径的信息素浓度为:其中,Q表示第k只蚂蚁完成一次遍历后在路径上释放的信息素总量,Lk表示第k只蚂蚁完成一次遍历后所移动的总路程。进一步改进,所述步骤(2)中形成的接口集合包括:a、首先从历史接口集合中筛选出与所述被测接口的语言类型、业务领域相同的接口,形成第一接口集合;b、再从所述第一接口集合中查询接口名称与所述被测接口名称相似或相同的接口,形成第二接口集合;若从所述第一接口集合中没有查询到与所述被测接口名称相似或相同的接口,则不进行筛选直接进入步骤c;c、从所述第一接口集合或第二接口集合中获取各个接口的参数列表,依据所述参数列表的属性,从所述第一接口集合或第二接口集合中找到与所述被测接口参数列表相同的接口,形成第三接口集合;若没有找到参数列表顺序、参数类型、参数名称均一致的接口,则寻找其中一项或几项属性相同的接口,形成第四接口集合。进一步改进,所述步骤(2)的时间复杂度与历史数据量大小成正比,其中该步骤的时间复杂度为O(M*N),M为历史数据中接口数量,N为历史数据中接口参数列表数量。采用这样的设计后,本专利技术至少具有以下优点:本专利技术以参数配对覆盖法生成测试数据关系图,以蚁群算法生成测试用例,两个算法的结合能够保证测试数据的有效性和测试用例的有效性,并能够大大的缩短测试用例设计时间,节约大量的资源。附图说明上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。图1是本专利技术中生成参数测试数据关系图的流程示意图。图2是本专利技术中测试数据值集合中各节点之间的路径示意图。具体实施方式本专利技术软件接口测试用例的自动生成方法是在已有的接口测试用例历史数据中,根据参数类型的相关性以及测试用例的执行情况,从历史数据中选取质量较高的测试数据,再结合蚁群算法自动生成测试用例。该方法包括利用参数配对覆盖算法生成测试数据关系图,和利用蚁群算法生成测试用例的两个步骤,大大提高了测试用例生成的有效性。具体步骤如下:一、利用参数配对覆盖算法生成测试数据关系图的步骤如下,参照附图1所示:1、定义对象:接口定义:InterfaceName{ParamTypeParamName,ParamTypeParamName,Stringfield,Stringlanguage};接口测试用例:InterfaceTestCase{Defectdefect,intdefectlevel}接口参数:Param(ParamTypeparamType,ParamNameparamName)参数测试数据集:SetParamValueSet参数配对组合:MapParamPair参数配对组合测试数据集合:MapParamPairValue2、接收一个被测接口:首先根据被测接口的语言类型、业务领域,筛选出所有符合要求,即与被测接口名称相似或相同接口的接口集合,形成第一接口集合;从该第一接口集合中查询接口名称与被测接口名称相似或者相同的接口,记为第二接口集合{InterfaceSet},如果没有查询到与被测接口名称相似或者相同的接口,则不进行名称筛选。3、分析接口:获取上述第一接口集合或第二接口集合{InterfaceSet}中各个接口的参数列表{ParamSet},依据参数列本文档来自技高网...
一种软件接口测试用例的自动生成方法

【技术保护点】
一种软件接口测试用例的自动生成方法,其特征在于,所述方法包括如下步骤:(一)通过参数配对覆盖算法生成测试数据关系图;(二)利用步骤(一)得到的测试数据关系图,再通过蚁群算法自动生成测试用例。

【技术特征摘要】
1.一种软件接口测试用例的自动生成方法,其特征在于,所述方法包括如下步骤:(一)通过参数配对覆盖算法生成测试数据关系图;(二)利用步骤(一)得到的测试数据关系图,再通过蚁群算法自动生成测试用例。2.根据权利要求1所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(一)的具体步骤如下:(1)定义对象,包括定义接口、接口集合、接口测试用例、接口参数、参数测试数据集和参数配对组合;(2)接收一个被测接口,从历史数据中筛选出与所述被测接口的业务领域、语言类型、接口名称和参数列表属性中一项或多项相同的接口,形成接口集合,并获取所述接口集合中各个接口的测试用例集合以及所述各个接口所属参数集合的参数类型、参数测试数据、参数类型配对集合;(3)判断步骤(2)形成的接口集合中历史数据是否为空,若为空,采用等价类法、边界值法对所述历史数据进行生成,若不为空,遍历所述接口集合中各个接口的参数类型配对集合,从中找到与所述被测接口的参数类型配对一致的参数配对集合,遍历所述参数配对集合中找到参数类型与当前遍历的参数配对相同的参数,并获取其参数测试数据,将其以并集的方式组合成参数测试数据集合;(4)对于所述参数配对集合中每组参数配对的测试数据值组合,根据其测试用例的执行情况给出相应的定量评价,生成测试数据关系图,其中根据测试用例执行情况给出的定量评价为:evaluate表示参数配对的测试数据值组合的评价值,value表示两个配对参数的测试数据值,DefectLevel表示测试数据值组合所在的测试用例的缺陷等级。3.根据权利要求2所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(二)中蚁群算法自动生成测试用例的具体步骤如下:首先,对所述参数测试数据集合进行排序,指定一个起点,每一个蚂蚁分别使用独立线程进行模拟,并采用转移概率计算方法、根据转移概率转移蚂蚁方法...

【专利技术属性】
技术研发人员:劳天马由汤艳陈理国
申请(专利权)人:华北计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1