测试开发的"战斗"---我不是一个人在"战斗"

2010-03-08  欧阳辰 

作为一个测试老兵,经常听到有测试新人抱怨,需要和开发人员进行激烈的讨论,感觉像打仗一样。其实,测试人员和开发人员的战斗不仅仅在小公司有,在大型软件公司也是比比皆是。这种"战斗"不仅仅发生在开发周期的初期,也发生在开发过程中,甚至在产品发布后,很多产品质量问题的追责也会引入新的"战斗"。

 

作为一个老测试工程师,也聊聊开发人员和测试人员的战斗,谈谈自己的心得吧。

先说说战斗的种类。

1) 缺陷(Bug)属性之战:
对于一个缺陷,开发人员和测试人员有不同意见,例如,开发人员说是“建议”,测试人员说“代码缺陷”;开发人员说是优先级3的,测试人员说是优先级1的;开发人员说不能重现问题,测试人员说曾经出现,必须调查。

2) 产品指标目标之战:
对于一个产品达到什么要的指标,也是测试人员和开发人员讨论的热点。例如,测试人员说性能必须到达200毫秒,但是开发人员常反驳说500毫秒是合理的目标。虽然,在需求说明书中,产品经理规定了产品大的指标,但是一些执行的细节目标却没有仔细规定,这往往是开发人员和测试人员的战场。

3) 质量任务之战:
质量保证的任务有很多种,包括写单元测试,收集试验数据,搭建环境,功能测试,安全检查等等…. 那么这些任务究竟是如何安排的,是测试人员做还是开发人员做,不同公司有不同的文化,有不同的开发测试人员比例,导致其分工也不一样。有时,开发和测试对于一些任务的责任人也有着不同看法,这也往往会成为战斗焦点。

4) 代码质量之战
代码的质量的好坏,是否可接受也是在代码审查时经常讨论的,比如一些异常的处理,是否合理,覆盖面是否全面。

测试人员的战略和战术
很多测试人员在这些战斗中不容掌握主动,以下就是一个老兵的一些经验,希望能够帮助测试人员在战斗中更好的赢得主动,为高质量软件产品赢得胜利。总的来说,对于测试人员说,是保护用户的体验,因此有机会得到更多人的支持,换句话说,测试人员”不是一个人在战斗“。另外,”多算胜,少算不胜“,讨论前尽量多准备准备。

1)多引用用户体验,多引用竞争对手的数据作为论据
在讨论中,列举的论证时,如果测试人员的论据是以“我认为…..”,这种论据通常是不是很令他人信服的,因为开发人员也可以说”我认为…不是这样的..'’。因此,在讨论中,应该多引入用户体验的数据作为支持论据。另外,可以多多列举竞争对手的数据,也是很有说服力的。

举例来说,一个用户登录界面,产品需要3秒钟登陆了,测试人员认为很慢,开发人员认为可以接受。那么,测试人员可以指出,在这种设计下,用户体验很差的,用户需要更好的性能,同时可以列举一些竞争对手的登录时间作为参考。少说”我认为…..”,多说用户体验差的具体数据。

2)争取项目经理或则产品经理的支持
产品经理通常也是产品质量的坚决拥护者,因此产品经理通常都站在测试人员一边。如果在用户体验上,开发与测试人员的观点僵持不下的话,可以考虑将产品经理引入讨论,通常产品经理会支持更好的用户体验,而站在测试人员的一边。获取产品经理的支持,注意引入的次数与频率,如果引入过于频繁,有时容易导致开发人员的不满。

3)存同求异
对于一些非关键的争论点,例如,一些与产品质量没有本质影响的决定,测试人员可以与开发人员保持不同的观点。对于这些不同观点,不会影响项目的进展和产品的质量。

4) 速战速决

孙子言”兵贵速,不贵久“。测试人员的工作通常繁重,如果花大量时间和开发人员争斗,往往得不偿失的。其实大部分讨论,在前5分钟,双方都已清楚的表达了观点,列举了大部分的论据,因此5分钟后的大部分讨论,都是这些观点和论据的反复陈述,通常无法通过论据本身说服别人。因此,我提倡对于单个问题的讨论,不应该超过5分钟,测试人员应该控制节奏,5分钟内结束讨论。如果5分钟内仍然没有结论,测试人员可以主动结束这次讨论:对于原则性的问题,考虑另外收集更多的论据(数据),获得更多人的支持,另找时间再和开发人员继续讨论;对于可以权衡的问题,可以考虑相互让步,以获得双赢;对于一些小问题,可以考虑抓大放小。

