毕业设计论文软件缺陷管理系统的研究.doc

上传人:sccc 文档编号:4881895 上传时间:2023-05-21 格式:DOC 页数:48 大小:1.37MB
返回 下载 相关 举报
毕业设计论文软件缺陷管理系统的研究.doc_第1页
第1页 / 共48页
毕业设计论文软件缺陷管理系统的研究.doc_第2页
第2页 / 共48页
毕业设计论文软件缺陷管理系统的研究.doc_第3页
第3页 / 共48页
毕业设计论文软件缺陷管理系统的研究.doc_第4页
第4页 / 共48页
毕业设计论文软件缺陷管理系统的研究.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业设计论文软件缺陷管理系统的研究.doc》由会员分享,可在线阅读,更多相关《毕业设计论文软件缺陷管理系统的研究.doc(48页珍藏版)》请在三一办公上搜索。

1、优秀学位论文作者声明本人郑重声明:所呈交的学位论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全了解有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理机构送交论文的复印件和电子版。同意省级优秀学位论文评选机构将本学位论文通过影印、缩印、扫描等方式进行保存、摘编或汇编;同意本论文被编入有关数据库进行检索和查阅。本学位论文内容不涉及国家机密。论文题目:软件缺陷管理系统的研究缺陷收集与跟踪作者单位:江汉大学 数学与计算机科学学院作者签名:董哲熙 2008 年 5 月 28 日 学士学位论

2、文论文题目 软件缺陷管理系统的研究 缺陷收集与跟踪(英 文) Research on Software Defect Management System Defect Collecting and Tracking学 院 数学与计算机科学学院 专 业 计算机科学与技术 姓 名 学 号 指导教师 2008 年 5 月 28 日目 录摘 要1Abstract2文献综述3第一章 绪 论81.1 软件缺陷管理系统的开发背景和意义81.2 软件缺陷管理系统的研究内容91.3 本文主要工作101.4 小结10第二章 软件缺陷管理综述112.1 软件缺陷管理的目标112.2 软件缺陷管理的要素112.2.1

3、 缺陷收集与跟踪112.2.2 缺陷统计与分析142.3 软件缺陷管理的流程162.3.1 软件缺陷生命周期162.3.2 软件缺陷管理流程中的角色172.4 小结18第三章 软件缺陷管理系统的开发与设计193.1 系统开发环境及工具193.2 可行性分析193.3 系统的需求分析193.4 系统功能设计233.4.1 系统流程分析233.4.2 系统功能描述243.5 系统的数据库设计253.5.1 数据表结构253.5.2 表间关系263.6 小结26第四章 软件缺陷管理系统的实现与运行274.1 CSS样式表文件设计274.2 创建数据库连接284.3 主要功能详细设计284.3.1 用

4、户登陆284.3.2 浏览缺陷294.3.3 提交缺陷334.3.4 修改缺陷344.3.5 归档处理394.4 小结41第五章 结束语42致 谢43参考文献44 摘 要随着现在计算机软件开发规模越来越大,如何管理软件开发中出现的缺陷、提高软件质量是软件企业关心的问题。本文介绍了软件缺陷的概念、属性,利用UML分析了缺陷管理的工作流程、系统角色的权限,设计并实现了一个可对提交的缺陷进行跟踪、管理、统计和分析的软件缺陷管理系统。系统基于B/S结构,采用ASP,SQL Server等技术来实现。实践表明,该系统具有一定的实用价值。关键词软件缺陷;缺陷收集;缺陷跟踪 ;UML;ASP;SQL Ser

5、verAbstractNowadays, the scale of the software development is growing up increasingly. And people pay more attention to the numerous defects in a software system. Its important to diminish those defects to improve the quality. In this paper, we focus on design a software defect management system. It

6、 is to help developers detect software defects and assist project managers in allocating testing resources more effectively. First, we introduce the definition of software defects and discuss its attributes. Then, we use the UML to illustrate the work flow and the system roles authority of the defec

7、t management. The function of this system is to track, manage and analyze the collected defects. The system is based on B/S framework, using ASP, SQL Server and other technologies. Practice shows that the system has some practical value.KeywordsSoftware defect; Defect collecting; defect tracking; UM

