专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

程序员不修改Bug怎么办?

51Testing软件测试网  · 公众号  · 测试  · 2017-04-28 17:32

正文


  前言

  今天的话题,是所有测试员都会经历的,也多为此苦恼过。笔者借此谈谈自己的看法,不求解决现状,只希望读者看完此文后能少一些苦恼。

  现状分析

  不久前,笔者身边一位测试老人提了一个打印文字溢出的缺陷,但该缺陷的负责人,一个年轻的程序员以项目临近上线没时间修改,且该缺陷影响很小而驳回,态度强硬(强硬的诉苦),那位测试专家从开始的坚持到最后无奈妥协,让笔者感触良多。

  程序员为什么不愿意修改bug?

  无非是没时间,问题太小,重现不了,理解不了,在实际环境中不太可能发生,问题只出现在没有人用的非常特殊的设备配置上 ,改正缺陷的风险太大(特别是临近封版),不会影响程序的实际用户等。

  我们测试人员为什么苦恼?

  可能是觉得封版之前Bug就应该全部解决(强迫症),也可能是觉得程序员没有理解bug的严重性,也许是Bug明显违反规范,也可能是觉得缺陷肯定会影响到用户。

  我们为什么难以说服程序员去修改那些Bug?

  说一说我看到的:测试员过于执着(Bug并非必须修改),测试员不清楚说服程序员的技巧,测试员看轻自己(程序员一旦强势,测试员就低声下气),测试员技术水平低(不清楚修改Bug的成本,可能只是加一个字段就能修复,开发说成本大,测试员就以为真的很大)。

  应对措施

  应对措施本应跟先将问题分类,分析根源之后再一一作答。不过本文不是严谨的学术报告,笔者只谈几点一般性的措施。

  • 如何说服开发改正Bug?

  • 解释问题会怎样影响产品的正常使用?

  • 会破坏什么数据?

  • 用户如何经常遇到这个问题?

  • 市面上类似产品的有关评论

  • 指出类似的问题给客户带来的麻烦

  • 多引用技术支持收集的数据

  • 以前的版本通过了这个功能的测试

  与其他项目干系人沟通。找出如果程序错误不修改受影响最大的人(或修改后受益的人),确定程序错误会给他们带来多大麻烦。让关心这个模块的人去说服。

  列举一些场景,说明合理的用户在合理地使用程序时会遇到的程序错误,或产生的疑问。

  补充做一些后续测试,寻找该程序错误更严重的后果,或寻找比在错误报告中所描述的更广环境下出现的情况。

  补充

  1. 对于上面最后一点做点补充:如果程序员不修改某Bug而我们决定反驳,不要完全依赖自己最初测试报告中的语言和信息。尽可能做一些补充测试,或列举更有效的例子,否则不仅浪费自己的时间,而且损害自己的信誉,影响自身的说服力。

  2. 不必坚持修改所有Bug。项目经理可能会因为风险、费用等方面的原因,拒绝修改某些Bug,这种情况下,我们测试员不需要坚持修改全部缺陷,除非能说明某缺陷可能引入的严重风险。

  另外,笔者认为以下措施有助于推动Bug的解决:

  1. 养成良好的报告编写习惯:比如在报告中描述问题出现的多种配置(需核实),或者在报告中预测某种可能并提供相关信息(特别是难以复现的bug) 。好的错误报告会推动问题的修正。

  2. 先等一等,在评审时看看大家反映,以静制动,提供补充信息。

  3. 多用事实和数据说话,例如“某个类似系统也有这个问题,客户因为那个问题,对程序的意见很大,因为客户平均每周要浪费XX时间在上面”

  4. 学习编程,理解bug产生的原因,助于写出更好的报告,以及理解bug修复成本。

  注意点

  1. 关于利用Bug管理系统监视程序员的表现。有的测试经理尝试用Bug跟踪数据来促使程序员修改Bug,比如利用数据反馈某程序员是否存在大量的bug未修改,或是否修改时间过长,或是否总是推迟修改。是否应该推行这种制度笔者不做评论,不过笔者建议推行时需注意引导程序员的情绪,否则很容易引起某些程序员的反感,他们会在某些时候大肆放大测试员的无能,或者发表不利于测试部的言论。不过这也是正常的,Bug管理工具只要被用于行政或人事管理,而不是技术管理,就会产生这些问题。

  2. 关闭Bug的权限应控制在测试员手中。除非经过测试员的验证,否则Bug都不能闭环。在某些情况下,程序员会将未修复的Bug置为“延期修改 ”、“非程序错误不予修改”“重复缺陷不予修改 ”,测试员需要且有义务对此提出质疑。

  3. 尽量避免“延期修改”变为“永不修改”。在很多公司中,Bug标记为“延期修改”即意味着“永不修改”。为避免这种情况,有一种可行的措施是在下一版本做项目范围评审时即提出这些缺陷,那时候的进度压力最小,而且项目经理也最理智、最清醒。另外,发现“延期修改”的Bug后,若持反对意见,建议尽快跟测试经理或者项目经理进行沟通。

  4. Bug修改后尽快验证,回归不通过后尽快跟程序员沟通,否则时间耽误越久,程序员记得的内容越少。

  5. 如果Bug多次回归不通过,或在临近封版时发现严重缺陷,不仅要在缺陷管理工具中记录,更应该直接找到相应的程序员进行沟通。

 
推荐阅读

点击阅读☞漫谈测试员系列:无BUG不生活

点击阅读☞腾讯天猫竟然出现过这些低级的Bug!

点击阅读☞开发人员与测试人员如何对待活动中的Bug

点击阅读☞测试员,你碰到过的最难调试的Bug是什么样的?

点击阅读☞开发不改bug?给你支个招



点击左下角“阅读原文”查看更多内容!