论文部分内容阅读
过去几十年间,软件质量日益受到关注,软件测试得到了蓬勃发展。与此同时,随着大量软件的开发和演化,增强型软件项目逐步取代全新开发项目成为软件行业的主流。因此,增强型项目中测试工作量的度量对于当前的软件项目管理有着十分重要的价值。然而,目前以软件测试和增强型项目为对象的工作量度量研究相当缺乏。本文聚焦于增强型软件项目中功能测试的工作量度量,在增强型项目环境中应用、改进和构建工作量度量方法和技术,进行软件测试的规模度量、测试活动工作量度量、测试任务的工作量度量以及不确定性度量。论文主要工作和创新如下:第一、提出了基于测试对象分析法的测试验证点模型,以解决在项目早期对测试用例数目估计的问题。模型以测试用例要验证的功能规则为出发点,通过构建测试对象树来逐层分析、识别功能规则,从而获得测试验证点这一规模测度,进而估计出测试用例数目。第二、提出了二元规模模型,即通过增量规模和附加规模来分别度量增强型项目中添加、修改的功能和有待回归验证的原有功能,以解决现有方法无法准确涵盖回归测试的弱点。以二元规模为基础,通过在测试设计、测试执行和测试支持活动级别分别对二元规模进行一维转换,进而引入回归、调整均值和类比等算法对各活动和整体的工作量进行计算。该方法可以涵盖不同测试策略和场景,从而有效地提高度量的准确性。第三、提出了测试任务向量模型,从规模、执行复杂度和测试人员等级三个方面对每个测试套件级的任务进行描述,并基于经验库应用多元线性回归、类比和支持向量机回归等算法实现任务工作量的度量。任务向量模型改善了传统的固定算式模式,具备很强的扩展性,同时提高度量的准确性。第四、提出了基于既得价值的不确定性度量模型,引入金融领域的风险价值模型来度量工作量的不确定性,结合既得价值反馈过程框架对项目过程中的不确定性进行实时度量,为项目缓冲的设置和调整提供决策支持。案例和实验结果表明,本文提出的方法具备很强的可操作性和较高的度量准确性,比之原有的算法模型和专家估计法从可行性和准确性上都有显著提高。同时,三个实际项目的应用表明,以上方法可以集中应用于项目的各个环节并取得较为准确的度量值。总体而言,本文为增强型项目中的功能测试工作量的度量提供了一套研究框架和切实可行的度量模型。该框架下的模型和方法仍然存在一定的提升空间,值得继续深入探讨,而本文内容则为后续研究提供了一个良好的基础。