一种软件接口测试用例的自动生成方法与流程

文档序号:12464187阅读:来源:国知局

技术特征:

1.一种软件接口测试用例的自动生成方法,其特征在于,所述方法包括如下步骤:

(一)通过参数配对覆盖算法生成测试数据关系图;

(二)利用步骤(一)得到的测试数据关系图,再通过蚁群算法自动生成测试用例。

2.根据权利要求1所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(一)的具体步骤如下:

(1)定义对象,包括定义接口、接口集合、接口测试用例、接口参数、参数测试数据集和参数配对组合;

(2)接收一个被测接口,从历史数据中筛选出与所述被测接口的业务领域、语言类型、接口名称和参数列表属性中一项或多项相同的接口,形成接口集合,并获取所述接口集合中各个接口的测试用例集合以及所述各个接口所属参数集合的参数类型、参数测试数据、参数类型配对集合;

(3)判断步骤(2)形成的接口集合中历史数据是否为空,若为空,采用等价类法、边界值法对所述历史数据进行生成,若不为空,遍历所述接口集合中各个接口的参数类型配对集合,从中找到与所述被测接口的参数类型配对一致的参数配对集合,遍历所述参数配对集合中找到参数类型与当前遍历的参数配对相同的参数,并获取其参数测试数据,将其以并集的方式组合成参数测试数据集合;

(4)对于所述参数配对集合中每组参数配对的测试数据值组合,根据其测试用例的执行情况给出相应的定量评价,生成测试数据关系图,其中根据测试用例执行情况给出的定量评价为:

<mrow> <mi>e</mi> <mi>v</mi> <mi>a</mi> <mi>l</mi> <mi>u</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> <mo>&lt;</mo> <mi>v</mi> <mi>a</mi> <mi>l</mi> <mi>u</mi> <mi>e</mi> <mo>,</mo> <mi>v</mi> <mi>a</mi> <mi>l</mi> <mi>u</mi> <mi>e</mi> <mo>&gt;</mo> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mi>i</mi> <mi>j</mi> </msubsup> <mi>D</mi> <mi>e</mi> <mi>f</mi> <mi>e</mi> <mi>c</mi> <mi>t</mi> <mi>L</mi> <mi>e</mi> <mi>v</mi> <mi>e</mi> <mi>l</mi> </mrow>

evaluate表示参数配对的测试数据值组合的评价值,value表示两个配对参数的测试数据值,DefectLevel表示测试数据值组合所在的测试用例的缺陷等级。

3.根据权利要求2所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(二)中蚁群算法自动生成测试用例的具体步骤如下:

首先,对所述参数测试数据集合进行排序,指定一个起点,每一个蚂蚁分别使用独立线程进行模拟,并采用转移概率计算方法、根据转移概率转移蚂蚁方法进行寻路;当所有蚂蚁完成寻路后,再采用信息素挥发/叠加方法更新路径上的信息素,重复此过程直到完成指定迭代次数,求出遍历次数最多的前N个解作为所述被测接口的测试用例。

4.根据权利要求3所述的软件接口测试用例的自动生成方法,其特征在于,所述执行信息素挥发/叠加方法中采用信息素的叠加算法遵循公式如下:

τij(t+n)=(1-ρ)·τij(t)+Δτkij(t)

其中ρ表示可控信息素的挥发速度,取值在(0,1)之间,τij(t+n)表示距离节点t有n个节点之后的剩余信息素数值,τij(t)表示节点t的剩余信息素数值,表示一只蚂蚁释放的信息素数值;的计算方式采取Ant-Cycle模型,即每完成一次遍历后更新所有路径的信息素浓度为:

<mrow> <msubsup> <mi>&Delta;&tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mfrac> <mi>Q</mi> <msub> <mi>L</mi> <mi>k</mi> </msub> </mfrac> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>

其中,Q表示第k只蚂蚁完成一次遍历后在路径上释放的信息素总量,Lk表示第k只蚂蚁完成一次遍历后所移动的总路程。

5.根据权利要求2所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(2)中形成的接口集合包括:

a、首先从历史接口集合中筛选出与所述被测接口的语言类型、业务领域相同的接口,形成第一接口集合;

b、再从所述第一接口集合中查询接口名称与所述被测接口名称相似或相同的接口,形成第二接口集合;若从所述第一接口集合中没有查询到与所述被测接口名称相似或相同的接口,则不进行筛选直接进入步骤c;

c、从所述第一接口集合或第二接口集合中获取各个接口的参数列表,依据所述参数列表的属性,从所述第一接口集合或第二接口集合中找到与所述被测接口参数列表相同的接口,形成第三接口集合;若没有找到参数列表顺序、参数类型、参数名称均一致的接口,则寻找其中一项或几项属性相同的接口,形成第四接口集合。

6.根据权利要求2所述的软件接口测试用例的自动生成方法,其特征在于,所述步骤(2)的时间复杂度与历史数据量大小成正比,其中该步骤的时间复杂度为O(M*N),M为历史数据中接口数量,N为历史数据中接口参数列表数量。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1