节点文献
增强型软件项目中测试工作量度量研究
Research on Software Test Effort Measurement in Enhancement Projects
【作者】 祝晓春;
【作者基本信息】 浙江大学 , 计算机科学与技术, 2010, 博士
【摘要】 过去几十年间,软件质量日益受到关注,软件测试得到了蓬勃发展。与此同时,随着大量软件的开发和演化,增强型软件项目逐步取代全新开发项目成为软件行业的主流。因此,增强型项目中测试工作量的度量对于当前的软件项目管理有着十分重要的价值。然而,目前以软件测试和增强型项目为对象的工作量度量研究相当缺乏。本文聚焦于增强型软件项目中功能测试的工作量度量,在增强型项目环境中应用、改进和构建工作量度量方法和技术,进行软件测试的规模度量、测试活动工作量度量、测试任务的工作量度量以及不确定性度量。论文主要工作和创新如下:第一、提出了基于测试对象分析法的测试验证点模型,以解决在项目早期对测试用例数目估计的问题。模型以测试用例要验证的功能规则为出发点,通过构建测试对象树来逐层分析、识别功能规则,从而获得测试验证点这一规模测度,进而估计出测试用例数目。第二、提出了二元规模模型,即通过增量规模和附加规模来分别度量增强型项目中添加、修改的功能和有待回归验证的原有功能,以解决现有方法无法准确涵盖回归测试的弱点。以二元规模为基础,通过在测试设计、测试执行和测试支持活动级别分别对二元规模进行一维转换,进而引入回归、调整均值和类比等算法对各活动和整体的工作量进行计算。该方法可以涵盖不同测试策略和场景,从而有效地提高度量的准确性。第三、提出了测试任务向量模型,从规模、执行复杂度和测试人员等级三个方面对每个测试套件级的任务进行描述,并基于经验库应用多元线性回归、类比和支持向量机回归等算法实现任务工作量的度量。任务向量模型改善了传统的固定算式模式,具备很强的扩展性,同时提高度量的准确性。第四、提出了基于既得价值的不确定性度量模型,引入金融领域的风险价值模型来度量工作量的不确定性,结合既得价值反馈过程框架对项目过程中的不确定性进行实时度量,为项目缓冲的设置和调整提供决策支持。案例和实验结果表明,本文提出的方法具备很强的可操作性和较高的度量准确性,比之原有的算法模型和专家估计法从可行性和准确性上都有显著提高。同时,三个实际项目的应用表明,以上方法可以集中应用于项目的各个环节并取得较为准确的度量值。总体而言,本文为增强型项目中的功能测试工作量的度量提供了一套研究框架和切实可行的度量模型。该框架下的模型和方法仍然存在一定的提升空间,值得继续深入探讨,而本文内容则为后续研究提供了一个良好的基础。
【Abstract】 Over the past decades, software test is increasingly growing. Meanwhile, as a large volume of software products are generated, enhancement projects to support evolution of exsiting software become the majority in software industry instead of creating brand-new software. Thus, it is of key value to provide effective solutions to test effort measurement in enhancement projects. However, only few published researches and practices in effort measurement field aim to address either enhancement projects or software test.This paper presents research on methodoloies and technologies of software test effort measurement in enhancement projects, and it covers test sizing, test activity effort estimation, test task effort estimation, and uncertainty measurement.The major contributions of the paper are presented as below, including:Firstly, it proposes a new test size metric called test verification point (TVP) to derive the number of test case (TCN) at early stage of a project. A test object tree is created to identify and organize test objects of an application, and then TVP is derived from the count of functional rules attach to test objects. After that, TCN can be estimated from TVP since the metric is generated from the view of test objectives.Secondly, it proposes a binary sizing model with increment size (INC) and appendix size (APPD) to cover both new added or updated functions and existing functions for regression test. The relationships between the binary size with TCN metrics and test effort for test design activity, test execution activity and test support activity are respectively analyzed and presented. Algorithms, like linear regression, adjusted average benchmark, and anology are introduced to measure effort of each test activity. At last, the total test effort can be derived from test design effort, test execution effort and test support effort.Thirdly, it proposes a test task vector model which contains size, complexity, and tester rank sub-models. For each test suite, the model analyzes its size and complexity, and measures the rank of a tester who is assigned to execute the task. Based on the experience database of test task verctors, algorithms, like multiple linear regression, anology, support vector machine regression, etc, are then inroduced to estimate effort of new vectors.Fourthly, it proposes an earned-value based uncertainty measurmenet model to deal with the uncertainty at different progress of a project. It introduces value-at-risk model from finance field to meaure the effort uncertainty in a software project, and combines earned-value feedback process to track uncertainties through the whole software life cycle to support project buffer management.Case studies indicate that models and approaches proposed above are effective and can provide accurate estimation of software test. Based on the practice of three enhancemnt projects, we find they are competitive against existing algorithm models and expert estimation methods from both applicability and accuracy.In general, this paper proposes a research framework of function test effort measurement on enhancement projects and provides a set of applicable solutions, and the work of the paper can be a good base for further researches and practices.
【Key words】 Enhancement Project; Software Test Effort Measurement; Test Size; Test Verification Point; Earned Value; Uncertainty Measurement;