我是一支君子兰,离开生我养我的土壤,就会慢慢枯萎!

如何说服他人修改缺陷

上一篇 / 下一篇  2008-04-01 17:30:08

我在51testing网上看到的一些资料,觉得有些资料很有学习价值,就整理一下,请大家跟帖发表意见。

    作为一个测试人员经常会遇到程序员或者设计人员拒绝修改你提交缺陷的情况,但是往往到最后这个缺陷会被用户提出,不得已再进行修改,给个人和公司带来一定的负面效果,那么如何说服他人认可你提交的缺陷是需要修改的?

第一位:

   1,和开发人员达成共识:开发人员的开发工作和测试人员的测试工作的出发点是一致的,都是为了给公司创造利益。达成这个共识后,开发人员就不会对测试人员和测试人员的工作有抵触情绪;再在这个认识的基础之上,和开发人员一起讨论如何修改代码他们的Effort比较小(如果你有一定的开发能力)、何时进行修改(由于各种原因,可能需要稍后进行一起修改)等。测试人员要有比开发人员强得多的质量意识,不仅要意识到严重缺陷的风险,更要将这些风险明确无误的传达给开发人员。测试人员需要仔细描述缺陷的复现过程,这样更有力说服。
   2,与开发人员建立良好的关系,包括私人关系。在交流的过程中大家要相互理解,尊重对方,不要有过激的言语,平时多加强感情的交流。如果你的能力强,开发人员可能会把某些工作交给你,让你帮忙做。这时可以积极接受,尽最大肯能帮助它们。我的一个同事曾发现某个Bug是由于没有写对一个业务逻辑比较复杂的SQL语句,于是他自己写了,就把开发人员一直困扰的这个问题解决了。从此以后,开发人员就非常支持我们的工作了。
   3,系统和软件最终是要交付给客户的。只有他们认可了,同意付款了,开发人员和测试人员的工作才算有意义。因此,我们测试人员一定要站在客户的角度去使用软件,去测试人员。我们要考虑客户会怎么样使用,他们可能会遇到什么问题。这样可以减少许多直到交付给客户后才会发现的问题。从这一点上来说,我们也要让开发人员站在客户的角度去理解为什么这个Bug一定要修改。曾经有许多UI上的错误,开发人员举手之劳就修改了。可是就是不修改,他们认为不需要。我就是让他们先把自己设想为一个客户来使用此系统,然后说服他们去修改的。
   4,如果有条件,建议拿出你的数据和证据去说明为什么一定要修改它。如进行性能测试后的测试报告数据、经客户确认的需求说明书等。

   总之,既要让开发人员知道你是站在他的立场上考虑问题的,同时又要站在客户的角度来说明为什么需要修改这个缺陷。

第二位:
 
1、详细清晰的描述出BUG,提交入缺陷库,已经有高级且有经验的测试工程师确定该BUG是真正的缺陷,确定状态为Open;
2、分配解决该BUG的研发人员按照详细的BUG描述已经重现了BUG,但是拒绝修改,这里有几点:
   a、公司或者部门的流程不规范,责任不到人,可能有扯皮推脱责任的情况存在,QA对BUG的跟踪上有些脱节;
   b、研发人员个人原因,承认是BUG嫌麻烦或者不好处理之类;
   c、研发认为不是问题,就是这样的做的之类;
3、详述
   上面的a情况在小公司应该是经常出现的,对于这样的情况,尽量和研发搞好关系,私人关系好是最好,说服研发修改缺陷;如果研发实在拒绝修改,将问题告知测试经理和项目经理,BUG状态保留,大家如果都没有反应,这样测试人员只能到此,可能多做也无意;
    上面的b种情况测试人员可以先和研发人员讨论,阐述BUG的严重程度,用户的需求或者行业标准,并积极参与分析缺陷产生的原因,打消研发消极处理态度;最好多了解些项目的相关信息,视BUG严重程度、项目进度、程序发布紧急程度等因素而定,如果能够说服修改BUG最好,如果项目紧急,BUG不严重,可在以后版本修改,最后邮件或者报告抄送给相关项目以及测试人员告知情况;
    上面的c种情况就要难处理,首先要对方承认这个确实是BUG,有需求文档、产品说明书、规格说明等文档参考,具体实现的功能说明等资料都可能派上用场,诱导研发站在用户的角度是看待这个问题,演示给研发看,并请他进行这类操作来重现问题,也可以请周围的同事参与讨论或者操作,以他们的实际感受来说服研发修改BUG,如果修改,沟通成功;如果不能修改,找相关的项目经理讨论这个BUG,由项目经理和研发讨论,如果还不行,问题反馈给测试经理项目经理就OK了,一切都由他们商讨;

