[发明专利]一种基于测试执行记录快速定位软件代码缺陷的方法有效
申请号: | 201310264686.0 | 申请日: | 2013-06-27 |
公开(公告)号: | CN103309811A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 顾庆;施小燕;陈道蓄 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 贺翔 |
地址: | 210008 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 测试 执行 记录 快速 定位 软件 代码 缺陷 方法 | ||
1.一种基于测试执行记录快速定位软件代码缺陷的方法,其特征在于包括以下步骤:
1)整理测试执行记录,以测试用例为单位,收集每一个测试用例的执行记录信息,其中包括对代码行的覆盖数据和测试用例的执行结果数据;
2)建立正交信息表,以代码行为单位,分别统计代码行覆盖数据和测试执行结果数据;
3)计算缺陷怀疑率,根据正交信息表,分别计算面向代码覆盖的条件概率、以及面向执行结果的条件概率;综合计算代码行的缺陷怀疑率;最后按照怀疑率从高到低排序,辅助定位代码缺陷。
2.根据权利要求1所述的基于测试执行记录快速定位软件代码缺陷的方法,其特征在于,上述步骤1)覆盖数据用数值0和1表示,其中0代表测试用例未覆盖代码行,1代表测试用例覆盖了代码行;执行结果亦采用数值0和1表示,其中0代表测试用例执行通过,1代表测试用例执行未通过。
3.根据权利要求2所述的基于测试执行记录快速定位软件代码缺陷的方法,其特征在于,上述步骤2)中建立正交信息表的处理流程是:首先析取软件中可执行的代码行;然后对每一个代码行s,划分测试用例集或者直接采用数值计算,构建针对代码行s的正交信息表;该正交信息表是一个2×2表格,表格的行代表覆盖数据,即:y—覆盖s,n—未覆盖s;列代表执行结果,即:p—通过,f—未通过;如下表所示:
表中4个表项的计算公式如下:
s(yp)=|S1∩T0|=∑t∈Te(t)×(1-r(t))=∑t∈T0e(t)
s(yf)=|S1∩T1|=∑t∈Te(t)×r(t)=∑t∈T1e(t)
s(np)=|S0∩T0|=∑t∈T(1-e(t))×(1-r(t))=∑t∈T0(1-e(t))
s(nf)=|S0∩T1|=∑t∈T(1-e(t))×r(t)=∑t∈T1(1-e(t))
其中T0代表执行通过的测试用例集合,T1代表执行未通过的测试用例集合;S1代表覆盖代码行s的测试用例集合,S0代表未覆盖代码行s的测试用例集合;e(t)代表测试用例t是否覆盖代码行s,r(t)代表用例t的执行结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310264686.0/1.html,转载请声明来源钻瓜专利网。