发明名称 一种回归测试中基于分布的测试用例优先级划分方法
摘要 一种回归测试中基于分布的测试用例优化方法,对于回归测试中的测试用例集,依据执行剖面在剖面空间中的分布对测试用例的执行顺序进行优先级排序,优先级高的测试用例将被优先执行,使得执行顺序临近的测试用例尽可能分散在剖面空间中,以尽早最大化错误检测能力,提高错误检测速率。本发明在不进行任何测试用例约简的前提下,对测试用例的执行顺序进行排序,即测试用例的创建顺序并不作为其执行顺序,而是使用基于分布的测试用例优先级技术对执行顺序进行排序。这样一方面使得测试用例集合的错误检测能力不受影响,另一方面提高了错误检测的速率,使得程序员可以尽早地找到更多的错误,节省了程序员寻找错误的时间成本。
申请公布号 CN102253889B 申请公布日期 2014.02.26
申请号 CN201110225316.7 申请日期 2011.08.07
申请人 南京大学 发明人 陈振宇;赵志宏;吴堃;房春荣;张智轶
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 黄明哲
主权项 一种回归测试中基于分布的测试用例优先级划分方法,其特征是对于回归测试中的测试用例集,依据执行剖面在剖面空间中的分布对测试用例的执行顺序进行优先级排序,优先级高的测试用例将被优先执行,使得执行顺序临近的测试用例尽可能分散在剖面空间中,以尽早最大化错误检测能力,提高错误检测速率,该方法包括以下步骤:1)获得测试用例集合T中每个测试用例的执行序列信息和覆盖率信息,使用执行序列信息作为测试用例执行剖面的特征,所述执行序列信息是一序列的字符串,记录了程序元素的执行顺序;2)利用测试用例的执行序列的编辑距离,来计算测试用例之间的相异性程度,两个执行序列的编辑距离为:通过插入、删除和替换操作,将其中一个执行序列转换为另一个执行序列所需要的操作数;3)使用最远距离优先farthest‑first算法对测试用例的执行顺序进行排序,使得排序后,执行顺序临近的测试用例能够分散在剖面空间中:最远距离优先算法对测试用例的排序为:后一个测试用例尽可能远离之前的测试用例,以保证执行顺序临近的测试用例尽可能的分散,其过程是:首先选择第一个测试用例,该测试用例拥有最大的元素覆盖率,然后所述最远距离优先算法迭代选择下一个测试用例,直到所有的测试用例都被选择,选择时,将所有未被排序的测试用例构造成一个候选集合,对其中的每个候选测试用例,分别计算其与已经挑选的测试用例集合中每一个测试用例之间的距离,也就是相异性程度,将其中最小的距离作为该候选测试用例与已被选择的测试用例集合之间的距离;最后,选择候选集合中距离已经被选择的测试用例集合最远的一个测试用例,由测试用例的选择顺序得到测试优先级排序,选择顺序越前,优先级越高;4)由步骤3)得到测试用例的测试优先级排序,按照排序后的顺序执行测试用例。
地址 210093 江苏省南京市鼓楼区汉口路22号