[发明专利]一种基于聚类分析的回归测试用例选择方法有效
申请号: | 201010212473.X | 申请日: | 2010-06-29 |
公开(公告)号: | CN101866317A | 公开(公告)日: | 2010-10-20 |
发明(设计)人: | 赵志宏;章宸;陈振宇;严莎莉 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 黄明哲 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 聚类分析 回归 测试 选择 方法 | ||
1.一种基于聚类分析的回归测试用例选择方法,对于新旧两个版本的被测程序,旧版本已经过测试,采用的测试用例集称为原测试用例集,新版本等待进行回归测试,其特征是记录原测试用例集的各测试用例在旧版本上的执行覆盖信息作为测试历史信息;比较新旧版本被测程序的相关信息,从原测试用例集选择出覆盖修改位置的测试用例构成初始候选测试用例集,根据选择的测试用例在测试历史信息中提取这些测试用例在旧版本上的执行覆盖信息,形成旧版本被测程序函数的函数执行剖面,所述函数执行剖面显示旧版本被测程序中各个函数关于初始候选测试用例集中每个测试用例的覆盖情况;然后对函数执行剖面进行聚类分析,使初始候选测试用例集中的测试用例按照程序行为或执行情况的相似度分配到不同的类簇中;最后,从每个类簇中选择部分测试用例进行抽样检查,根据检查结果选择某个类簇或者丢弃某个类簇,形成最终候选测试用例集。
2.根据权利要求1所述的一种基于聚类分析的回归测试用例选择方法,其特征是函数执行剖面中,程序中的每个函数都对应一个度量,指示该函数关于测试用例的覆盖情况,如果某个函数在某个测试用例的执行过程中被调用了,那么该度量为1,否则该度量为0,全部的度量构成一条剖面记录,每个测试用例都对应一条这样的记录。
3.根据权利要求2所述的一种基于聚类分析的回归测试用例选择方法,其特征是聚类分析包括以下步骤:
1)获得函数执行剖面后,每个初始候选测试用例集的测试用例都成为一个对象,以向量形式度量表示:X:<x1,x2,...,xn>,向量中每个xi,i=1,2…n对应程序中相应函数的覆盖情况,值为1或0;
2)聚类分析计算对象之间的距离或相异度,对于以向量形式表示的测试用例,采用欧几里得距离公式计算对象之间的距离,设两个对象分别表示为:X:<x1,x2,...,xn>和Y:<y1,y2,...,yn>,则它们的距离为:
其中,当xi=yi时,di为0,其它情况di为1;
3)计算出所有初始候选测试用例集中测试用例之间的距离后,使用Simple K-means聚类算法进行聚类。
4.根据权利要求1或2或3所述的一种基于聚类分析的回归测试用例选择方法,其特征是对于聚类分析得到的每个类簇,先在类簇中随机选择出部分测试用例进行抽样检查,选择的数量至少有一个,检查方式为比较测试用例在新旧两个版本被测程序下的输出,如果检查结果是所有被抽样的测试用例在新旧版本被测程序下的输出都一样,即没有测试用例发现程序错误,根据聚类分析的特征,同一类簇中其他测试用例很有可能也不会发现程序错误,则丢弃该类簇;如果发现抽样的测试用例中至少有一个测试用例在新旧版本被测程序下的输出不一样,即发现了程序错误,则同一类簇中其他相似的测试用例也很有可能会发现程序错误,则保留该类簇;依次检查所有类簇后,保留的所有类簇中的测试用例形成最终候选测试用例集。
5.根据权利要求4所述的一种基于聚类分析的回归测试用例选择方法,其特征是对类簇随机选择测试用例时,选择的数量为该类簇中测试用例数量的2.5%或5%或10%。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010212473.X/1.html,转载请声明来源钻瓜专利网。