采访:Google如何做软件测试

上一篇 / 下一篇  2012-10-15 09:17:15 / 个人分类:杂谈

51Testing软件测试网"Mav-?)E)Sx Y ~$d

  《Google如何做测试》一书由James Whittaker, Jason Arbon 和 Jeff Carollo 三位作者合著而成,正如其封面上描述的那样,看起来充满了知识性和趣味性,在其背后则揭秘了大型技术公司Google,是如何应对和处理软件测试的复杂性的。51Testing软件测试网TSp n2i,n ?5j_

51Testing软件测试网6k8?#x Mnv;b aI*I

  最近此书的作者们关于此书与提问做了一次对话访谈。51Testing软件测试网0L2A j"w$S wC

51Testing软件测试网7\2[3i?,BEU9C

  提问:写著本书或与大家分享Google测试方法的主要动机是什么?

"o+D$Fp2b"\;_0

H A obH:GH { S-t0   一群在Google工程生产力团队(测试人员属于这个团队)的人,一直在讨论如何出一本书。我们已经召开过一次会议并有一个博客,所以写书的需求非常清 晰。但讨论如何写一本书总是比真正要去写一本要容易的多,因此我们一再推迟。最终我们三个意识到问题的严重性,并开始去写。有趣的是,当我们快要完成的时 候,更多的Google工程师也开始对如何参与进来产生了浓厚的兴趣,本书的“Google工程师访谈”部分就是他们的贡献,许多工程师还成为出版社的官 方审核人员。Google一直在云软件的测试方面处于领先,这本书的出版使得Google正式处于领先地位。51Testing软件测试网 qHkMvC,a

E+_f^6Z0  提问:本书重点详细地介绍了工程生产率和软件开发测试工程师这个角色, 这些从事这个角色的工程师工作在各自不同的项目中,主要从事可测试性和测试工具集的工作。你是否认为这是Google改善其测试实践的一项重要改变?

Fn~JLU051Testing软件测试网@3Lu3^0r

   其实有两个重要的变化。第一,正如你指出的那样,测试角色在其产品项目自身的集中管理之下。这样可以保持测试不被沦为二等公民,在工程生产力形成之前。 第二,是测试技术角色的集中管理。对于那些有这良好代码能力的人来说,Google使得测试成为一项开发任务,它得到开发者的尊重并让他们也参与进来。无 论如何,在你离这种模式走太远之前,读一下最后一章,一旦Google形成了面向质量的开发文化之后,工程生产力方面的需求就会改变,去创建这种文化也就 不再重要。

'M'BSj4^3@?0

3mdnp j{9C0\H0  提问:整书花费比较大的篇幅介绍不同的测试技术与测试工具(既有公司内部的,也有开源的)。对于一个团队来说,创建自己工具背后的动力是什么? 对于测试工程师或软件工程师来说,怎样时刻保持对最新测试方法和状态的了解?51Testing软件测试网*q#\B?,zc

51Testing软件测试网%n}p!sE

  背后的动力非常简单,市场上根本不存在可以满足我们在自动化测试方面需求的工具。Google唯一全部从外界采纳的“工具”就是众包。我认为获取工具的好途径是通过开源(Google也一直在支持开源)。商业的测试工具总是滞后半拍,因为其背后没有社区的强大支持。成为开源社区的一员,特别是要了解Selenium、Web Driver和uTest他们在测试工具方面正在做什么,这也是跟随最新前沿测试状态的最好方法。51Testing软件测试网{rq,cr4M"Ka%o:B

h-i7j5hLH+^7Rv%~vH0  提问:整书很少提及敏捷的概念,尽管许多Google的工程方法都基于敏捷原则与实践。Google是如何看待其工程方法与广大敏捷社区的对比?

0c{}}$~0Oe051Testing软件测试网8L%lm"kk r"E

   Google不想成为敏捷社区的一员,也不没有使用Scrums,Scrum masters这些类似的术语。我们已经制定了快速变化的内部流程,这也是非常敏捷的流程,不能陷入别人关于什么是敏捷的想法中。当你必须停下来去定义什 么是敏捷和你的敏捷是属于哪一种的时候,你就已经变得不再敏捷了。

b!nQ9h7V$~nr2mo051Testing软件测试网6^ a,DPe E1b5D

  提问:书中讲到的测试认证项目(Test Certified Program)貌似混合了游戏化和测试成熟度模型。对于这类项目如何激发人们的兴趣而获得成功、如何跟踪最新的测试技术和流程, 你有什么建议吗?51Testing软件测试网:M*pK`!d p3n

51Testing软件测试网;U9I)n/`L8q}:e

   给开发提建议的风险几乎不亚于评价他们的工作。测试认证两者兼顾,必须要谨慎行事。做成这件事的关键是,首先要有一个正确的模型,例如我们在这本书里所 提供的,经过实战、测试和优化的模型,可以作为你的起点。其次,确保用你们最好的测试人员去推广和执行这个项目,因为如果在落地过程中(由于执行不力等原 因而)失去开发团队的尊敬,那是我们所不能承受的。51Testing软件测试网3_{/HpP

51Testing软件测试网:W oaF*_Ve m!X h

  提问:测试工程师可能是最接近传统的、在很多组织中使用的测试分析师的角色,尽管有些人会提出反对意见,说这个角色仍然很技术化(所以和传统的测试分析师还是不同的)。会不会存在提高现有测试人员的技能去适应这个新角色的挑战,尤其是在技术技能方面?

];ar)k5Dw'QM051Testing软件测试网x$~w TBd8si4G

  问题在于规模。两类技能兼备的人才一定有,但当然不是要多少有多少。实际上,雇到愿意学习编码的测试人员,比雇到愿意学习测试的开发人员要容易。

)P+D j;D`hQS%v0

8]T,A,r:} F3a$R+?5x0  提问:书中提到Google正走向“免费测试”的观点:测试的成本接近于零。这对Google的测试工程师意味着什么?这个想法离现实有多远?51Testing软件测试网?'d Eds#^+y;s6]~

*sO{MmOU l0  这在很多团队是现实,但takes a lot of objectivity to attain it。有多少测试人员愿意把自己搞到失业?你的工作可以被自动化/众包,并不意味着you have the stones to go through with it(你能坚持到底?)。本书的最后一章对这个问题做了比较详细的回答,所以我就不赘述了。我只想说,任何对云/Web应用以及移动平台做大规模功能测试 的人,都是在浪费时间,只会拖慢整个团队。

S*Y:w ~&n%F6kI0

.T)py0R!kl6R0  提问:贯穿本书始终,你建议“不要雇佣太多测试人员”,未来测试工程师的角色在减少。对那些坚称你需要更多的测试人员、明确划分开发和质量保证的界线的组织,你想说什么?51Testing软件测试网?S!z m_^ J-\PE`0h

