浅述软件测试缺陷跟踪管理.doc_第1页
浅述软件测试缺陷跟踪管理.doc_第2页
浅述软件测试缺陷跟踪管理.doc_第3页
浅述软件测试缺陷跟踪管理.doc_第4页
浅述软件测试缺陷跟踪管理.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXX大学研究生课程论文报告课程名称: 软件测试技术 课程编号:SZ0051F08课程类型: 学位课、非学位课 考核方式: 考试、考查学科专业: 计算机技术 年 级: 2012级研一 姓 名: XXX 学 号: XXXXXX 河北工程大学20122013学年第二学期研究生课程论文报告课程论文评语:成 绩评阅教师签名评阅日期 年 月 日浅述软件测试缺陷跟踪管理XXX(计算机技术 XXXXXXX)摘 要:本文阐述了软件缺陷的基本概念,缺陷跟踪管理的意义,并对传统的缺陷跟踪技术和目前缺陷跟踪管理工具使用的技术进行比较。在软件测试过程中使用缺陷跟踪管理技术可以使软件开发过程中各阶段所产生的缺陷都能得到有效管理,并能支持各个阶段、不同人员之间的协同工作,使软件测试更加有效,可以尽旱发发现缺陷,减少后期维护工作的工作量,降低软件开发与运行的成本。关键词:软件测试;缺陷;缺陷跟踪管理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 management 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 find bugs as soon as possible, reduce the maintenance workload, reduce the cost of software development and operation.Keywords: software testing;bug ;bug-tracing management1 引言缺陷存在于软件生命周期的各个阶段,并且某个阶段产生的缺陷可能是由于上一阶段的工作失误所造成的,因此,在整个软件开发过程中对缺陷进行跟踪管理是十分必要的,缺陷跟踪管理是提高软件测试工作效率的重要手段。如果能使用设计良好的工具对缺陷进行跟踪管理,不仅可以规范团队的工作流程,使其以缺陷为核心,记录和控制软件的进展情况,把握产品质量,而且可以有效地跟踪项目的状态,简化和加速变更请求的协调过程,从而提高工作效率。2 软件缺陷的基本概念软件缺陷是发生在软件中的会导致软件产生质量问题的不被接受的偏差。根据传统的定义,只要符合下面五种情况中的一种,我们就可以称其为软件缺陷。这五种情况是1:软件未达到软件规格说明书中规定的功能;软件超出了软件规格说明书中指明的范围;软件未达到软件规格说明书中应达到的目标;软件运行出现错误;软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。缺陷类型可以分成五种,即输入输出缺陷,逻辑缺陷,计算缺陷,接口缺陷和数据缺陷。3 缺陷跟踪管理的意义测试的最终目的是发现软件中存在的缺陷,但是软件缺陷被发现后,最困难的往往不是如何去记录,缺陷的解决和跟踪是测试过程中最难以控制和解决的。对缺陷进行跟踪管理就可以确保每个被发现的缺陷能够被及时的处理,也就保证了测试工作的有效性。没有进行缺陷跟踪管理,软件开发过程中就很容易出现下列问题2:对测试中发现的问题,随手记录或依靠记忆的方式来记录,能记录的数量有限,并且常常会被遗忘:测试过程中发现的缺陷需要反馈给开发人员进行修改,没用详细的跟踪记录很难保证缺陷全部被解决;缺乏记录缺陷状态的文档,对于开发人员不知道修改后的程序是否通过测试,而对于测试人员也不知道缺陷是否已经被修改,需不需要再进行测试;没有直观的图表,项目管理人员不能够及时了解测试工作的进展,影响整个项目的进展;软件提交的测试报告缺乏过程性的文件,用户不确定软件的质量,一旦使用中出现问题,测试人员和开发人员的责任很难划分;没有相关缺陷记录,团队研发的经验教训得不到继承,在开发的过程中就会重复同样的错误。当这些问题频繁的出现在开发过程中后,项目管理过程中就引入了缺陷跟踪管理来解决这些问题。4 传统的缺陷跟踪技术传统的缺陷跟踪是使用Word、Excel类型的文档工具进行管理。测试人员在 需求分析阶段首先将软件的需求规格说明书中的需求分解测试的需求,然后按照测试的需求编写测试用例,用例形式多为表单,如表1所示3:表1 测试用例表功能描述用例目的前提条件输入/动作期望的输出/响应实际情况典型值边界值异常值测试用例编写完成后,测试过程中,测试人员只需按照测试用例中的测试步 骤进行,然后填写实际的情况完成表单,测试人员可以将完成的表单提交给开发人员,虽然这种方法将缺陷进行了文档化的记录,实施起来也比较简单,但是这种方法管理缺陷的效率不高,在复杂的测试过程里频繁的交互和人员的交叉常会带来如下问题:测试人员发现缺陷后,由于各种原因没有及时提交Word、Excel文件,导致缺陷被遗忘;为保证文件的唯一性,一份表单文件不允许多人同时进行修改;对于多次的测试结果,Word、Excel文档不能详细的记录,缺乏对缺陷修改过程的跟踪;对于地域分散的开发团队,通过文档交流,相关人员很难及时获得最新变更信息,也容易造成文档中记录的缺陷状态的混乱;测试人员最终提交给用户的测试报告需要整理大量的Word、Excel文件。 5 缺陷跟踪管理工具为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统,使用该系统可以加强软件测试过程中人员的沟通和协作,提高管理层监控、管理的透明度,加快软件缺陷的处理进程。一个完善有效的缺陷跟踪管理工具是软件质量控制的基础,对于测试的成功实施是非常重要的。缺陷跟踪管理工具可以对产品在整个开发周期内产生的缺陷和变更请求进行管理,完成对缺陷报告的记录、分析和状态更新等管理,同时可以规范项目中开发、测试、缺陷处理的流程。简化了地域分散的团队信息共享流程,实现工作流程的自动化,最大限度减少重复劳动缺陷跟踪管理工具在保证缺陷文件的唯一性的前提下,允许多人同时修改不同的缺陷状态或内容,并且通过对文档查看都能够及时直观地了解到文档修改的情况。通过使用缺陷跟踪管理工具,项目组的开发人员、测试人员可以很容易地跟踪到那些应该由他们负责的缺陷,随时掌握缺陷的提交、解决到关闭的整个过程,不必担心遗漏某个缺陷的变化信息。项目管理人员可以通过中心数据库方便及时获取正确、足够的信息,掌握整个测试工作的计划和进度。另外,这一类的工具还可以制作各种缺陷分析图表,从而预测项目风险或解释测试结果,更加准确地度量项目的开发质量。目前在世界上较有名的商业缺陷跟踪管理软件有Mercury InterActive公司的 TestDirector、Mozilla公司的Bugzilla、IBMRational公司的ClearQuest以及微创公司的BMS软件等。这些系统可以与需求管理、自动化测试工具、测试管理工具进行集成,同时也具有定制工作流和输入域以及电子邮件通知等功能,根据项目的流程和企业的特点选用这些软件可以大大提高缺陷报告和跟踪过程的自动化。无论采用哪种工具,应该具备以下几种基本功能2:支持流程自定义每个公司的开发和测试流程都不尽相同,使用管理软件后可以规范组织的工作流程,使得工作流程更加科学化、正规化,同时流程的改变也会提高项目组的工作效率,但是每个组织的项目不同,人员数量不同,地域不同,生搬硬套所谓的科学规范的流程只会带来负面的结果,缺陷管理软件的流程自定义可以帮助项目开发组织解决这一问题,使得软件企业能够真正的提高工作的效率和工作的质量。严格的用户权限分级管理开发人员、测试人员、测试经理、项目经理等都是组织中的不同级别的角色,他们工作内容的不同决定了在使用各类资源的权限上的不同,缺陷管理软件对测试过程中的人员进行了严格的缺陷划分,通常是将各类人员进行用户组的划分,管理员可以对这些用户组赋予不同的缺陷,例如开发组有查看缺陷详细内容的缺陷,有修改缺陷状态的缺陷的权限。但是不能够对系统中缺陷的记录进行删除。用户组的权限定义好以后,管理员就可以将实际工作中的人员划分到不同的用户组,这样管理员就不必在对单个的人员进行权限的管理,提高了人员的管理效率。缺陷具有可跟踪的信息为了跟踪记录的缺陷,在管理软件中缺陷被增加了一些可跟踪的信息,例如ID、标题、状态、严重程度、优先级、修改人、修改时间等,这些信息的加入使得缺陷的状态随时都能被查看被了解。将缺陷按照严重程度进行划分对缺陷严重程度的划分,为缺陷的修改时间提供了依据,通常被划分为以下几种情况:“致命” 指系统无法运行或可能存在灾难性的后果,例如系统崩溃。“严重” 指产生错误的结果,导致系统或数据库运行的不稳定,需求分析中为实现的功能。“一般” 指不正确的但不影响系统稳定性的错误。例如计算结果错误,数据类型、长度错误。“轻微” 指不正确的但系统使用不方便的错误,例如界面标题不一致,提示语不明确,不正确的大小写。“建议” 指对有疑虑或需要改进的提出的修改建议,例如界面风格,界面颜色等。缺陷在系统中有完整的生命周期New:指测试人员提交的一个新的缺陷,等待测试组长或经理进行确认。Open:新的缺陷被确认后的状态。Fixing:开发人员将属于自己修改的缺陷状态设置为Fixing后,表明正在修改。Fixed:开发人员修改完成后的状态,此时测试人员可以对已修改的缺陷进行回归测试。Reopen:测试人员进行回归测试后,发现问题仍然存在,可以将缺陷的状态设置为Reopen。Rejected:开发人员拒绝修改缺陷可以将缺陷的状态设置为Rejected,但此时开发人员需要填写拒绝修改的原因。Closed:缺陷已经解决,测试人员将其状态设置为Closed。每一种状态都指明了缺陷在解决过程中的各种情况和对项目的影响,对于每个缺陷来说,必然要经历这些状态的转变,对于缺陷生命周期的处理流程如图1所示:图1 缺陷生命周期支持异地用户使用现在越来越多的开发团队面临着跨地域的管理,缺陷管理软件构架一般采用的都是B/S结构,服务器安装在Web服务器上,不同区域的开发团队通过Intemet 就可以轻松实现协作和沟通,加速了信息的传递,加快了缺陷处理的过程。图表定制功能这类的缺陷管理软件可以自动生成缺陷一览表、测试结果汇总表等各种分析统计图表,项目管理人员可以根据这些图表进行分析和判断,安排测试工作,解决缺陷处理中的问题,同时测试人员也不必花费大量的时间进行文档的整理,统一的文档格式多种图表形式可以满足不同用户的需要。可与其他工具集成 。不同的软件组织或多或少的都会使用一些自动化软件,缺陷管理工具提供了与这些软件的集成,例如与配置管理软件的集成,与负载测试工具的集成。这些软件的配合使用方便了测试人员的使用,充分利用了各种资源。6 缺陷跟踪管理流程缺陷管理和改错流程可参见图2,具体实施必须使用开发小组指定的缺陷管理工具。该工具将记录所有缺陷的状态信息,并可以自动产生缺陷管理报告。一切测试工作都应有计划有步骤地进行,尽可能早地进行管理,并尽可能多的发现bug,保证测试工作得顺利进行。图2 缺陷管理与改错流程流程中的角色:测试人员:进行测试的人员,缺陷的发起者;测试组长:缺陷的管理者;项目经理:对整个项目负责,对产品质量负责的人员;开发人员:执行开发任务的人员,完成缺陷的修改;评审委员会:对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力。缺陷管理中可跟踪的信息为:缺陷ID、缺陷状态、缺陷标题、缺陷的严重程度、缺陷的优先级、缺陷提交人、缺陷提交时间、缺陷所属项目/模块、缺陷指定解决人、缺陷指定解决时间、缺陷处理结果描述、缺陷处理时间、缺陷的详细描述、测试环境说明、必要的附件。异议管理如果测试人员将bug提交给某个开发人员时,这个开发人员不承认是自己的错,让测试人员找另一人,测试人员找到另一人后,又被否认是自己的错,又让测试人员找第三人,当这种踢皮球的现象出现时,测试人员也不能确定是谁的错,可能这个错误确实是几个人共同的错,此时测试人员不能将bug提交出去,可以直接找开发组负责人或项目经理,让他们分析bug原因,然后再分配,这样被分配的开发人员就没有理由再拒绝。这样踢皮球的时间一长,就耽误了缺陷修复的时间,还让测试人员和开发人员之间的关系出现不融洽,只有找到更高级的领导定夺才能让责任到人,确保项目的顺利进行。从管理这个层次上讲,一旦bug被发现后,最困难的并不是如何去记录,分派人员去解决,并予以追踪,最困难的是决定对某些bug推迟解决,甚至不予解决。这样的bug往往是在产品开发的中后期发现的,而且是由于最初架构设计的缺陷所造成的,解决这样的bug需要大量的人力和时间,影响面大,可能会引入新的bug。对于这样的bug,项目经理要与客户端的其他部门和人员联系,比如市场部门,技术支持部门,甚至于早期介入的客户。如果从他们的反馈中,确认这种bug对决大多数客户和决大多数的使用者没有影响,就要果断决定推迟,或不予解决。对于这些已决定推迟,或不予解决的bug,还有一些后续工作非常重要。首先要详细的记录,以便在下一个版本中解决;其次要让有关技术支持人员深刻理解,准备应对方案。需求变更管理当有些bug发现后,发现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论