第三位:
 
   程序员拒绝修改某个BUG,我们首先要从源头上找出不愿意修改的原因,再使用对应的策略,根据实际工作经验,主要分为以下两种情况:
   1,程序员认为该BUG不会影响最终的版本发布,而修改后可能会引发更大的风险。在这种情况下确实需要审慎处理,最好首先和产品定义部门的同事先确认一下,你提的BUG优先级如何,在得到产品部同事支持后,可以找到项目经理及其他人员联合评审,BUG修改的影响范围。在得到领导的支持后,修改应该不成问题。
   2,程序员认为是个小BUG,根本不需要修改,他还有其他重要的事要做。这个时候你需要做几件事情,一就是要把BUG发生的后果详细演示给程序员看,然后指出可能引发的其他故障,二找出市场上已经存在的相类似的用户投诉的例子,三帮助定位出精确的故障点,向程序员指出修改这个问题将不会耗费太多时间。这第三点很管用,但有一定难度。

   程序员和测试员是对立的两个岗位,发生争吵是在所难免,但我认为平时一定要加强和程序员的沟通,先做好朋友,以后碰到问题时,自然好说话。同时,测试员也应该提高自身的技能,有很多程序员恃才自傲,瞧不起测试人员,如果测试员自身的素质提高了,自然会得到程序员的尊重,你说的话自然也就有分量了。

我在这里到是想提下有关沟通:
   1、要学会控制自己的逆反情绪
   人在听到和自己观点不用的意见的时候,本能的反应就是抵抗。而在这种情绪的带动下,就很难清醒地分析对方的观点,听不进去对方说的任何话语。这个表现往往在开发人员听到测试人员的批评意见的时候。测试人员在开发人员对自己提交的缺陷不屑一顾后,往往更加生气记恨对方,死命找BUG,非整死他们不可。他们不改,先提交一大堆再说。这个是不对的。因为开发人员此时亦有逆反情绪,对你产生敌意。处理这样的问题的时候,首先是自我调节一下情绪,稳定几分钟要把上来的逆反情绪平息下去。然后带着平和的心理去交流报告,这样效果会好些。
   2、要学会客观地看待别人的优点,并且客观地看待自己的缺点
   测试人员别把开发人员当敌人,他们可是你同事啊!大家都有自己的性格特点和特长。每当你找到bug、提交缺陷时,他们就得重新开发,心情肯定不好。换位思考一下,如果测试人员被批评测试的东西都是垃圾,没什么质量,测什么测。那么你自己也会反驳,认为自己都是对的,别人都是错的。这个就是过多看重了自己的优点,忽视了自身的缺点。
   3、学会适当反驳技巧,更应该学会尊重别人
   如,开发人员认为你提交的这个不是问题。首先,一开始应该有了个缺陷标准。再者,在此基础上,不必针锋相对,仅需让有争议的缺陷重现后,代测试、开发组长或项目经理、需求提出方,三方鉴定,通常客户大都会支持测试一方,毕竟系统软件质量优先嘛。如果根本是开发人员狡辩,那么在众人面前,开发组长/主管自己会给出合理解释,并尽快修复缺陷的。省去测试方很多麻烦,大家都和和气气,不是很好么?还有就是尊重。如果你重视了开发人员的工作,尊重了他们的工作。他们同样也会尊重你的工作。因为人都有被别人认为重要的需要。彼此尊重了,相信没有人会对你提出的意见不虚心倾听的。  

  我个人的体会就是摆事实,讲道理,冷静对待。尽你所能,做一切沟通工作。


TAG:

 

评分:0

我来说两句

Open Toolbar