软件测试工作量分配方法:一个实验比较

来源 :南京大学 | 被引量 : 0次 | 上传用户:haiyaozhucewohai
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
如何将测试工作量合理分配到软件模块以有效检测缺陷是软件开发组织面临的重要挑战。结构复杂性导向(SCA,structural-complexity-guided allocation)和缺陷预测模型导向(FPA,fault-prediction-model-guided allocation)是近年来提出的测试工作量分配方法:前者依据模块的结构复杂性来分配,后者依据缺陷预测的结果来分配。然而,当前的SCA方法只简单利用模块规模的信息,而当前的FPA方法则要求缺陷预测具有相当高的预测准确性。特别地,先前工作只在"功能"粒度(一个"功能"由多个模块实现)上对SCA和FPA的有效性进行了评估,我们不清楚它们在更常见的模块粒度上的有效性。为解决上述问题,本文在模块粒度上分析测试工作量分配方法的有效性,主要工作如下:(1)对SCA进行扩展:现有方法在结构复杂性度量的选择上缺乏多样性,只考虑最简单的基于模块大小的分配策略。为对SCA方法做一个更加全面的研究,本文一方面对代码变更度量进行进一步的拓展,另一方面添加了基于圈复杂性度量的策略。实验结果表明某些基于代码变更度量的策略简单有效且性能表现较为稳定,能够给测试工作的分配带来非常有指导性的建议;相反,圈复杂度可能并不能很好地指导测试工作量的分配,尽管之前已有很多文献表明圈复杂度可以对缺陷预测起到很大的帮助。(2)在新条件下验证FPA:当前的FPA方法一方面要求预测粒度为"功能"级别,另一方面要求缺陷预测模型具有较高的准确性(Norm(Popt)>0.78)。然而,在真实的开发场景中,缺陷预测大多针对模块(类/文件)粒度。先前的研究表明,在模块粒度的缺陷预测下,缺陷预测模型一般达不到当前FPA方法所要求的准确性。本文在类粒度的基础上对当前的FPA方法的有效性进行了实证分析,实验结果表明FPA系列策略普遍表现不佳。(3)提出新的分配策略RGA:本文将软件可靠性增长模型应用到测试工作量分配场景中,提出了 RGA(reliability-growth-model-guided allocation)方法。RGA首先学习前期版本的缺陷信息得到当前版本的缺陷分布,然后求解当前版本理论上的最优工作量分配方案。实验结果表明,RGA优于SCA和FPA:一方面,在相同的总测试工作量下,RGA方法能发现最多的缺陷数目;另一方面,RGA方法在多个软件版本上的性能比SCA和FPA更稳定。
其他文献
本文着眼于对象/关系映射,通过对国内外对象/关系映射框架的分析和比较论证,同时考虑到国内中小型应用开发过程中的问题及特点,借鉴和吸收对象/关系映射领域里面的相关研究成果,
Clifford分析是上世纪70年代后发展成熟的高维数学理论,它在数字图像处理中的应用才刚刚起步。本文首先将Clifford代数应用于LUV模型的复杂背景彩色图像区域生长中,将“点”信
随着计算机与网络信息技术的飞速发展,被视作下一代互联网标准的网格技术的地位也越来越重要。网格技术的目标是消除资源孤岛,实现网络上所有分布资源的高层次的连通和共享。虽
随着信息技术和计算机技术的迅猛发展,人类进入了信息时代。网络教育是信息时代的必然产物,它使教育突破了时间和空间的限制,使人们可以随时随地的进行学习,最大限度利用教育资源
本文以高校校园网络系统的现状为背景,来探讨一个基于数字化校园分布式系统统一用户权限管理系统的设计与实现。全文结构如下: 第一章首先介绍了论文的选题背景及意义,根据用
随着互联网技术的飞速发展,文本数据大幅度地增长,如何利用计算机从大量复杂的文本中获取有用的信息,借助语义相关度计算是解决这一问题的途径之一。词语作为句子和文章的基础,其
随着国家信息化进程的发展,各政府部门也开始了政府部门电子化的过程。目前,我国政府的电子化进程已经处于世界中上等水平。 当今信息技术的发展,一方面给人们的生活带来了巨
本文结合基于关键点路径的地形跟踪系统的自身特点,以飞行物为模拟物体,研究实现基于关键点路径的地形跟踪系统所需的相关技术,并进行系统原型设计和技术实现。全文主要内容如下
本文对粒子群优化算法的产生、发展进行了介绍,讨论了多目标演化算法的相关重要策略,并分析了多目标粒子群优化的发展现状。在此基础上,借助多目标演化算法的相关策略,设计了两种
本文在分析考察传统的金融预测分析方法的基础上,提出了一套面向期货市场分析、预测和决策,针对实盘真实数据操作,由BP神经网络和ARIMA时间序列模型组合的系统应用模板。该系统