好了,说了这么多,都是纸上谈兵。其实战斗的技巧主要是来源于实践,希望大家能够在战斗之后,仍然能保持一个好的心情,另外减少激烈讨论所花的精力,并且提高有效性。

598°/5652 人阅读/33 条评论 发表评论

金鑫  2010-03-08

LZ真是谦虚了,我倒不认为是“纸上谈兵”,多年经验之谈,佩服,学习了...


关敏  2010-03-08

长学问了:)


欧阳辰  2010-03-08

关敏: 长学问了:)
呵呵,希望你和开发人员没有任何"冲突" :)


袁永云  2010-03-08

开发测试应互相理解,就不会有那么多冲突了。开发人员应认识到测试人员是在帮我检查而不是挑毛病,测试人员应该尽可能客观的描述清楚bug而不要带有个人感情色彩。--我的小小心得,请指教!


李康  2010-03-08

袁永云: 开发测试应互相理解,就不会有那么多冲突了。开发人员应认识到测试人员是在帮我检查而不是挑毛病,测试人员应该尽可能客观的描述清楚bug而不要带有个人感情色彩。--
说得好啊!赞一个!开发的和测试的都应该明白这个道理啊!


李銀傑  2010-03-08

噢,我是新人,請多多指教。
來看看經驗。


欧阳辰  2010-03-09

李康: 说得好啊!赞一个!开发的和测试的都应该明白这个道理啊!
十分同意。但是开发测试还是经常有不同意见,如何坚持自己的观点以保护产品质量,是非常重要的事情。


欧阳辰  2010-03-09

袁永云: 开发测试应互相理解,就不会有那么多冲突了。开发人员应认识到测试人员是在帮我检查而不是挑毛病,测试人员应该尽可能客观的描述清楚bug而不要带有个人感情色彩。--
十分同意。但是开发测试还是经常有不同意见,如何坚持自己的观点以保护产品质量,是非常重要的事情。


雷雨  2010-03-09

缺陷属性之战打过好几场了~


欧阳辰  2010-03-09

雷雨: 缺陷属性之战打过好几场了~
呵呵,所有的测试人员都是这么成长起来的。 即使老测试人员,也经常会有激烈的讨论。 Passion for quality :)


吴卓扬  2010-03-09

问题测试出来了开发不该就是开发的责任~


张奇  2010-03-09

领教了!


欧阳辰  2010-03-09

吴卓扬: 问题测试出来了开发不该就是开发的责任~
测试人员定义的问题,开发人员不一定认为是问题,这是一种常见情况。大家对问题的定义不一样。


王恩建  2010-03-09

楼主总结的很好,我的理解是讲如何与开发人员沟通,总结了一些与开发人员沟通的技巧。作为一个曾经的开发人员,谈谈我阅读本文的感受。
1、开发人员大多比较理性,跟开发人员沟通,有数据最好拿数据说话,有标准拿标准说话,切忌不要出现楼主所告诫的“我觉得。。。”,“我认为。。。”这样的言辞。
2、开发人员把开发出来的程序当自己的孩子,所以测试人员可以批评别人的孩子,但是千万不要侮辱别人的孩子,切忌不要用“垃圾”等字眼。


欧阳辰  2010-03-09

呵呵,没想到,吵架的话题这么热门啊 :)


梁凯平  2010-03-09

袁永云: 开发测试应互相理解,就不会有那么多冲突了。开发人员应认识到测试人员是在帮我检查而不是挑毛病,测试人员应该尽可能客观的描述清楚bug而不要带有个人感情色彩。--
这个观点我也赞成,但是和公司的环境有很大关系,和开发的上级领导有很大关系。开发有的时候扯皮也是没办法,因为上面有人压着他们。不过mm说的那种环境一直也是我理想中的工作环境,呵呵


程守标  2010-03-09

拿事实和数据说话会有力一些,楼主的经验之谈,学习了


陈春燕  2010-03-10

