发明名称 一种基于分支覆盖与相似性的回归测试用例优先排序方法
摘要 本发明提供一种基于分支覆盖与相似性的回归测试用例优先排序方法,包括下列步骤:1)收集测试用例运行时的剖面信息,并构造分支覆盖向量;2)通过欧式距离函数计算成对的向量之间的距离,并构造测试用例间的相异度矩阵;3)以测试用例为顶点,测试用例之间的连线、距离分别作为边及其边权重,构建测试用例不相似有限完全图。通过蚁群算法在图中寻找具有最长距离的测试用例优先排序序列。本发明解决了目前存在的回归测试用例优先排序方法错误发现效率不高,结果的稳定性较差等问题,不仅大幅提高了回归测试错误发现效率、稳定性以及可扩展性,而且也提升了软件回归测试的自动化程度,进而提高了软件测试工作效率。
申请公布号 CN105528289A 申请公布日期 2016.04.27
申请号 CN201510884000.7 申请日期 2015.12.04
申请人 中国矿业大学 发明人 王荣存;姜淑娟;张磊;张艳梅;薛猛;王兴亚
分类号 G06F11/36(2006.01)I;G06N3/00(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 代理人
主权项 一种基于分支覆盖与相似性的回归测试用例优先排序方法,其特征在于,在待测程序上运行所有的测试用例,获得每一个测试用例的执行剖面;执行剖面为测试用例在执行过程中所覆盖的分支向量,如果分支被覆盖则在向量中的值为1,反之则为0;通过欧式距离函数计算成对的分支覆盖向量的距离,将该距离作为与剖面对应的测试用例之间的距离;根据测试用例多样性理论,定义目标函数模型并采用蚁群算法对回归测试用例进行优先排序;该方法包括下列步骤:1)测试用例剖面信息的收集与分支覆盖向量的构建;采用自动化方式批量执行所有的测试用例,并联合动态插桩技术获得运行测试用例产生的剖面信息文件;分析获得的剖面信息文件,并提取文件中的分支执行频率列为每一个测试用例构造分支覆盖向量;如果一个分支执行频率大于0,则在分支覆盖向量中该分支对应的值是1,否则是0;2)成对的测试用例之间距离的计算;使用步骤1)产生的分支覆盖向量计算成对的剖面之间的距离,并将其作为与剖面信息对应的测试用例之间的距离;基于成对的测试用例之间的距离信息构造相异度矩阵;其中,测试用例之间的距离计算方法如下:根据步骤1)产生的分支覆盖向量计算两个测试用例之间的距离,计算公式如下:<img file="353853dest_path_image001.GIF" wi="168" he="47" />式中,<img file="541252dest_path_image002.GIF" wi="54" he="15" />表示测试用例X与Y之间的距离,<img file="526525dest_path_image003.GIF" wi="16" he="12" />和<img file="773967dest_path_image004.GIF" wi="18" he="15" />分别表示测试用例X和Y对应的分支覆盖向量中的第<img file="782374dest_path_image005.GIF" wi="10" he="14" />位的取值;3) 回归测试用例的优先排序;构造测试用例不相似性有限完全图,以测试用例作为顶点,测试用例之间的连线作为边,邻接的测试用例之间的距离作为边的权重(使用步骤2)产生的相异度矩阵);然后以目标函数为指导,通过蚁群算法求解具有最长路径的Hamilton路;由于测试用例的多样性有助于提高回归测试的错误发现效率,因此通过寻找具有最长距离路径的测试用例序列以最大程度上保证测试用例的多样性;最后将产生的Hamilton路中的测试用例序列作为回归测试用例优先排序的最终序列;目标函数如下:<img file="835781dest_path_image006.GIF" wi="131" he="33" />式中,<img file="613244dest_path_image007.GIF" wi="18" he="18" />表示待排序的测试用例集合,<img file="31587dest_path_image008.GIF" wi="20" he="18" />和<img file="324028dest_path_image009.GIF" wi="16" he="18" />表示测试用例。
地址 221116 江苏省徐州市大学路1号