论文部分内容阅读
本文课题来源于本人的实习单位腾讯公司腾讯研究院测试组的研究课题“敏捷开发中的软件缺陷管理方法研究”。近年来,随着软件工程理论的逐步完善和业界对软件质量的日益重视,软件缺陷管理得到较快发展,并逐渐成为保证缺陷成功修复、软件过程改进的重要方法,是软件工程领域的重要研究方向之一。而随着互联网行业蓬勃发展,互联网产品“客户需求日益膨胀,业务形态不断变化,竞争形势严峻”的特点,使敏捷开发方法成为各大互联网公司软件开发方法首选。但是,业界还未针对敏捷开发方法进行过缺陷管理方面的探索和研究。因此,如何建立一套针对敏捷开发方法缺陷管理方案是目前互联网产品开发中急需解决的一个重要问题。本文将以腾讯公司的产品开发实践为基础,通过研究软件敏捷开发方法Scrum和缺陷管理技术,提出了Scrum中缺陷管理的目标,依据缺陷管理方法研究的实施步骤,从缺陷属性定义、缺陷跟踪流程、缺陷度量三个方面建立了一套适合Scrum的软件缺陷管理方法。本文主要完成以下工作:①分析了软件缺陷管理和Scrum开发方法的国内外现状,分析了目前软件缺陷管理中存在的问题和不足,指出基于Scrum进行缺陷管理研究的必要性和紧迫性。②对现有的软件缺陷管理技术进行了分析,包括缺陷分类、缺陷生命周期定义、缺陷度量技术以及现有缺陷工具,并介绍了Scrum开发方法、敏捷测试模型以及测试方法。③分析了现有缺陷管理方法运用在Scrum中所存在的问题和不足,继而提出了基于Scrum的缺陷管理方法目标,以及缺陷管理方法研究的具体实施步骤。④以缺陷解决和软件过程改进为目标,定义了测试用例、测试方法、缺陷优先级、缺陷严重级、相关缺陷、生命周期状态、缺陷模块、解决方案、所在Sprint、缺陷原因和缺陷分类11个缺陷属性。⑤利用层次定义法对缺陷生命周期进行了定义,建立了包含角色、活动、跟踪流程、缺陷数据库为内容的缺陷流程管理模型。⑥以改进和指导软件过程为目标,采用PSM模型,建立了反映缺陷预防、项目进度、团队工作状态、工作方法效率、过程敏捷以及产品质量的缺陷度量模型。⑦根据提出的软件缺陷管理方法,设计和实现了软件缺陷管理工具RQMS。并通过实践对比了RQMS和现有缺陷管理工具Bugzilla的使用效率。