软件测试的重要环节:Bug管理的一般流程

发表于:2008-09-24来源:作者:点击数: 标签:软件测试bugBUGBug管理
摘要 只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合 需求 设计的目标。在实际 软件测试 过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。 软件测试的主要目的在于发现软件存在的错
摘要
 
rpt>  只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。
软件测试的主要目的在于发现软件存在的错误(Bug),对于如何处理测试中发现的错误,将直接影响到测试的效果。只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。

    错误跟踪管理系统

    为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统。
    目前已有的缺陷跟踪管理软件包括Compuware公司的TrackRecord软件(商业软件)、
Mozilla公司的Buzilla软件(免费软件),以及国内的微创公司的BMS软件,这些软件在功能上各有特点,可以根据实际情况选用。当然,也可以自己开发缺陷跟踪软件,例如基于Notes或是ClearQuese开发缺陷跟踪管理软件。
    作为一个缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的处理信息的全部内容。字段内容可能包括测试软件名称,测试版本号,测试人名称,测试事件,测试软件和硬件配置环境,发现软件错误的类型,错误的严重等级,详细步骤,必要的附图,测试注释。处理信息包括处理者姓名,处理时间,处理步骤,错误记录的当前状态。
    正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误不能从数据库中删除。

    软件错误的状态

    新信息(New):测试中新报告的软件缺陷
    打开 (Open):被确认并分配给相关开发人员处理;
    修正(Fixed):开发人员已完成修正,等待测试人员验证;
    拒绝(Declined):拒绝修改缺陷;
    延期(Deferred): 不在当前版本修复的错误,下一版修复
    关闭(Closed):错误已被修复;

    Bug管理的一般流程

  测试人员提交新的Bug入库,错误状态为New。
  高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。
    开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。
    对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
    测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为
Closed,如没有解决置状态为Reopen。

    软件错误流程管理要点

    为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
    每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。
    拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。
    错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。
    加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例

原文转自:http://www.ltesting.net