美文网首页软件测试测试员的那点事
一个bug的状态及生命周期

一个bug的状态及生命周期

作者: 测试漫淡 | 来源:发表于2019-07-07 18:44 被阅读1次

    PS:本文首发于公众号「软件测试艺术」,回复“软件测试教程”获取:麦子学院、传智播客、小强软件测试全套学习教程!

    当我们踏入测试这个行业开始,就意味着我们以后基本上天天都要跟bug打交道。那我们知道bug的生命周期中有哪些状态,一个bug从被发现到最后消失会经历什么?今天,我们就来聊一聊bug从出生到消失的过程。

    bug也叫缺陷,英文是Defect。对于一个bug,不同公司可能叫法不太一样,但是bug的状态都类似,可能只有作者列举状态中部分,也可能会新增部分其他的状态,还有可能会是其他叫法,但都是换汤不换药。对一个bug的生命周期而言,一般会有如下的状态:

    提交(Submitted):测试人员发现bug后上库,现在流行的bug跟踪系统是Jira,以前是CQ(Clear Quest),当然也有其它的跟踪系统;

    分配(Assigned):bug上库后经过审核(Reviewed)就会分配到开发人员,这个一般是系统根据定义模块自动分配,也可以手工分配;

    打开(Opened):开发人员接受该bug,打开,转到自己名下或固定的人员转发;

    解决(Resolved):bug已解决,代码已提交上库,开发会将bug的状态置为解决,然后会流转到测试名下待验证;

    拒绝(Reject):开发人员确认测试提交的bug有充分的理由说明不是问题,不会解决而拒绝该问题会流转到测试名下,如:原生系统就有,对比机也是这样,风险大不建议不修改。但是如果测试人员不同意开发的解释,会重新Reopen到开发;

    无效(Invalid):开发人员确认测试提交问题无效,不会打开流转到自己名下,无效与拒绝的区别是:拒绝的bug是问题,但是基于各种考虑不会解决,而无效则是确认测试人员提交的bug不是问题,如:需求就是这样设计的。如果测试人员不认同可以再次转给开发;

    重复(Duplicated):库里有相同的问题,开发置为重复的状态,这个主要是测试人员在提交、审核的时候都没有发现而流转出去了;

    跟踪(Observation):bug发现的概率比较低,没有找到必现的路径,开发解决后测试也无法完全验证,一般需要跟踪几个版本没有再次出现才会关闭;

    忽略(Ignore):首先该bug是一个有效问题,但是一个等级比较低的问题,如体验性问题,显示不美观问题,也可能是一个修改风险比较大的问题,也可能是一个极端操作用户不遇到该场景的问题,基于风险、进度、成本考虑该问题在本项目上不修改,忽略不解决;

    关闭(Closed):开发解决后,测试验证没问题或跟踪几个版本概率问题没有再现就会关闭;

    延迟(Postponed):由于交付进度,当前问题在最近上线系统上不解决,而是延迟到后面的几个版本中解决,等到该问题需要解决的时候可以再次打开分配给开发;

    上面基本涵盖了bug的所有状态,不同的状态有严格的流转流程,如一个解决的bug只能切换到测试待验证或跟踪状态,而不能切换到无效状态。

    其中Closed、Invalid、Ignore这3种状态为一个bug的消失状态,这3种状态的bug经过确认后基本就不会再管了,但是不排除会被重新打开,可能之前测试人员验证错了,或再次出现了相同的问题,不想再次提交。Postponed状态也许是最后的状态,也许重新被Assigned到开发人员名下解决。

    完整的bug状态流转迁移图可以通过公众号「软件测试艺术」回复“bug”获取。

    相关文章

      网友评论

        本文标题:一个bug的状态及生命周期

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