8、L; ASP; SQL Server文献综述1、绪论2003年8月,数百万人陷入黑暗,软件缺陷显然是造成在北美东北地区的大停电事故的元凶。2005年4月,美国航空集团公司一些机票被错误地售价为1.86美元,这个软件缺陷造成数千美元的损失。在最近一次美国总统大选中,在几个地区所使用的新的电脑投票机产生了不正确的统计数1。这样的例子举不胜举,软件缺陷的危害几乎涉及到每一个使用计算机的单位与个人。软件缺陷(defect)指的是系统或系统部件中那些导致系统或部件不能实现其功能的缺陷。在软件开发的某一阶段中发现的上一阶段产生的错误,如语法错误、拼写错误或者是一个不正确的程序语句等,一般需要返工以更正这个

9、错误。研究表明,在软件的编码测试阶段遗漏编码缺陷,如果到系统测试时才发现,那么这时纠正缺陷所花费的成本是在编码阶段纠错花费的成本的7倍以上。因此,是否能及早地将缺陷信息从软件产品开发过程中反馈回来是软件质量生存期中最重要的一步。2、问题的提出软件缺陷是软件质量的对立面,缺陷的产生主要是由软件产品的特点和开发过程决定的,有些缺陷很明显比较容易被修复成功,有些缺陷却很隐蔽很难被发现。现在,人们越来越重视软件质量问题,试图用这样那样的方法来提高软件质量。软件测试是检查软件发现缺陷的过程,是软件质量保证过程中不可或缺的一个环节,但软件行业发展二十多年来,开发高质量软件均非易事。而软件测试的目标是找到至

10、今还未发现的缺陷,而不是确保没有缺陷2。因此,不管测试工作量有多大,缺陷可能仍然存在,为了保证软件正常运行,必须对软件中存在的缺陷进行有效的管理,从而提高软件质量。软件缺陷管理就是在开发中对发现的缺陷进行跟踪并确保每个被发现的缺陷被关闭。从某种意义上说,软件项目管理过程可以看作是软件产品的缺陷管理过程,软件过程的目的是避免将缺陷引入软件产品或将已产生的缺陷识别出来,并将其排除。软件缺陷管理技术不仅应用在代码层次,还应用于软件工程过程的所有相关活动中。缺陷管理作为软件质量管理的重要组成部分,正在成为软件开发管理过程的又一亮点,从国内外越来越多的公司进行相关管理工具的开发,到人们对缺陷管理工具的需

11、求逐渐增多而且更加明确,同时渴望能够得到物美价廉的可用版本,软件缺陷管理的其重要性和被人们所给予的重视程度可见一斑。3、软件缺陷管理系统的发展情况软件测试是检查软件发现缺陷的过程,统计表明,在典型的软件开发项目中,软件测试工作量往往占总工作量的40%以上,而根据对国际著名IT企业的统计,测试费用占软件开发的总成本的50%以上3。在国外软件产业发达国家,软件测试占有绝对重要的地位。在微软内部,软件测试人员与软件开发人员的比率一般为1比 1.52.5,微软软件开发的实践过程己经证明了这种人员结构的合理性与正确性。从国内最近几年软件测试人员的短缺情况来看,软件测试行业正越来越得到重视。以往重开发轻测

12、试的状况也得到改善,开发人员和测试人员也不再像以前那样互相抵触,现在,开发人员期望测试人员发现更多的缺陷,在整个软件生命周期中能够愉快的合作。越来越多的软件公司和管理技术人员在工作中将更多的时间和资源投向了测试方面。很多优秀企业中开发与测试的人员比例达到了3比1或2比1,许多顶尖的技术人员在从事质量控制和软件测试工作。软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。缺陷跟踪管理系统在实现技术层面上来看是一个数据库应用程序。它包括前台用户界面、后台缺陷数据库以及中间数据处理层。缺陷是影响软