袁永云: 开发测试应互相理解,就不会有那么多冲突了。开发人员应认识到测试人员是在帮我检查而不是挑毛病,测试人员应该尽可能客观的描述清楚bug而不要带有个人感情色彩。--
开发和测试,会存在不同意见的,往往是在于建议性的问题上,如果是程序功能上实实在在存在的BUG,我想只要测试人员描述清楚,开发人员不会有什么情绪存在的,一般都会解决。测试人员在提关于建议性的时候,可以先做个用户体验调查,然后将调查结果一并提交,我相信这样可以省去一些争执,而且一般可以跟项目经理沟通,由项目经理来做最后的决定。


陈春燕  2010-03-10

其实有的时候,我们测试人员也是有绕不出圈圈的时候,就觉得这个问题一定要修改。在有争执的问题上,最好的方法一是做用户调查,可以以销售、客服、其他的测试人员和非本项目的开发人员为对象;二是做风险评估,包括修改这个问题会产生的风险和不修改这个问题会产生的风险,进行评估后下决定。


曹一富  2010-03-10

“战斗”会让人误解。


曹一富  2010-03-10

陈春燕: 其实有的时候,我们测试人员也是有绕不出圈圈的时候,就觉得这个问题一定要修改。在有争执的问题上,最好的方法一是做用户调查,可以以销售、客服、其他的测试人员和非本
赞一个,能够开始自我反省,从自身找问题。


欧阳辰  2010-03-10

程守标: 拿事实和数据说话会有力一些,楼主的经验之谈,学习了
同意,数据是最好的论据。


欧阳辰  2010-03-10

陈春燕: 其实有的时候,我们测试人员也是有绕不出圈圈的时候,就觉得这个问题一定要修改。在有争执的问题上,最好的方法一是做用户调查,可以以销售、客服、其他的测试人员和非本
支持,客户应该是最重要的参考因素。风险评估有时候不是很好做 :) 开发说很小,测试说很大,例如需要重新回归测试.


欧阳辰  2010-03-10

曹一富: “战斗”会让人误解。
谢谢提醒, 加了一个"" :)


张志远  2010-03-10

1.在提bug之前,先去查看是不是自己的问题造成,一定要避免自己的错误造成和开发人员进行不必要的争论(在找别人错误的时候,首先自己不能犯错);
2.若真是bug,但开发不同意,就和楼主一样,来拿数据说话,这样说服力更强一些;
3.个人感情色彩一定要不得,很有可能开发人员会带来很多个人情绪,毕竟是他辛辛苦苦开发出来的,有点情绪很正常,但是我们不能,因为我们是专业的,我们要控制自己的情绪【EQ】。


张小林  2010-03-10

吵架是必须的,做测试是一定要坚持立场,不是的话,你肯定会被开发忽悠的。在我们这一行有一句话,叫做是“宁可错杀,不可放过”。如果有BUG被放过,大家都要担责任的,影响的是整个团队,错了可以沟通一下啊,大家都是为了工作,只要不是故意这样做就行了。


赵鸣  2010-03-11

我喜欢盯着开发人员改BUG,每个项目的测试,我都盯得紧紧的,所以领导非常肯定我的工作。


欧阳辰  2010-03-11

赵鸣: 我喜欢盯着开发人员改BUG,每个项目的测试,我都盯得紧紧的,所以领导非常肯定我的工作。
Good Passion for Quality


胡军红  2010-03-11

王恩建: 楼主总结的很好,我的理解是讲如何与开发人员沟通,总结了一些与开发人员沟通的技巧。作为一个曾经的开发人员,谈谈我阅读本文的感受。
1、开发人员大多比较理性,跟开发
说得非常对


陈敏  2010-03-30

大家说得很好。算是测试新人,学习经验。


夏洁  2010-05-18

王恩建: 楼主总结的很好,我的理解是讲如何与开发人员沟通,总结了一些与开发人员沟通的技巧。作为一个曾经的开发人员,谈谈我阅读本文的感受。
1、开发人员大多比较理性,跟开发
说的很对


刘玉晓  2010-08-14

我看到好多跟开发人员冲突的文章,但我却一件都没遇到过。我们这3个开发,就我一个测试,他们对我超好。而且我有问题,他们都是随叫随到。从来都没什么争议和“斗争”!公司虽小,我觉得这样挺好的。哈哈。看来我算是幸福的一个了。


刘玉晓  2010-08-14

突然发现,这个文章好像很早了、


登录 后发表评论