发明名称 一种基于聚类分析的回归测试用例选择方法
摘要 一种基于聚类分析的回归测试用例选择方法,通过在已有技术的基础上记录测试用例的执行覆盖信息,生成函数执行剖面,以量化形式表示测试用例并应用聚类算法分析测试用例,了解它们执行情况的异同,就可以理解程序行为及其之间的联系,在回归测试阶段有效降低测试用例数量并保持足够高的错误检测能力。本发明基于数据挖掘技术,以一种全新的、更加动态的方式处理测试用例,通过测试用例所展现出的程序行为的内在联系来理解程序,使得测试用例的选择变得更加容易和自动化,从而可以更有效的使用这些测试用例进行回归测试,在现有技术的基础上能够进一步提高回归测试的效率。
申请公布号 CN101866317B 申请公布日期 2012.07.25
申请号 CN201010212473.X 申请日期 2010.06.29
申请人 南京大学 发明人 赵志宏;章宸;陈振宇;严莎莉
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 黄明哲
主权项 一种基于聚类分析的回归测试用例选择方法,对于新旧两个版本的被测程序,旧版本已经过测试,采用的测试用例集称为原测试用例集,新版本等待进行回归测试,其特征是记录原测试用例集的各测试用例在旧版本上的执行覆盖信息作为测试历史信息;比较新旧版本被测程序的相关信息,从原测试用例集选择出覆盖修改位置的测试用例构成初始候选测试用例集,根据选择的测试用例在测试历史信息中提取这些测试用例在旧版本上的执行覆盖信息,形成旧版本被测程序函数的函数执行剖面,所述函数执行剖面显示旧版本被测程序中各个函数关于初始候选测试用例集中每个测试用例的覆盖情况;然后对函数执行剖面进行聚类分析,使初始候选测试用例集中的测试用例按照程序行为或执行情况的相似度分配到不同的类簇中;最后,从每个类簇中选择部分测试用例进行抽样检查,根据检查结果选择某个类簇或者丢弃某个类簇,形成最终候选测试用例集;函数执行剖面中,程序中的每个函数都对应一个度量,指示该函数关于测试用例的覆盖情况,如果某个函数在某个测试用例的执行过程中被调用了,那么该度量为1,否则该度量为0,全部的度量构成一条剖面记录,每个测试用例都对应一条这样的记录;聚类分析包括以下步骤:1)获得函数执行剖面后,每个初始候选测试用例集的测试用例都成为一个对象,以向量形式度量表示:X:<x1,x2,...,xn>,向量中每个xi,i=1,2…n对应程序中相应函数的覆盖情况,值为1或0;2)聚类分析计算对象之间的距离,对于以向量形式表示的测试用例,采用欧几里得距离公式计算对象之间的距离,设两个对象分别表示为:X:<x1,x2,...,Xn>和Y:<y1,y2,...,yn>,则它们的距离为: <mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msubsup> <mi>d</mi> <mi>i</mi> <mn>2</mn> </msubsup> </msqrt> </mrow>其中,当xi=yi时,di为0,其它情况di为1;3)计算出所有初始候选测试用例集中测试用例之间的距离后,使用Simple K‑means聚类算法进行聚类。
地址 210093 江苏省南京市鼓楼区汉口路22号