13、件质量的所有外部因素,正确性(没有缺陷)就是高质量软件的本质属性。逻辑上,仅有两种主要的方法可应用于开发低缺陷的软件:缺陷预防(构件软件时防止引入缺陷);缺陷排除(检测并排除在构建软件时引入的缺陷) 4。软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下目标:1. 确保每个被发现的缺陷都能够被解决,“解决”的意思不一定是被修正,也可能是被延迟等等,总之,对每个被发现的bug的处理方式必须能够在开发组织中达到一致;2.

14、 收集缺陷数据并根据缺陷趋势曲线识别测试出于测试过程中的哪个阶段;3. 决定测试过程是否结束,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式;4. 收集缺陷数据并在其上进行数据分析,作为组织过程改进的财富。在实际运用中的软件缺陷跟踪系统用来描述报告所发现的缺陷,处理软件缺陷属性,跟踪软件缺陷的整个生命周期和生成软件缺陷跟踪图表等。缺陷数据是生成各种各样测试分析、质量控制图表的基础,从这些缺陷分析图表中可以清楚的看到缺陷的修复过程,分析缺陷发生的根本原因,跟踪管理缺陷的效率。软件缺陷跟踪管理系统可以通过添加、修改、排序、查寻、存储操作来管理软件缺陷。缺陷跟踪管理系统在实现技术

15、层面上来看是一个数据库应用程序。它包括前台用户界面、后台缺陷数据库以及中间数据处理层。目前,不少缺陷跟踪管理系统是采用B/S结构来实现的,相应地,采用的编程语言是ASP或JSP。软件缺陷管理实际是软件测试流程管理的一个子过程,其应用模型一般主要由四个部分组成:缺陷收集、缺陷跟踪、缺陷度量、项目评估。如图1所示:缺陷收集缺陷度量缺陷跟踪项目评估图1 软件缺陷管理应用模型软件缺陷收集部分是整个应用模型的基础;软件缺陷跟踪部分是规范解决项目中的缺陷的一个必要手段,也是软件缺陷管理中的一个重要组成部分;软件缺陷度量方法的选择是缺陷度量阶段的核心问题,它能最大限度的评估软件的项目;项目评估作为软件缺陷度

16、量方法的应用结果与这些方法的选择相关。软件缺陷管理系统的实现过程主要分为两步,第一步是从软件缺陷管理的理论到应用模型;第二步使用软件方法实现该模型。软件缺陷信息的收集主要依据缺陷的属性、缺陷的生命周期以及项目开发实践中所需要的内容来设计和实现的;软件缺陷跟踪部分是整个系统解决方案中一个重点,主要依据缺陷跟踪流程中的角色与缺陷状态关系,并以工作流技术来灵活配置角色的权限和缺陷状态的变迁过程;软件缺陷度量是整个系统解决方案的另中一个重点,也是当前进行缺陷管理过程中容易忽略的一个阶段,其重点要解决的就是缺陷度量方法的选取,方法选取是否恰当,直接影响到下一阶段的项目评估;项目评估部分主要依据前一阶段的

17、缺陷度量的结果对项目的质量、进度、效率进行评估。目前,不少软件公司研制出了相应的缺陷管理软件,用得比较多的包括Rational公司的C1earQuest软件和Mozilla公司的Bugzilla软件,国内的微创公司也推出一套缺陷管理系统BMS。这些产品的推出说明缺陷管理越来越受到软件企业的重视,但商业软件往往价格昂贵,代价高也不一定能起到很好的作用,例如ClearQuest的一个License报价在5万人民币,如果再要使用与ClearQuest相配套的ClearCase,则一个License要5000美金。价格是一个问题,维护代价也很高。另外,Rational系列产品有些地方不够人性化,比如要

18、查找一个己经提交的缺陷不是很方便,也无法避免重复缺陷的提交,这样就给缺陷审核人员带来了很多不必的麻烦4。即使购买了Rational系列产品的公司往往由于过程管理没有跟上,使得这些过程支持软件发挥不了它们强大的作用。可见,工具只是手段,过程本身的改进才是重点5。而微创公司的BMS系统中的缺陷状态设置仅为3种:已激活、已解决、已关闭,这对于缺陷状态的描述和缺陷处于不同状态的统计略显不足,因为国外许多关于缺陷管理的参考文献将缺陷状态定义为5-7种6。另外,BMS系统将所有成员分成两种角色:一般用户(包括个人用户、项目经理)、企业经理,该系统的角色设置较少,且角色不能定制。而一些免费的开源软件功能又不

