本章节主要讲解“软件测试—缺陷的管理流程以及生命周期”的内容,首先我们看看缺陷管理流程如图9-1所示,涉及到四个角色:测试工程师、测试经理、开发经理和开发工程师。
缺陷从提交到关闭的步骤如下:
(1)测试工程师提交缺陷。
开始测试后,如果在测试过程中发现了Bug,测试工程师会在Bug 管理系统中提交相关Bug的记录。
(2)测试经理审核Bug。
测试工程师提交Bug 后,测试经理会对Bug 进行审核,以确定该Bug 是不是真实有效,避免提交无效或重复Bug 的现象。如果提交的Bug 是一个无效或重复的Bug,那么测试经理会将流程驳回,反之则通过Bug 的审核。
图9-1 缺陷管理流程
(3)开发经理审核Bug。
测试经理通过审核后,Bug 的流程会传递到开发经理,开发经理同样对Bug 进行审核,以确定该Bug 是否有效。如果确定是Bug,开发经理则将Bug 指派给相关开发工程师,由相关开发工程师对Bug 进行修复;如果开发经理认为不是Bug,Bug 流程则会被驳回给测试经理,此时处于一个比较尴尬的局面,即开发经理与测试经理对缺陷的看法不一致,此时需要进一步沟通或启动相关评审来确定该Bug 是否真的是一个缺陷。如果确定真的是Bug,则分配给相关开发工程师进行修改;如果确定不是Bug,该Bug 将会被标识为无效Bug。
(4)开发工程师修复Bug。
当开发经理确定是一个真实的Bug 时,相关开发工程师则需要对Bug 进行修复。
(5)测试工程师验证Bug 修复情况。
当开发工程师修改Bug 后,测试工程师需要对修改的Bug 进行验证,以确定该Bug 是否修复,同时需要确定的是修改该Bug 是否引起了新的Bug。当Bug 被正确地修改后,就可以关闭该Bug,否则该Bug 将会被重新开启。
缺陷的生命周期,经常容易出现将缺陷的生命周期与缺陷的管理流程混淆的情况,缺陷的管理流程只是缺陷生命周期的一部分,只是将缺陷发现后的处理过程描述出来,但缺陷未被发现的情况并未描述出来。如果代码引入了缺陷,那么缺陷从这一刻开始就已经存在,只是并未被测试工程师发现,缺陷的生命周期如图9-2 所示。
图9-2 缺陷生命周期
缺陷的引入通常由三个方面引起:需求、设计和编码,如图9-3 所示。
工作中一般可能存在以下几种缺陷生命周期:
(1)缺陷一直未被发现。
如果一个缺陷一直未被发现,这个缺陷就会一直隐藏在产品中并发布到市场。如果隐藏的缺陷被客户发现,这个缺陷就会被反馈到公司;反之,如果客户也没有发现隐藏缺陷,这个缺陷将一直贯穿于整个产品的生命周期。当然还有一种情况除外,有时候客户发现了一些缺陷,但对工作没有任何影响,即缺陷的严重等级很低,客户也不会将该缺陷反馈到公司。
图9-3 缺陷来源
(2)缺陷被发现但一直未解决。
如果测试过程中发现了缺陷,但由于各种原因导致未修改,这个缺陷一直存在,直到某一个版本将其修复。如果一直未被修复,这个缺陷将一直伴随整个产品的生命周期,直到该产品退市。
(3)缺陷被发现并被解决。
测试过程中发现缺陷后,如果开发工程师解决了,测试工程师应该对该缺陷进行验证。如果确定已解决,缺陷将会被关闭,此时缺陷的生命已结束。当然,如果该缺陷未修复成功,则将会被重新打开,其生命周期会被延长。工作中大多数的缺陷生命周期是这种情况。
本章节关于“软件测试—缺陷的管理流程以及生命周期”的内容就学习到这里,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。