[发明专利]一种软件测试用例优化方法及系统有效
申请号: | 201410077655.9 | 申请日: | 2014-03-04 |
公开(公告)号: | CN103810104B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 史睿冰;金俊坤;史圣兵;阚虎;张鹏;吕冬雪;田鸿源;高靖哲;李青巍;杜巍 | 申请(专利权)人: | 中国人民解放军63863部队 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 1370*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 优化 方法 系统 | ||
1.一种软件测试用例优化方法,其特征是:由以下步骤组成:
步骤1):利用层次分析法确定被测系统各功能需求的权重值;
步骤2):利用改进蚁群算法获得完全覆盖各功能需求、运行代价最小的测试用例子集;
步骤3):针对步骤2)所得的最简测试用例子集,采用改进遗传算法进行优先级排序,获得错误检测速率最高的测试用例序列;
上述步骤1)包括以下步骤:
a1):基于系统中各元素之间的相互关系以及隶属关系建立结构模型;
b1):利用1~9标度以及成对比较法建立判断矩阵;
c1):进行层次单排序;
d1):进行层次总排序得各功能需求的最终权重值;
e1):测试用例运行代价评估;
上述步骤2)包括以下步骤:
a2):针对系统中测试用例集与功能需求集的关系,生成二维矩阵,用T-R表示,矩阵的行表示测试用例,矩阵的列表示功能需求;
b2):针对二维关系矩阵T-R,使用必不可少策略和冗余策略进行测试用例集精简得用例子集T′;
c2):结合步骤1)的e1)所得的各测试用例运行代价值,对用例子集T′使用贪心算法,生成一个路径确定、代价较小的先验测试用例子集;
d2):采用初始路径信息素增强规则,增强c2)中所求得的先验子集中的所有测试用例节点的初始信息素值;
e2):设置蚂蚁数目,将蚂蚁的数量设置为对原始关系矩阵进行精简后剩余的测试用例的个数;每只蚂蚁均有一个初始值为空的解集,用于存放蚂蚁爬行的路径;每只蚂蚁都有一个自己的禁忌表,主要存放蚂蚁已经爬行过的测试用例节点,从而阻止该蚂蚁在同一次迭代中再次选择这个测试用例节点;
f2):将测试用例集T′中的所有测试用例节点随机分布在这些蚂蚁上,同时将这个初始节点放在所在蚂蚁的解集中;
g2):每只蚂蚁计算并选择下一步将要选择的测试用例节点,当所有蚂蚁均选择出一个满足要求的测试用例子集时,蚂蚁停止本轮搜索;
h2):比较所有蚂蚁所寻找出的测试用例子集,找出本轮循环中完全覆盖各功能需求、运行代价最小的测试用例子集;
i2):在增强所有经蚂蚁爬过的节点信息素的基础上,额外动态地增强本次迭代最优测试用例子集所包含的测试用例节点上的信息素值;本次迭代结束;
j2):重复e2)~i2),直至得到最简测试用例子集;
上述步骤3)包括以下步骤:
a3):确定测试用例覆盖率;
b3):确定测试用例的编码策略;
c3):结合步骤1)的d1)所得的权重值确定适应度函数:利用层次分析法得到各功能需求的权重值,同时利用基于重叠测试的评估公式,构建了包含重复需求的改进遗传算法评估公式:
其中,n为测试用例序列中测试用例的个数,k为测试用例序列所对应的功能需求个数集的序号,wi为第k个测试用例所覆盖的第i个功能需求的权重值,num为第k个测试用例所覆盖的功能需求个数;
d3):确定选择算子、交叉算子及变异算子生成新一代种群;
e3):重复c3)~d3),直至得到错误检测速率最高的测试用例序列。
2.一种软件测试用例优化系统,其特征是:由以下模块组成:
第一模块,其利用层次分析法确定被测系统各功能需求的权重值;
第二模块,其利用改进蚁群算法获得完全覆盖各功能需求、运行代价最小的测试用例子集;
第三模块,针对第二模块计算所得的最简测试用例子集,采用改进遗传算法进行优先级排序,获得错误检测速率最高的测试用例序列;
上述第一模块执行以下操作:
a1):基于系统中各元素之间的相互关系以及隶属关系建立结构模型;
b1):利用1~9标度以及成对比较法建立判断矩阵;
c1):进行层次单排序;
d1):进行层次总排序得各功能需求的最终权重值;
e1):测试用例运行代价评估;
上述第二模块执行以下操作:
a2):针对系统中测试用例集与功能需求集的关系,生成二维矩阵,用T-R表示,矩阵的行表示测试用例,矩阵的列表示功能需求;
b2):针对二维关系矩阵T-R,使用必不可少策略和冗余策略进行测试用例集精简得用例子集T′;
c2):结合第一模块执行的运算步骤e1)所得的各测试用例运行代价值,对用例子集T′使用贪心算法,生成一个路径确定、代价较小的先验测试用例子集;
d2):采用初始路径信息素增强规则,增强c2)中所求得的先验子集中的所有测试用例节点的初始信息素值;
e2):设置蚂蚁数目,将蚂蚁的数量设置为对原始关系矩阵进行精简后剩余的测试用例的个数;每只蚂蚁均有一个初始值为空的解集,用于存放蚂蚁爬行的路径;每只蚂蚁都有一个自己的禁忌表,主要存放蚂蚁已经爬行过的测试用例节点,从而阻止该蚂蚁在同一次迭代中再次选择这个测试用例节点;
f2):将测试用例集T′中的所有测试用例节点随机分布在这些蚂蚁上,同时将这个初始节点放在所在蚂蚁的解集中;
g2):每只蚂蚁计算并选择下一步将要选择的测试用例节点,当所有蚂蚁均选择出一个满足要求的测试用例子集时,蚂蚁停止本轮搜索;
h2):比较所有蚂蚁所寻找出的测试用例子集,找出本轮循环中完全覆盖各功能需求、运行代价最小的测试用例子集;
i2):在增强所有经蚂蚁爬过的节点信息素的基础上,额外动态地增强本次迭代最优测试用例子集所包含的测试用例节点上的信息素值;本次迭代结束;
j2):重复e2)~i2),直至得到最简测试用例子集;
上述第三模块执行以下操作:
a3):确定测试用例覆盖率;
b3):确定测试用例的编码策略;
c3):结合步骤1)的d1)所得的权重值确定适应度函数:利用层次分析法得到各功能需求的权重值,同时利用基于重叠测试的评估公式,构建了包含重复需求的改进遗传算法评估公式:
其中,n为测试用例序列中测试用例的个数,k为测试用例序列所对应的功能需求个数集的序号,wi为第k个测试用例所覆盖的第i个功能需求的权重值,num为第k个测试用例所覆盖的功能需求个数;
d3):确定选择算子、交叉算子及变异算子生成新一代种群;
e3):重复c3)~d3),直至得到错误检测速率最高的测试用例序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军63863部队,未经中国人民解放军63863部队许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410077655.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于嵌入式系统的高速缓存器
- 下一篇:一种用于预测软件缺陷的方法和系统