19、够强大,比如Bugzilla软件的统计、查询和分析功能较少,人性化设计较差,用户定制界面较少。由于过程管理软件往往与软件组织结构设置和实际的开发过程紧密关联,若软件无法进行恰当的定制,必然限制该软件在软件组织内的推广使用。因此,根据特定的需求采取自主研发软件缺陷管理系统的方式也逐渐受到青睐。4、总结软件缺陷管理作为软件工程学科的一个分支,关于它的理论研究起步较晚,发展远未成熟。同时,国内从事软件缺陷管理研究和工作的组织和企业较少。目前国内大量的出版物中,关于软件缺陷管理方面的资料较少。根据查阅文献所掌握的资料,目前软件缺陷管理的相关论文总量不多,尤其是国内在这方面的研究成果更少。参考文献1 H

20、ildreth, Sue. Up from a Low-Quality Quagmire . Computerworld.2005, Vol. 39(30):23-252 朱少明.全程软件测试.北京:电子工业出版社,20073 朱少明.软件测试方法和技术.北京:清华大学出版社,20054 Edward Kit.软件测试过程改进.北京:机械工业出版社,20045 SPIN一CS,主流测试工具介绍,软件学报,2003.16 徐晓春,李高健.软件配置管理.北京:清华大学出版社,20027 Chillarege R,Bhandari I,Chaar J et al.Defect Classificat

21、ion-A Concept for Inprocess Measurements.IEEE Transactions on Software Engineering,1992,18(11):943-9568 王军,申期.科技统计.北京:中国统计出版社,20009 谢敏、戴金龙.软件测试系列报道之二追踪每一个软件缺陷.计算机世界.2005年04月25日(第C16版)10 Weinberg,G. M. 质量软件管理系统思维.北京:清华大学出版社,2004 11 G.Gordon Schulmeyer, James I.McManus. 软件质量保证. 第3版. 北京:机械工业出版社,200312

22、陈雷. 软件测试实践之缺陷跟踪管理.程序员. 2004,1213 Grady Booch, James Rumbaugh, Ivar Jacobson. UML参考手册. 北京:机械工业出版社,200114 Kelly, Michael. Bonding Over BUGS.Computer world. 2005, 39(10):49-5015 Cohen, Alan. Software is too buggy and unreliable. PC Magazine. 2005, 24(14) :86-8716 Stephen H.Ka. 软件质量工程度量与模型. 第2版. 北京:电子工业

23、出版社,200417 Houman Younessi. 面向对象的软件缺陷管理. 北京:机械工业出版社,200418 Cern Kaner, James Bach, Bret Pettichord.软件测试经验与教训.北京:机械工业出版社,200419 赛奎春. ASP信息系统开发实例精选. 北京:机械工业出版社,200620 G.Y. Hong, T.N. Goh.Six Sigma in software quality.The TQM Magazine. 2003,15(6):10-1421 Vanessa Pratt, Jay Warner. Defect inspection in

24、transparent materials.Sensor Review. Volume: 20 Issue 4, 2000 Technical paper22 Rupa Mahanti, Jiju Antony. Confluence of six sigma, simulation and software development. Managerial Auditing Journal. Vol. 20 Issue 7. 2005 Technical paper23 Qinbao Song , Martin Shepperd , Michelle Cartwright , Carolyn

25、Mair. Software Defect Association Mining and Defect Correction Effort Prediction. IEEE Transactions on Software Engineering. 2006.2 Vol. 32 Issue 224 Barry Boehm, Victor R. Basili. Software Defect Reduction Top 10 List. Computer.2001,34(1)第一章 绪 论1.1 软件缺陷管理系统的开发背景和意义自从软件危机爆发以来,软件缺陷的危害几乎涉及到每一个使用计算机的单位

