[发明专利]一种基于软件可靠性增长模型的测试工作量分配方法在审
申请号: | 201610977069.9 | 申请日: | 2016-11-04 |
公开(公告)号: | CN108021498A | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 周毓明;冯义洋;卢红敏;徐宝文 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210023 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明提供一种基于软件可靠性增长模型的测试工作量分配方法,包括下列步骤:1)软件数据集的采集和处理;2)软件缺陷预测模型的构建;3)软件缺陷发现模型的构建;4)软件缺陷发现模型V |
||
搜索关键词: | 一种 基于 软件 可靠性 增长 模型 测试 工作量 分配 方法 | ||
【主权项】:
1.一种基于软件可靠性增长模型的测试工作量分配方法,其特征在于,先通过缺陷补丁报告对软件的旧版本(V0 版本)和新版本(V1 版本)分别进行数据集的采集和处理过程;接着使用随机森林、线性回归和支持向量机等缺陷预测技术来构建缺陷预测模型(V0 为训练集,V1 为测试集);然后使用软件可靠性增长模型之一的Goel-Okumoto模型来对V0 版本和V1 版本各自构建软件缺陷发现模型,并对两个版本的缺陷发现模型分别进行参数估计;最终可以得到软件V1 版本的最优测试工作量(测试用例)分配方案;该方法包括下列步骤:1)软件数据集的采集和处理;软件版本V0 要收集的数据信息包括:缺陷信息收集、测试用例的收集及处理和基础度量收集;软件版本V1 要收集的数据信息包括:基础度量收集和待分配总测试工作量等;2)软件缺陷预测模型的构建;定义1:软件缺陷预测模型包含以下三个关键属性,即描述、输入和输出;描述:缺陷预测模型是用来读取软件训练数据集进行训练并对软件测试集进行测试的,常用的预测模型有随机森林、线性回归和支持向量机等;输入:软件的代码度量和过程度量等信息;输出:表示软件预期出现的缺陷数目;使用步骤1)采集和处理过的软件数据集,分别将版本V0 和版本V1 作为训练集和测试集,并按照描述、输入、输出的格式组织起来进行软件缺陷数目预测过程;3)软件缺陷发现模型的构建;定义1:软件缺陷发现模型可以相对于给定的测试资源估计出可发现缺陷的数目,我们所使用的模型是拓展的指数可靠性增长模型,也被称之为Goel-Okumoto模型(以下简称Go模型),该模型在任意的测试时间内有一个恒定的缺陷检测率,用该模型可以代表测试工作量和检测出的累积缺陷之间的关系,计算公式如下: H ^ i ( t i ) = a i [ 1 - exp ( - b i t i ) ] , b i = b 0 / S i ]]> 式中 为在给定一定量的测试工作量情况下,模块mi 最终可以发现的缺陷数,ti 为模块mi 分配到的测试工作量,bi 为单位测试工作量可以发现的缺陷数,ai 为模块mi 的初始缺陷数,Si 为模块mi 的规模大小,b0 为常量,由步骤4)估计而得。4)软件缺陷发现模型V0 版本参数估计;定义1:软件缺陷发现模型V0 版本ai 计算公式如下: a i = H i + R 1 * S i n e w 1000 + R 2 * S i r e u s e d 1000 ]]> 其中,Hi 为模块mi 的实际检测到的缺陷数, 是模块mi 的新增的/修改的代码行数, 是模块mi 中复用的代码行数。R1 和R2 是剩余缺陷率,分别表示在新增的/修改后的代码中,1KLOC行中仍残留然有R1 个缺陷;在复用的代码中,1KLOC行中仍残留然有R2 个缺陷。定义2:参数b0 表明每单位测试工作量可检测的缺陷数,由实际分配的测试工作量和检测到的缺陷数得出,计算公式如下:b0 =-Stotal /ttotal *log(1-Htotal /atotal )其中Stotal 是所有模块的总大小,ttotal 是总的实际测试工作量,Htotal 是实际检测到的缺陷的总数,并且有 5)软件缺陷发现模型V1 版本参数估计;case 1:若mi 在V0 中存在A.如果 假设V0 版本的mi 有k个缺陷在V1 中被修复了,则: a i ( v i , m i ) = a i ( v i - 1 , m i ) + R 1 * S i n e w 1000 + R 2 * S i r e u s e d 1000 - k ]]> B.如果 说明mi 实际是没有缺陷的,因此我们可以降低V1 版本中mi 的ai 值:ai (vi ,mi )=ai (vi-1 ,mi )/10case 2:mi 在V0 中不存在,属V1 中新增的模块。按如下方法计算: a i ( v i , m i ) = A p p l y M o d e l ( mod e l , m i ) + R 1 * S i 1000 ]]> 其中,model为在V0 上建立的缺陷预测模型,ApplyModel(model,mi )为应用这个缺陷预测模型所预测的mi 上的缺陷数目,用来代替实际检测得到的缺陷数目。6)软件V1 版本最优测试工作量分配;已知V1 版本的待分配的测试工作量ttotal ,每个模块mi 的ai 和bi 值,按上述步骤可以求得最优测试工作量分配策略下mi 的工作量,将结果代入缺陷发现模型,最终可发现最多数目的累积缺陷。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610977069.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种LTE承载网络的保护方法及装置
- 下一篇:一种自动化培养基用基座