[发明专利]一种多参量软件测试方法有效
申请号: | 201010526993.8 | 申请日: | 2010-10-26 |
公开(公告)号: | CN101986281A | 公开(公告)日: | 2011-03-16 |
发明(设计)人: | 陈柏强;张健 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 俞达成 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 参量 软件 测试 方法 | ||
1.一种多参量软件测试方法,其步骤包括:
1)生成强度为t的组合测试数据TS,所述组合测试数据由N个测试用例组成,按照先后次序,其对应下标分别为0至N-1,其中每一测试用例为一个k元组(p0,p1,…,pk-1),强度t为自然数;k为自然数,表示待测软件的参量个数;pi代表各参量,分别取值于Vi;强度为t指该组合测试数据覆盖任意不超过t个参量的所有可能的取值组合;
2)识别所述组合测试数据的非敏感元素,所述非敏感元素指测试数据中取值的改变不影响所述组合测试数据强度t的那些元素;
3)实例化上述非敏感元素,使得实例化后的组合测试数据中t+m元组覆盖率得到提高,其中m可为1至k-t中的任意自然数;
4)将上述提高t+m元组覆盖率的组合测试数据作为优化后的组合测试数据;
5)使用上述优化后的组合测试数据对该待测软件进行测试。
2.如权利要求1所述的方法,其特征在于,所述步骤2)中识别出所述组合测试数据的非敏感元素,采用的方法如下:
对测试数据中的N个测试用例,按照一定的次序依次遍历进行遍历,遍历过程中,如果当前测试用例中,包含某一参量的某个取值的全部t元组都已被覆盖过,则在所有后续测试用例中,如遇到该参量取同样的值,就标记为非敏感元素。
3.如权利要求2所述的多参量软件测试方法,其特征在于,所述步骤2)包括以下步骤:
2-1)对组合测试数据中的每一个参量pi,分别计算所有包含该参量的t元组,并保存在相应的记录集合Ri中;
2-2)为TS中的N个测试用例,生成一个候选的排序序列集S;
2-3)根据S中的每种排序序列Sk对全部测试用例进行排序,得到TSk,按照先后顺序,遍历TSk中的全部测试用例,查找非敏感元素;
2-4)将TS替换为上述查找到非敏感元素最多的TSk。
4.如权利要求3所述的多参量软件测试方法,其特征在于,重复进行步骤2-2)至2-4),直到不能查找到新的非敏感元素为止。
5.如权利要求3所述的多参量软件测试方法,其特征在于,所述步骤2-2)排序序列集S生成具体采用以下步骤:
2-2-1)计算组合测试数据TS中任意两个测试用例之间的汉明距离,存入表M中;
2-2-2)随机选择某个测试用例,将其下标作为一个只含一个下标的序列,放入下标序列集S;
2-2-3)遍历S中的每一个序列listi,设listi的最后一个下标为x,查找表M,找到下标值不包含在listi中,且和下标为x的测试用例汉明距离最大的b个测试用例的下标,分别作为listi的末端,放入S’,其中b为参数,其取值为正整数;
2-2-4)将S替换为S’;
2-2-5)如果步骤2-2-3)至2-2-5)已执行c次,转2-2-6),其中c为参数,其取值为正整数,取5和N之间的较小值;
2-2-6)如果S中的各序列包含的下标个数等于N,转2-2-8);
2-2-7)遍历S中的每一个序列listi,设listi的最后一个下标为x,查找表M,找到下标值不包含在listi中,且和下标为x的测试用例汉明距离最大的那个测试用例的下标,作为listi的末端,重复执行2-2-6);
2-2-8)返回序列集S。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010526993.8/1.html,转载请声明来源钻瓜专利网。