26、与个人,大约40%到50%的用户程序都有不容忽视的缺陷1。因此,人们越来越重视软件质量问题,试图用这样那样的方法来提高软件质量,现今的软件项目是把40%到50%的工作量花在了修改上。但多年以来,开发高质量软件均非易事,原因在于“与生俱来”的软件缺陷是软件质量的对立面,缺陷的产生主要是由软件产品的特点和开发过程决定的。软件测试是检查软件发现缺陷的过程,统计表明,在典型的软件开发项目中,软件测试工作量往往占总工作量的40%以上,而根据对国际著名IT企业的统计,测试费用占软件开发的总成本的50%以上2。软件测试是软件工程中相当重要的一部分,这是软件行业二十几年的不断失败中总结出的经验。在国外软件产业

27、发达国家,软件测试占有绝对重要的地位。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大区别,优秀测试人员的待遇甚至比程序员还耍高。在微软内部,软件测试人员与软件开发人员的比率一般为1比 1.52.5,微软软件开发的实践过程己经证明了这种人员结构的合理性与正确性。从国内最近几年软件测试人员的短缺情况来看,软件测试行业正越来越得到重视。以往重开发轻测试的状况也得到改善,开发人员和测试人员也不再像以前那样互相抵触,现在,开发人员期望测试人员发现更多的缺陷,在整个软件生命周期中能够愉快的合作。越来越多的软件公司和管理技术人员在工作中将更多的时间和资源投向了测试方面。很多优秀企

28、业中开发与测试的人员比例达到了3比1或2比1,许多顶尖的技术人员在从事质量控制和软件测试工作。然而,软件测试的目标是找到至今还未发现的缺陷,而不是确保没有缺陷3。因此,不管测试工作量有多大,缺陷可能仍然存在,为了保证软件正常运行,必须对软件中存在的缺陷进行有效的管理,从而提高软件质量。软件缺陷管理作为软件质量管理的重要组成部分,正在成为软件开发管理过程的又一亮点,从国内外越来越多的公司进行相关管理工具的开发,到人们对缺陷管理工具的需求逐渐增多且越来越明确,同时希望获得物美价廉切合实际的可用版本,软件缺陷管理系统的重要性和所受关注程度不言而喻。1.2 软件缺陷管理系统的研究内容不论是大型还是中小

29、型软件测试,其缺陷数目都是众多的,如何保证这些缺陷被准确、及时发现和处理,保证软件测试和开发的和谐进展,使软件项目在计划的时间内,发布高质量的产品,成为项目管理人员、开发人员和测试人员要认真对待的任务之一4。缺陷管理可视为软件工程的真正本质,缺陷管理的最终目的是提高产品质量5。软件测试的实践表明,缺陷管理可以行之有效的保证每一条缺陷被完整记录、及时处理、验证和关闭。它作为软件测试的一个重要环节,包括缺陷报告,缺陷生命周期,缺陷跟踪,趋势分析,分布分析,质量评估,缺陷预防等方面。我们根据测试需求、测试计划,对测试过程中每个状态进行记录、跟踪和管理,并提供相关的分析和统计功能,生成和打印各种分析统

30、计报表。通过对详细记录的分析,形成较为完整的软件测试管理文档,保障软件在开发过程中,避免同样的错误再次发生,从而提高软件开发质量6。在软件系统的开发过程中,为系统建模好比为一个建筑描绘一张蓝图同样重要。UML(Unified Modeling Language,统一建模语言)是一种用于面向对象和基于构件的、系统建模的、定义明确的、被广泛接受的可视化建模语言。现在已经成为了软件分析与设计建模的标准,应用越来越广泛7 8。尽管它常常与建模OO软件系统相关联,但由于其内建了大量扩展机制,还可以应用于更多的领域中,如商业建模、需求管理、分析和设计、编程和测试等。UML的发展方向是简化和巩固大量已经存在

31、的面向对象的建模方法,UML定义了九种图,这些图被用来建立系统的静态(结构)和动态(行为)模型。结构图包括类图(Class Diagram)、对象图(Object Diagram)、构件图(Component Diagram)和配置图(Deployment),用于描述建立系统模型时在问题域中遇到的主要事物。行为图包括用例图(UseCase Diagram)、状态图(Statechart Diagram)、活动图(Activity Diagram)、顺序图(Sequence Diagram)和合作图(Collaboration Diagram),用于描述建立系统的动态模型。基于此,本系统的研究内

