51Testing软件测试网"Mav-?)E)S x Y ~$d 《Google如何做测试》一书由James Whittaker, Jason Arbon 和 Jeff Carollo 三位作者合著而成,正如其封面上描述的那样,看起来充满了知识性和趣味性,在其背后则揭秘了大型技术公司Google,是如何应对和处理软件测试的复杂性的。51Testing软件测试网TSp n2i,n
?5j_
51Testing软件测试网6k8?#x
Mnv;b aI*I 最近此书的作者们关于此书与提问做了一次对话访谈。51Testing软件测试网0L2Aj"w$SwC
51Testing软件测试网7\2[3i?,BEU9C 提问:写著本书或与大家分享Google测试方法的主要动机是什么?
"o+D$Fp2b"\;_0H
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@?03mdnpj{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$~wTBd8si4G 问题在于规模。两类技能兼备的人才一定有,但当然不是要多少有多少。实际上,雇到愿意学习编码的测试人员,比雇到愿意学习测试的开发人员要容易。
)P+D j;D`hQS%v08]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?.VV W o)I@I{0NJ-W[WP:`j9k0 提问:一些读者可能会认为书中描述的很多方法难以推广,因为他们觉得你们能做到这个的唯一原因是“因为你们是Google”。对这类说法,你怎么看?
4}c
h.qsaGd051Testing软件测试网0p~v+_&H4m|O;Z Google是怎样成为今天这个样子的?通过更快的、更大规模的编写软件。并不是因为Google成就了好的测试,而是因为好的测试成就了Google。这仍然是Google的强项,它可以更快的开发Internet规模的产品。51Testing软件测试网m(VRy%L
51Testing软件测试网3?]+M%g p 提问:对那些希望从事测试工作的测试分析师或者新的毕业生,如何应对测试角色的不断变化的技能要求,你有什么好的建议?
9PJ#aX#eh]6T u07Y___6`(PYtv{'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,@0YWv1L `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