写点什么

软件测试|缺陷的生命周期是怎么样的

  • 2023-09-07
    北京
  • 本文字数:1285 字

    阅读完需:约 4 分钟

问题

一个缺陷的生命周期是怎么样的?

考察点

面试官想了解:


  • 是否了解缺陷测试

技术点

涉及的技术点:


  • 缺陷测试

回答

在回答缺陷的生命周期的时候,我们首先要知道对应的软件缺陷是什么?以及缺陷的处理流程是什么?

缺陷

那么什么是软件缺陷?其实,软件缺陷一般被我们叫做 Bug。对应的软件缺陷,就是我们所测试的程序中存在的无法正常运行或功能有相关缺陷。


那为什么会关注软件缺陷呢?其实是因为 Bug 的存在导致被测产品在某种场景下不能满足用户的需求。


IEEE729-1983 对缺陷的标准定义:


从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;


从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

缺陷的生命周期

其实缺陷的处理过程和缺陷的生命周期是同一个含义。


生命周期就是它的一个整体的处理过程,即一个缺陷从创建到关闭的全过程。


一个缺陷可能会经历几种不同的处理流程,根据它的不同处理方式分为以下几种:

最短的第一种处理流程

  1. 当测试人员发现 Bug 后,提交相关的缺陷场景描述及现象,即 缺陷的状态为 New


测试人员在创建缺陷之前首先应该保证,这个缺陷是没有被提过的,以免造成有重复的缺陷。


  1. 创建时会指定给开发,缺陷创建成功后,对应的开发确认缺陷,即 缺陷的状态为 Open


开发接收到一个缺陷时,首先是根据测试人员的描述对缺陷进行分析及重现,如果发现不是缺陷或缺陷对应的场景无法复现,则需要将缺陷直接重新指派给测试人员,并注明原因。


  1. 当开发确认缺陷并解决完后,此时 缺陷的状态为 Fixed,并当前缺陷被重新指派给测试人员。

  2. 测试发现缺陷的指派更改后,进行当前缺陷的回归测试,若通过,则关闭缺陷,即 缺陷的状态为 Close


以上,为最短的一个流程缺陷的处理方式,即确认缺陷并及时解决。

第二种处理流程

  1. 当测试人员发现 Bug 后,提交相关的缺陷内容,即 缺陷的状态为 New

  2. 创建时会指定给开发,缺陷创建成功后,对应的开发确认缺陷,即 缺陷的状态为 Open

  3. 当开发确认缺陷并解决完后,此时 缺陷的状态为 Fixed,并当前缺陷被重新指派给测试人员。

  4. 测试发现缺陷的指派更改后,进行当前缺陷的回归测试,测试未通过,重新添加对应描述并指派给开发继续解决,此时 缺陷的状态为 ReOpen


以上,为缺陷的一个二次处理方式,即缺陷虽然确认但是解决后的二次验证未通过。

第三种处理流程

当缺陷关闭后,由于某些原因,导致该缺陷场景再次复现,则测试人员把已关闭的缺陷需要重新打开并再次指派给相关研发,此时 缺陷的状态为 ReOpen


该处理流程为缺陷的重新打开。

第四种处理流程

当测试人员提交缺陷,对应的开发人员也确认缺陷。但是由于该缺陷的触发场景为某些外在的极端条件,或者该缺陷的更改需要对架构进行调整,以至于该缺陷的解决优先级比较低,则对于开发而言可以暂时对该缺陷不进行处理,先挂起状态,等下个大版本发版时修复即可。则此时 缺陷的状态为 推迟 Postponed 或 挂起 Hang

第五种处理流程

当测试人员提交缺陷,对应的开发人员也确认缺陷,但是缺陷是由于对需求文档理解有偏差误解导致,那么研发人员可以将这些缺陷标为拒绝修复,则此时 缺陷的状态为拒绝修复

总结

以下为缺陷生命周期对应场景的流程示意图:



获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|缺陷的生命周期是怎么样的_霍格沃兹测试开发学社_InfoQ写作社区