51Testing软件测试网:A(\n&@\4D

  为什么需要这样一条界线呢?Google已经证明,当写代码和优化代码之间的界线模糊了之后,结果是开发的速度会更快、潜在的缺陷会更少。雇佣 太多的测试人员等于给开发更多的(质量上的)依赖,这对产品非常糟糕。我对于人们过分局限于他们的角色深感烦恼。“我是一名测试人员”是一种不健康的态 度,“我是一名开发人员”也一样。只要人们不再过分受限于他们的角色,而是开始以(最终)产品为导向的时候,奇迹就会发生,每个人都应该聚焦于尽其所能做 任何有利于开发出最好的产品的事情。

w?.VVW o)I@ I{0

NJ-W[WP:`j9k0  提问:一些读者可能会认为书中描述的很多方法难以推广,因为他们觉得你们能做到这个的唯一原因是“因为你们是Google”。对这类说法,你怎么看?

4}c h.q saGd051Testing软件测试网0p~v+_&H4m|O;Z

  Google是怎样成为今天这个样子的?通过更快的、更大规模的编写软件。并不是因为Google成就了好的测试,而是因为好的测试成就了Google。这仍然是Google的强项,它可以更快的开发Internet规模的产品。51Testing软件测试网m(VRy%L

51Testing软件测试网3?]+M%g p

  提问:对那些希望从事测试工作的测试分析师或者新的毕业生,如何应对测试角色的不断变化的技能要求,你有什么好的建议?

9PJ#a X#eh]6T u0

7Y___6`(PY t v{'Y0  把测试当开发。拿到CS学位,拿到好成绩。认证和培训只能教给你简单的东西。(自己)学习更难的东西并擅长之。那些投机取巧的测试人员注定只会抱怨被当成二等公民,毫无长进。不想被那样对待?那就去掌握一等的技能。

1l$G;h8V1q0D)C%H(P051Testing软件测试网5O Y)~W;C

  提问:对那些看了这本书以后“希望象Google一样测试”的组织,你有什么建议?51Testing软件测试网y*M%i+~$|

v*ml X*r/[&@*j5?k,]0  当规模还小的时候,就建立一个集中的测试组织。招聘拥有一等技术技能的人。复制Google所做的全部,使之成为你的软件工程DNA的一部分。关注产品,而不是你的角色。不断的思考如何自动化日常重复性的劳动。众包一切可能的工作。

$v,d Q2`Q X} M,@0

YWv1L `0  提问:这本书的主要读者是谁?你希望他们在读完本书之后学到哪些重点内容?51Testing软件测试网*p)tSjO W\l5H

51Testing软件测试网fz p)J6Y}@A$Ha.t

  软件开发相关的任何人、每个人。希望人们理解(通过实践本书所讲的技术)不会使你做到完美,但是可以做的更好。(OR:这本书难以做到完美,但本来可以写的更好)51Testing软件测试网,]Fc.o:nwm1I.~

S RKzi0  本文出处:http://www.infoq.com/cn/articles/how-google-tests-software51Testing软件测试网(@HTH8_x


TAG:

引用 删除 abeljiang   /   2012-11-28 20:40:31
-5
 

评分:0

我来说两句

Open Toolbar