32、容:通过对软件缺陷的概念、属性、特征的认识,明确了软件缺陷管理系统的目标,分析了缺陷管理的工作流程、系统角色的权限,设计并实现了一个可对提交的缺陷进行跟踪、管理、统计和分析的软件缺陷管理系统;利用软件缺陷管理系统产生的各种缺陷数据分析报告,发现软件开发过程中的问题,并为过程改进和项目管理提供依据。1.3 本文主要工作在此次的毕业设计中,本人深入了解缺陷信息所应包含的内容,利用UML统一建模语言详细分析了基于四种角色权限的系统流程,并以此来设计数据库、选择并布局页面内容,完成系统目标:实现缺陷收集、缺陷跟踪。本文共分为五章。第一章:介绍课题研究背景,陈述了课题研究内容,并说明了作者在本课题的研究

33、开发中所完成的工作。第二章:介绍开发所依据的理论根据、方法和技术,包括软件缺陷管理的目标,软件缺陷管理的要素,软件缺陷管理的流程。第三章:在系统需求分析的基础上,详细阐述了系统总体设计、功能设计、数据库设计等等。第四章:按角色对系统平台框架、服务及接口的实现进行详细的阐述。第五章:对所作的工作进行了简要的总结。最后包括致谢和参考文献。1.4 小结本章主要介绍了开发软件缺陷管理系统的目的和意义,对国内外的研究现状进行了分析,并说明了具体的研究内容与方法。第二章 软件缺陷管理综述2.1 软件缺陷管理的目标缺陷(defect)是指程序中或文档中存在各种不希望出现的问题。如语法错误、拼写错误、标点错误

34、,或者是一个不正确的、冗余的程序语句或有缺陷的程序段等,缺陷可能出现在程序中、设计中,甚至出现在需求规格说明或其他文档中。事实上,缺陷是任何可以影响到程序完整而有效地满足用户要求的东西。缺陷不仅影响用户使用,而且是超支和延期的主要原因,对系统造成或大或小的影响。但缺陷是客观存在,可以被标志、描述和统计9。软件缺陷管理就是在开发中对发现的缺陷进行跟踪并确保每个被发现的缺陷被关闭。从某种意义上说,软件项目管理过程可以看作是软件产品的缺陷管理过程,软件过程的目的是避免将缺陷引入软件产品或将已产生的缺陷识别出来,并将其排除。软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的

35、缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下目标10:确保每个被发现的缺陷都能够被解决。这里解决的意思不一定是被修正,也可能是其他处理方式(例如,在下一个版本中修正或是不修正)。总之,对每个被发现的缺陷的处理方式必须能够在开发组织中达成一致。收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段。决定测试过程是否结束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。收集缺陷数据并在其上进行数据分析,作为组织的过程财富。上述的第一条是最受到重视的一点,在谈到缺陷跟

36、踪管理时,一般人都会马上想到这一条,然而对第二和第三条目标却很容易忽视。其实,在一个运行良好的组织中,缺陷数据的收集和分析是很重要的,从缺陷数据中可以得到很多与软件质量相关的数据。2.2 软件缺陷管理的要素软件缺陷管理一般包括两个方面:1、缺陷信息的收集与跟踪,2、缺陷信息的统计与分析。2.2.1 缺陷收集与跟踪完整的软件缺陷信息是辅助缺陷修复、缺陷信息处理、分析和利用的前提和基础,也是对缺陷进行跟踪必不可少的步骤。因为,通常一个项目的缺陷整体跟踪,就是缺陷的实时状态报告。也就是说,缺陷的跟踪是了解缺陷所在其生命周期的状态。通过了解缺陷的实时状态,对测试过程、项目进展的控制和管理都有很大帮助,

