软件缺陷管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件缺陷管理
————————————————————————————————作者:————————————————————————————————日期:
软件缺陷管理
1.什么是缺陷管理
世间万物都有着自己的生命历程,任何产品在生产过程中,从一开始创建它的过程中,产品缺陷就会逐惭产生,并可能缺陷数量越来越多,若在产品生命周期过程中不建立缺陷检测制度,对已发现的缺陷不采取有效的控制措施,最终可能导致产品无法具有相应的使用功能,产品生命周期就会提前结束,产品的生产是失败的.因此,必须建立一套完整的产品缺陷管理制度,针对具体的产品生产特征制定相应的缺陷检测、缺陷签定、缺陷处理、缺陷验收等一系列技术措施,不断的避免或纠正产品缺陷,使终使产品在其生命周期中处于可控状态。
2.缺陷管理的过程及方法
2.1缺陷的检测:由检测人员在产品的生产加工过程中,按照本行业的质量要求及检测手段随时对产品的全部或某项设计功能进行检查,如果不能达到设计要求(可能要求在某一范围内可认为是合格的),则认定这一环节存在缺陷,缺陷生命周期开始。
2.2 缺陷的签定:对部份产品的缺陷,由于检测人员还不能确定缺陷的全部相关信息,这时就应该组织缺陷的签定,通过采用专家评审、使用先进技术手段或设备等,得到缺陷的全部信息,为缺陷处理提供原始数据。
2.3缺陷的处理:生产人员从测试人员处得到缺陷信息后,就应根据缺陷所列内容结合产品的生产过程,检查缺陷可能出现在哪一个环节,应作如何改正,避免类似缺陷再度出现。已出现测试人员提出的缺陷的产品可否采用一定的方法可予纠正,并落实这些处理措施到生产过程中。
2.4缺陷的验收:生产人员将测试人员提现的缺陷处理完毕后,又反馈信息给测试人员,报告缺陷的处理情况,并请缺陷复测。测试人员根据以前的缺陷记录信息,对该缺陷再进行一次测试,如果测试结果在设计偏差范围内,则可认为该缺陷处理完毕,同时删除本产品的主条缺陷记录,该项缺陷的生命周期到此结束。若还不能达到设计偏差范围内,则将当前检测的信息形成新的缺陷记录提供给生产人员要求处理。
3.软件缺陷管理
软件测试管理的一个核心内容就是对软件缺陷生命周期进行管理。软件缺陷生命周期控制方法是在软件缺陷生命周期内设置几种状态,测试员、程序员、管理者从每一个缺陷产生开始,通过对这几种状态的控制和转换,管理缺陷的整个生命历程,直至它走入终结状态。
缺陷生命状态的定义:
每一个软件缺陷都规定了6个生命状态:Open、Working、Verify、Cancel、Close、Defer,它们的基本定义是:
Open态---缺陷初试状态,测试员报告一个缺陷,缺陷生命周期开始;
Working态---缺陷修改状态,程序员接收缺陷,正在修改中;
Verify态---缺陷验证状态,程序员修改完毕,等待测试员验证;
Close态---缺陷关闭状态,测试员确认缺陷被改正,将缺陷关闭;
Cancel态---缺陷删除状态,测试员确认不是缺陷,将缺陷置为删除状态(不做物理删除);
Defer态---缺陷延期状态,管理者确认缺陷需要延期修改或追踪,将缺陷
置为延期状态;
上述Open态、Working态、Verify态,称为缺陷的活动态;
Close态、Cancel态、Defer态,称为缺陷的终结态:
缺陷生命周期示意图:
典型的缺陷生命历程:
Open态→ Working态→ Verify态→ Open态/Close态/Cancel态;
Open态→ Close态/Cancel态;
Open态→ Defer态;
缺陷生命状态的控制与转换:
当测试员报告一个缺陷,缺陷生命周期开始,为Open态;
1. Open态→ Working态→ Verify态→ Open态/Close态/Cancel态
程序员接受Open态的缺陷,修改中可将其置为Working态、修改完毕可置为Verify态;
测试员验证Verify态的缺陷,确认修改结果正确,可将Open态置为Close
态;确认不是缺陷,可将Open态置为Cancel态;确认修改结果不正确,可以将Verify态置为Open 态,要求程序员重新修改;
2. Open态→ Close态/Cancel态
当测试员发现自己误报或重报了缺陷,可直接将Open态置为Cancel态;
当测试员发现一个缺陷由于其它缺陷的修改而随之消失,可直接将Open态缺陷置为Close态;
3. Open态→ Defer态
管理者确认缺陷需延期修改或追踪,可将Open态缺陷置为Defer态;
此外,终结态必要时可以重新打开:
1)在适当的时候,管理者可将Defer态改为Open态,要求程序员修改;
2)在复查缺陷处理结果时,发现Close态或Cancel态的处理有误,测试员可以将Close态或Cancel态重新置为Open态,要求程序员重新修改;
一般在测试初期,活动态的缺陷数会急剧上升,随着程序员、测试员的处理逐渐转为终结态。当所有软件缺陷的状态都转变为终结态,且在一段时间内没有被打开,也没有新的缺陷发生,即意味着测
试可以结束或告一段落。在以下
缺陷状态随时间变化的曲线图中
表现为累计报告的缺陷曲线
(BUG总数曲线)和累计终结的
缺陷曲线(已终结BUG曲线)收敛
在一起。
综上所述,缺陷生命周期控制方法是测试员、程序员、管理者一起参与、协同测试的过程。缺陷状态不仅表示出缺陷被修改、终结的进程,同时还标明了测试员、程序员、管理者的职责。这种方法分工明确,责任到人,它使每一个管理者和测试员、程序员都明确:尽快终结缺陷,是他们共同奋斗的目标,而拖延时间,滞留缺陷是他们共有的责任,团队精神将他们紧紧地结合在一起,使他们能够相互促进、相互制约、团结协作,因此缺陷一旦发生,便进入测试员、程序员、管理者的严密监控之中,直至终结,这样即可保证在较短的时间内高效率地终结所有的缺陷,缩短软件测试的进程,提高软件质量,减少开发和维护成本。
加快缺陷处理的有效措施
要实现了缺陷生命状态的控制与转换,使每个缺陷都能够被全程跟踪和管理,而且采取种种措施加快了缺陷处理的速度,进而提高了开发人员和管理人员对缺陷生命周期的控制能力。
(1)采用了 B / S 结构,可以安装在Web 服务器上,项目有关人员可以在不同地点通过因特网(Internet)同时登录和使用,加强沟通和协作,加速信息传递、从而加快缺陷处理过程。
(2)建立了缺陷数据库、测试用例数据库、项目数据库、用户数据库,将测试过程中的各种活动进行协调一致的管理,促使整个测试过程有条不紊地进行,从而加快测试过程。
(3)提供相应的自动化功能,可高效编写、查询和引用测试用例,可快速填写、修改和查询软件缺陷报告,并将缺陷报告与发现这个缺陷的测试用例链接,加速缺陷的修改、验证、追踪和回塑。
(4)提供了高级经理、经理、测试员、程序员四种登录身份,以每一种身份登录,都可以利用状态查询、条件查询、全文检索快速得到所有缺陷的6种生命状态和缺陷柱状图、曲线图,明确当前缺陷的处理进程和个人的职责。
(5)为每一个缺陷设置了一个ID号,可详细记录BUG的报告信息、修改信息、终结信息、缺陷状态变更信息、讨论信息以及图片,使每种登录身份的人员可以按照访问权限共享和使用这些信息。
(6)设有软件缺陷的严重级别和优先级别,可以分清软件缺陷的轻重缓急,对于重要的软件缺陷,优先进行处理。
(7)设有软件缺陷类型和错误类型,测试员报告软件缺陷类型能帮助程序员分析错误所在,程序员修改后分析错误原因,记录错误类型有利于问题的回塑和经验的积累。