Bug那些事2

作者: 觅识堂的十一 | 来源:发表于2019-12-10 17:51 被阅读0次

    大家好,我是十一。

    前情回顾

    上篇我们讲了bug的概念、一条bug所包含的内容、bug级别,我们来回顾下:

    bug那些事儿

    概念:所谓“(Bug)”,是指程序中隐藏的错误或者缺陷。

    bug应包含的内容:bug编号、bug标题、bug严重级别、bug产生的模块、bug对应的版本、bug描述、附件、bug状态、bug修订人、bug复测人(与bug修订人可以统一为bug责任人)、bug修订说明、bug复测说明、bug备注。

    bug级别:

    a.严重性:表示软件缺陷的恶劣程度,当用户碰到该缺陷时影响的可能性和程度。

    b.优先级:表示修复缺陷的重要程度和紧迫程度。

    严重性和优先级又各自分了4个级别。

    本篇内容

    bug-级别定义

    那么今天我们先对严重性和优先级的分别做个定义,如下图所示,这里我是分了5个级别,把严重上面加了一个危险。

    bug-生命周期

    在昆虫学中,生命周期这个术语是指昆虫有生之年的不同阶段。那么软件缺陷的生命周期也同样表示软件缺陷的不同阶段,下图给出一个最优化、最简单的软件缺陷生命周期的例子。

    图片来源:《软件测试》一书

    上图显示了当软件缺陷被软件测试员发现时,先是被记录下来,然后将缺陷报告转给程序员,此时缺陷状态是打开(open state)。然后程序员对缺陷进行修复,并且将修复后的缺陷报告转回给测试员,此时缺陷状态是解决(resolved state)。最后测试员对缺陷进行确认测试,确认缺陷已修改成功后将缺陷报告关闭,此时缺陷状态是关闭(closed state)。

    在很多时候,软件缺陷的生命周期都是如上图所示,软件缺陷被打开,解决和关闭。但是在有些情况下,生命周期会变得复杂一些,如下图所示。

    图片来源:《软件测试》一书

    在这种情况下,软件缺陷依然是由测试员打开缺陷交给程序员开始,但是程序员认为缺陷太小或者不影响发布,目前不需要修复,于是交给项目经理/产品经理来决定。项目经理认同程序员的看法,把缺陷以“不修复”的形式放到解决状态,转给测试员。测试员不同意,使用更通用的例子来演示缺陷,重新打开它并且转交给项目经理。项目经理看到测试员标注的新的信息时表示同意,并指定给程序员让其进行修复。于是,程序员修复软件缺陷,完成后进入解决状态并且将缺陷报告转给测试员。测试员确认修改后关闭缺陷报告,此时bug处于关闭状态。

    在上述整个过程中,我们可以看到软件缺陷在整个生命周期中,经历多次重申和状态流转。而下图是上图的一个简化模型增加了多数项目中可能遇到的评审,决定和循环的过程。下图中的推迟也被叫做挂起。每个公司对缺陷流程有自己的定义,但是大体是下图这个样子。大家可以作为参考。我们对图中的审查和推迟做简单介绍:

    审查状态:是指项目经理或者产品经理决定软件缺陷是否应该修复。

    推迟/挂起状态:是指审查认定软件缺陷应该在将来的某一时间考虑修复,当前版本不修复。

    图片来源:《软件测试》一书

    另外上图要注意的有几个点,这里单独拿出来跟大家说说:

    1.当测试员和程序员观点不一致的时候,这两个角色之间无需互掐,统一交给项目经理/产品经理来决定,具体谁来决定在立项初期或者公司常规规范中统一来制定。

    2.以上生命周期只是示例,公司具体应用的与这个稍有不同实属正常。

    3.一旦记录了缺陷,一定要跟踪缺陷,不要不跟,更不要跟丢了,并且在跟踪过程中需要记录必要的信息驱动缺陷的修复以及关闭。

    4.一个缺陷很可能会被反复打开->关闭。在日常工作过程中,由于开发修订其他缺陷影响、需求变更等因素缺陷可能会被反复打开->关闭。

    好了,今天到此结束。如有任何问题请进群或者后台留言及时与我沟通,我会尽快回复大家!谢谢大家~我们下次再见!

    关注公众号,回复“加入觅识帮”,识别群二维码,期待你的加入。

    让我们共同相伴,开启软件知识之旅。

    关注我们

    相关文章

      网友评论

        本文标题:Bug那些事2

        本文链接:https://www.haomeiwen.com/subject/gtwggctx.html