37、可以督促开发人员尽快修正缺陷,调整测试或开发计划。一般情况下,缺陷信息应该包含以下内容11 12 13:缺陷标识:为了便于对缺陷的管理,每个缺陷赋予一个唯一性的编号,编号规则可根据需要和管理要求制定。缺陷所在的产品或项目:如果一个测试团队同时负责多个产品或项目的测试,并且使用同一个缺陷数据库来存放缺陷记录,那么就应当注明这个缺陷出现在哪一个产品或项目中。发现缺陷的版本:即使正在测试的是某个软件的第一个发布版本,也应当注明它的版本。功能或模块:如果希望随时都能查询到某个功能或者模块一共发现了多少缺陷,哪些已经被解决并确认通过,或者希望使用功能或模块作为条件进行更加复杂的分析,那么应该填写这一项。

38、缺陷的类型:根据缺陷的自然属性划分的种类,如表2-1所示:表2-1 软件缺陷类型列表缺陷类型描 述功能影响了各种系统功能、逻辑的缺陷用户界面影响了用户界面、人际交互特性,包括屏幕格式、用户输入灵活性、结果输出格式等方面的缺陷文档影响发布和维护,包括注释、用户手册、设计文档软件包由于软件配置库、变更管理或版本控制引起的错误性能不满足系统可测量的属性值,如执行时间、事务处理速率等系统/模块接口与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表等不匹配、冲突严重程度:缺陷的严重程度用来描述出现的缺陷对系统的影响,通常不同的系统或团队对于严重程度的定义是不同的。如表2-2所示:表2-2 软件缺

39、陷严重程度列表缺陷严重程度描 述致命(Fatal)将导致产品失去价值,例如在财务软件中对于数据计算中准确性问题严重(Critical)将严重影响用户的工作,例如缺陷导致业务流程中断,用户的工作无法继续进行下去一般(General)导致用户感觉使用不方便,影响用户满意度,例如一些不影响系统主要业务流程进行的缺陷、提示错误信息等建议(Suggest)对于系统中设计思路或具体实现的不同看法,如果采纳,有可能会提升用户的满意度或产品的价值,但是现有做法也不影响用户的日常工作优先级:缺陷的优先级用来描述某个缺陷应当被赋予的关注程度。如表2-3所示:表2-3 软件缺陷优先级列表缺陷优先级描 述立即解决(E

40、mergency)缺陷导致系统几乎不能使用或测试不能继续,需要立即修复高优先级(High)缺陷严重,影响测试,需要有限考虑正常排队(Normal)缺陷需要正常排队等待修复低优先级(Low)缺陷可以在开发人员有时间的时候被修复对于缺陷优先级的确定并不是一件容易的事情,缺陷的严重程度是一个参考值,但同时还要综合考虑项目当前的完成进度、解决缺陷的难度、解决缺陷的成本等多方面的因素。所以,通常这一项是由项目经理来负责填写的。缺陷的状态:每条缺陷记录都应当有一个状态,用来表明这条缺陷记录当前的处理情况:是否已经指定了一个负责人?是否已经解决?是否已经通过了测试人员的回归测试确认?如表2-4所示:表2-4

41、 软件缺陷状态列表缺陷状态描 述提交(Submit)问题还没有解决,确认“提交的缺陷”,等待处理打开(Open)通过审核,确认为一个缺陷已处理(Fixed)已被开发人员检查、修复过的缺陷,认为已解决但还未通过审核结束(Close)确认缺陷不存在之后的状态发生冲突(Conflict)开发人员不认为是一个缺陷,与测试人员发生冲突的状态重新打开(Reopen)经审核验证后,仍存在的缺陷,等待开发人员修复缺陷起源:缺陷引起的故障或事件第一次被检测到的阶段,如表2-5所示:表2-5 软件缺陷起源列表缺陷起源描 述需求在需求阶段发现的缺陷构架在系统构架设计阶段发现的缺陷设计在程序设计阶段发现的缺陷编码在编

42、码阶段发现的缺陷测试在测试阶段发现的缺陷用户在用户使用阶段发现的缺陷缺陷的影响:如果不修复此缺陷会给软件带来哪方面的影响,如:标准、安全性、可靠性、易用性等。缺陷的提交者和提交日期:缺陷的提交者并不仅仅是测试人员,在实际工作中,所有参与项目或者会受到项目影响的人都可以提交自己发现的缺陷。例如行业专家、实施人员、客户服务人员,甚至开发人员、需求人员都可以提交自己发现的缺陷。被指定的缺陷负责人:每一条缺陷记录都应当指定一个负责人,并由其来负责解决这个缺陷。缺陷负责人需要根据缺陷的来源和具体的缺陷信息来选择。附件:一张清晰的屏幕截图可以帮助缺陷提交者更好的表达出自己的意思,也可以帮助开发人员找到一些

