《浅述软件测试缺陷跟踪管理》由会员分享,可在线阅读,更多相关《浅述软件测试缺陷跟踪管理(7页珍藏版)》请在金锄头文库上搜索。
1、XXXX 大学研究生课程论文报告1课程名称: 软件测试技术 课程编号:SZ0051F08 课程类型: 学位课、非学位课 考核方式: 考试、考查学科专业: 计算机技术 年 级: 2012 级研一 姓 名: XXX 学 号: XXXXXX 河北工程大学 20122013 学年第二学期研究生课程论文报告成 绩评阅教师签名评阅日期课程论文评语:年 月 日XXXX 大学研究生课程论文报告2浅述软件测试缺陷跟踪管理XXX(计算机技术 XXXXXXX)摘 要:本文阐述了软件缺陷的基本概念,缺陷跟踪管理的意义,并对传统的缺陷跟踪技术和目前缺陷跟踪管理工具使用的技术进行比较。在软件测试过程中使用缺陷跟踪管理技术
2、可以使软件开发过程中各阶段所产生的缺陷都能得到有效管理,并能支持各个阶段、不同人员之间的协同工作,使软件测试更加有效,可以尽旱发发现缺陷,减少后期维护工作的工作量,降低软件开发与运行的成本。关键词:软件测试;缺陷;缺陷跟踪管理Abstract:This paper studies the basic concepts of software bug, the significance of bug tracking management, and compares the traditional bug tracking technology with the bug tracking man
3、agement tools used at present. Using the bug tracking in the process of software testing can make the bugs be effectively generated in different stages of software development process, and can support all stages, between different people work together, make the software testing more effective, can f
4、ind bugs as soon as possible, reduce the maintenance workload, reduce the cost of software development and operation.Keywords: software testing;bug ;bug-tracing management1 引言缺陷存在于软件生命周期的各个阶段,并且某个阶段产生的缺陷可能是由于上一阶段的工作失误所造成的,因此,在整个软件开发过程中对缺陷进行跟踪管理是十分必要的,缺陷跟踪管理是提高软件测试工作效率的重要手段。如果能使用设计良好的工具对缺陷进行跟踪管理,不仅可以
5、规范团队的工作流程,使其以缺陷为核心,记录和控制软件的进展情况,把握产品质量,而且可以有效地跟踪项目的状态,简化和加速变更请求的协调过程,从而提高工作效率。2 软件缺陷的基本概念软件缺陷是发生在软件中的会导致软件产生质量问题的不被接受的偏差。根据传统的定义,只要符合下面五种情况中的一种,我们就可以称其为软件缺陷。这五种情况是 1:软件未达到软件规格说明书中规定的功能;软件超出了软件规格说明书中指明的范围;软件未达到软件规格说明书中应达到的目标;软件运行出现错误;软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。缺陷类型可以分成五种,即输入输出缺陷,逻辑缺陷,
6、计算缺陷,接口缺陷和数据缺陷。3 缺陷跟踪管理的意义测试的最终目的是发现软件中存在的缺陷,但是软件缺陷被发现后,最困难的往往不是如何去记录,缺陷的解决和跟踪是测试过程中最难以控制和解决的。对缺陷进行跟踪管理就可以确保每个被发现的缺陷能够被及时的处理,也就保证了测试工作的有效性。没有进行缺陷跟踪管理,软件开发过程中就很容易出现下列问题 2:对测试中发现的问题,随手记录或依靠记忆的方式来记录,能记录的数量有限,并且常常会被遗忘:XXXX 大学研究生课程论文报告3测试过程中发现的缺陷需要反馈给开发人员进行修改,没用详细的跟踪记录很难保证缺陷全部被解决;缺乏记录缺陷状态的文档,对于开发人员不知道修改后
7、的程序是否通过测试,而对于测试人员也不知道缺陷是否已经被修改,需不需要再进行测试;没有直观的图表,项目管理人员不能够及时了解测试工作的进展,影响整个项目的进展;软件提交的测试报告缺乏过程性的文件,用户不确定软件的质量,一旦使用中出现问题,测试人员和开发人员的责任很难划分;没有相关缺陷记录,团队研发的经验教训得不到继承,在开发的过程中就会重复同样的错误。当这些问题频繁的出现在开发过程中后,项目管理过程中就引入了缺陷跟踪管理来解决这些问题。4 传统的缺陷跟踪技术传统的缺陷跟踪是使用 Word、Excel 类型的文档工具进行管理。测试人员在 需求分析阶段首先将软件的需求规格说明书中的需求分解测试的需
8、求,然后按照测试的需求编写测试用例,用例形式多为表单,如表 1 所示 3:表 1 测试用例表功能描述用例目的前提条件输入/动作 期望的输出/响应 实际情况典型值边界值异常值测试用例编写完成后,测试过程中,测试人员只需按照测试用例中的测试步 骤进行,然后填写实际的情况完成表单,测试人员可以将完成的表单提交给开发人员,虽然这种方法将缺陷进行了文档化的记录,实施起来也比较简单,但是这种方法管理缺陷的效率不高,在复杂的测试过程里频繁的交互和人员的交叉常会带来如下问题:测试人员发现缺陷后,由于各种原因没有及时提交 Word、Excel 文件,导致缺陷被遗忘;为保证文件的唯一性,一份表单文件不允许多人同时
9、进行修改;对于多次的测试结果,Word、Excel 文档不能详细的记录,缺乏对缺陷修改过程的跟踪;对于地域分散的开发团队,通过文档交流,相关人员很难及时获得最新变更信息,也容易造成文档中记录的缺陷状态的混乱;测试人员最终提交给用户的测试报告需要整理大量的 Word、Excel 文件。 5 缺陷跟踪管理工具为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统,使用该系统可以加强软件测试过程中人员的沟通和协作,提高管理层监控、管理的透明度,加快软件缺陷的处理进程。一个完善有效的缺陷跟踪管理工具是软件质量控制的基础,对于测试的成功实施是非常重要的。
10、缺陷跟踪管理工具可以对产品在整个开发周期内产生的缺陷和变更请求进行管理,完成对缺陷报告的记录、分析和状态更新等管理,同时可以规范项目中开发、测试、缺陷处理的流程。简化了地域XXXX 大学研究生课程论文报告4分散的团队信息共享流程,实现工作流程的自动化,最大限度减少重复劳动缺陷跟踪管理工具在保证缺陷文件的唯一性的前提下,允许多人同时修改不同的缺陷状态或内容,并且通过对文档查看都能够及时直观地了解到文档修改的情况。通过使用缺陷跟踪管理工具,项目组的开发人员、测试人员可以很容易地跟踪到那些应该由他们负责的缺陷,随时掌握缺陷的提交、解决到关闭的整个过程,不必担心遗漏某个缺陷的变化信息。项目管理人员可以
11、通过中心数据库方便及时获取正确、足够的信息,掌握整个测试工作的计划和进度。另外,这一类的工具还可以制作各种缺陷分析图表,从而预测项目风险或解释测试结果,更加准确地度量项目的开发质量。目前在世界上较有名的商业缺陷跟踪管理软件有 Mercury InterActive 公司的 TestDirector、Mozilla 公司的 Bugzilla、IBMRational 公司的 ClearQuest 以及微创公司的 BMS 软件等。这些系统可以与需求管理、自动化测试工具、测试管理工具进行集成,同时也具有定制工作流和输入域以及电子邮件通知等功能,根据项目的流程和企业的特点选用这些软件可以大大提高缺陷报告
12、和跟踪过程的自动化。无论采用哪种工具,应该具备以下几种基本功能 2:支持流程自定义每个公司的开发和测试流程都不尽相同,使用管理软件后可以规范组织的工作流程,使得工作流程更加科学化、正规化,同时流程的改变也会提高项目组的工作效率,但是每个组织的项目不同,人员数量不同,地域不同,生搬硬套所谓的科学规范的流程只会带来负面的结果,缺陷管理软件的流程自定义可以帮助项目开发组织解决这一问题,使得软件企业能够真正的提高工作的效率和工作的质量。严格的用户权限分级管理开发人员、测试人员、测试经理、项目经理等都是组织中的不同级别的角色,他们工作内容的不同决定了在使用各类资源的权限上的不同,缺陷管理软件对测试过程中
13、的人员进行了严格的缺陷划分,通常是将各类人员进行用户组的划分,管理员可以对这些用户组赋予不同的缺陷,例如开发组有查看缺陷详细内容的缺陷,有修改缺陷状态的缺陷的权限。但是不能够对系统中缺陷的记录进行删除。用户组的权限定义好以后,管理员就可以将实际工作中的人员划分到不同的用户组,这样管理员就不必在对单个的人员进行权限的管理,提高了人员的管理效率。缺陷具有可跟踪的信息为了跟踪记录的缺陷,在管理软件中缺陷被增加了一些可跟踪的信息,例如 ID、标题、状态、严重程度、优先级、修改人、修改时间等,这些信息的加入使得缺陷的状态随时都能被查看被了解。将缺陷按照严重程度进行划分对缺陷严重程度的划分,为缺陷的修改时
14、间提供了依据,通常被划分为以下几种情况:“致命” 指系统无法运行或可能存在灾难性的后果,例如系统崩溃。“严重” 指产生错误的结果,导致系统或数据库运行的不稳定,需求分析中为实现的功能。“一般” 指不正确的但不影响系统稳定性的错误。例如计算结果错误,数据类型、长度错误。“轻微” 指不正确的但系统使用不方便的错误,例如界面标题不一致,提示语不明确,不正确的大小写。“建议” 指对有疑虑或需要改进的提出的修改建议,例如界面风格,界面颜色等。缺陷在系统中有完整的生命周期New:指测试人员提交的一个新的缺陷,等待测试组长或经理进行确认。Open:新的缺陷被确认后的状态。Fixing:开发人员将属于自己修改
15、的缺陷状态设置为 Fixing 后,表明正在修改。Fixed:开发人员修改完成后的状态,此时测试人员可以对已修改的缺陷进行回归测试。Reopen:测试人员进行回归测试后,发现问题仍然存在,可以将缺陷的状态设置为 Reopen。XXXX 大学研究生课程论文报告5Rejected:开发人员拒绝修改缺陷可以将缺陷的状态设置为 Rejected,但此时开发人员需要填写拒绝修改的原因。Closed:缺陷已经解决,测试人员将其状态设置为 Closed。每一种状态都指明了缺陷在解决过程中的各种情况和对项目的影响,对于每个缺陷来说,必然要经历这些状态的转变,对于缺陷生命周期的处理流程如图 1 所示:缺陷确认缺
16、陷被激活已解决缺陷回归测试延迟缺陷新的缺陷 ( N e w )拒绝修改 ( R e j e c t e d )打开缺陷 ( O p e n )缺陷修改 ( F i x i n g )再打开 ( R e o p e n )缺陷关闭 ( C l o s e )图 1 缺陷生命周期支持异地用户使用现在越来越多的开发团队面临着跨地域的管理,缺陷管理软件构架一般采用的都是 B/S 结构,服务器安装在 Web 服务器上,不同区域的开发团队通过 Intemet 就可以轻松实现协作和沟通,加速了信息的传递,加快了缺陷处理的过程。图表定制功能这类的缺陷管理软件可以自动生成缺陷一览表、测试结果汇总表等各种分析统计图表,项目管理人员可以根据这些图表进行分析和判断,安排测试工作,解决缺陷处理中的问题,同时测试人员也不必花费大量的时间进行文档的整理,统一的文档格式多种图表形式可以满足不同用户的需要。可与其他工