23-项目当前版本中修复上个版本测试反馈 Bug 的时机
1. 前言 项目当前版本(假设为1.0)开发完成之后,会提交给测试组进行测试,然后,开始进行下一个版本(假设为2.0)的研发工作。 但是,测试组测试周期可能要一两个月,期间会不断的反馈 Bug 到系统里,等项目当前版本(1.0) Bug 修复完成之后,再进行下一轮的测试。 这时,项目新的版本(2.0)功能开发进行中,每个人都已经有自己的开发任务了,时间也排好了,应该怎么安排? 还有,在 A 功能模块上修复 Bug,而同时又在 A 功能模块上开发新的功能,代码合并可能会冲突等等问题怎么处理? 2. 权衡任务调整的利弊 因为测试反馈 Bug 数量不是一个可控的事情,有时第一轮测试完成,都没几个 Bug,有时第一轮测试就反馈好几十个 Bug,完全可以衍生新的任务,评估个两三天去处理。 所以,如果你打算,暂停或推迟当前版本(2.0)的开发任务,而去执行修复上个版本(1.0)的 Bug 的任务,很有可能收益不大,因为可能都没有几个 Bug 让你修复。 但是,如果你完全对第一轮反馈的 Bug 不管不顾,又会影响到测试组的测试进度。 3. 基于测试周期的任务调整 上面说的,虽然测试反馈 Bug 的个数是不可控的,但庆幸的是,测试周期是明确的,比如第一轮具体是什么时间段,第二轮又是什么时间段,这些都是前期沟通好的,虽然偶有变数,但是大体上问题不大。 在这个基础之下,项目负责人就要根据测试轮次结束的时间,对当前反馈的 Bug 情况,进行任务上面的调整,比如第一轮测试反馈了 50 个 Bug,然后按功能模块划分清楚,以及哪些功能模块对应的负责人是谁,修复这些 Bug 需要多少工作量,新增一条修复 Bug 的任务在项目当前版本(2.0)计划中。 4. 测试环节的漏洞 但是,如果 Bug 特别多,花费了大量的时间,甚至影响到了当前版本(2.0)的开发进度怎么办? 这个时候,是否需要延长修复 Bug 的任务呢? 缩短开发的任务时间呢? 加加班? 这些方式可以解决这个问题,但是,治标不治本。 因为在这个功能到测试组介入参与测试时,其实,已经有过三个环节,对功能进行测试了。 一个是功能开发人员自测,编写测试用例,然后对开发的功能点一一测试。 另一个是功能开发任务验收,这个验收的工作就是根据功能开发人员提供的测试用例,验收人自行跑一下这个测试用例,看下有没有什么问题。 最后一个是项目负责人内测,就是项目当前版本(1.0)结束,要给测试组提测之前,把全部功能都测试一遍。 上面这三个环节,为什么不能发现和解决掉一些很明显的 Bug,而一定要测试组测试时才发现? 5. 优化测试流程 理想状态下,每一轮测试都不应反馈那么多 Bug 的,然后需要排两三天的时间去处理的,通过一两天差不多了,甚至在开发当前功能时抽个一天的时间解决掉就行。 所以,回答项目开发中应什么时候去修复测试反馈的 Bug 这个问题,那就是做好下面的流程: ...