43、没有被包含进缺陷记录的文字内容中的(可能是测试人员漏掉的)信息。另外,在测试过程中参考或引用了外部文件,那么还应当注明访问这些外部文件的有效路径。2.2.2 缺陷统计与分析随着缺陷数据库中所收集的缺陷信息不断增多,软件组织的成员可以基于数据库中的缺陷信息进行缺陷数据分析,确定测试是否达到结束的标准,也就是判定测试是否已达到用户可接受的状态。通过分析缺陷数据的趋势,评估软件质量和测试过程的效率。在评估缺陷时应遵照缺陷分析策略中指定的分析标准,最常用的缺陷分析方法有四种:缺陷分布报告:允许将缺陷计数作为一个或多个缺陷参数的函数来表示,生成缺陷数量与缺陷属性的函数。如测试需求和缺陷状态、严重性的分布

44、情况等。缺陷趋势报告:按各种状态将缺陷计数作为时间的函数显示。趋势报告可以是累计的,也可以是非累计的,可以看出缺陷增长和减少的趋势。缺陷年龄报告:是一种特殊类型的缺陷分部报告,显示缺陷处于“打开”状态的时间,展示一个缺陷处于某种状态的时间长短,从而了解处理这些缺陷的进度情况。测试结果进度报告:展示测试过程在被测应用的几个版本中的执行结果以及测试周期,显示对应用程序进行若干次迭代和测试生命周期后的测试过程执行结果。下面是几个对缺陷信息分析和利用的例子14:1新发现缺陷的分布曲线。根据缺陷提交日期对发现的缺陷进行分析,可以看出一个阶段内新发现缺陷的分布趋势。如果曲线在最近一段时间内呈持续的平稳下降

45、趋势,那么说明软件正在逐渐趋于稳定;而如果在项目期限将至,这条曲线还呈现出很大幅度的波动并维持在一个较高的水平上,那么就要考虑一下是否推迟产品的发布,多花些时间来寻找原因。如图2-1所示:图2-1 缺陷的分布曲线2可以通过使用缺陷来源和功能模块两个字段,对发现的缺陷进行汇总,来分析在不同的开发阶段,每个功能或模块交付的工件的质量情况,例如相应功能模块发现的缺陷数量是否同该功能模块的业务复杂度成正比?相应工作阶段中发现的缺陷数量是否同该工作阶段的工作量成正比?同时,这个表可以作为各模块具体负责人工作质量的评估依据,也可以作为确定下一步过程改进重点的参考。如表2-6所示:表2-6 对发现的缺陷进行

46、汇总模块1模块2模块3模块4模块5模块6合计需求阶段50113010设计阶段051520022实现阶段213010157588售后阶段1022005合计(单位:个)273528201080当然,还可以根据在实际工作中产生的管理需求,利用缺陷提交人、缺陷负责人、缺陷状态、严重程度、优先级、解决方案等属性互相组合出表现形式更多样、内容更复杂的报表。例如,可以根据缺陷负责人来对不同状态的缺陷进行汇总,以便观察当前每个缺陷负责人对自己负责的缺陷的修复进度。3将那些目前尚未解决的缺陷的提交日期同当前日期进行比较,对于缺少正当理由而长期未得到解决的缺陷,应当限期给出解决方案。同样,也可以查询出超过预计延迟期限但仍未解决的“已延期”缺陷,要求缺陷负责人尽快给出解决方案。这两项数据可以作为评价当前工作进度的参考信息。4将某个时间段内(或其他范围)的缺陷按照解决方案进行汇总,如果发现“与其他缺陷重复”的比例较高,则应该在接下来的工作中注意代码重用的安全性,并检查是否存在“版本退化”的情况。如果“属于设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号