软件测试管理

当前位置:首页 > 软件测试管理

《Google软件测试之道》第四章 续5

4.12 James Whittaker访谈


在James的办公室里我们调转桌子对他本人进行了采访。James在巨大的锣鼓声中加入了Google并成为极受认可的测试名人。他的文章主宰了我们的测试博客,他在GTAC上的出现吸引了大批的人群,他为Google带来了专业性的指导和巡回演讲。他强大的个人魅力在西雅图和科特兰办公室,甚至整个公司几乎无人能出其右,如果说除了谁的话,那人也只能是PatrickCopeland了。Pat是老板,但是要说谁是Google在测试领域的精神领袖,那人就是James。


HGTS:你在2009年离开微软加入了Google,当年你在微软的博客上宣布这一决定 却没有指明你要加入的公司名称。你能讲讲为什么吗?是为了制造神秘感吗?


James:上来就给我出难题啊?同志们!讲好了只问简单问题的!


HGTS:你答应有问必答的,所以回答问题吧!


James:好吧,我主要想通过MSDN上的博客及时向人们通告我将离开的消息。在从微软公司离职这件事上,我有点儿信心不足,当时大家还都不怎么上Twitter,所以我决定在最大众化的论坛上广而告之。我想把这个消息能一次性地告诉尽可能多的人,而不必参加一连串的那种面对面的“我要离职了”的会议。事实上,当时很多的微软同事都阅读我的博客,而不是看我的邮件!所以在当时那是发出这个消息的最佳方案。人们得知我要离开以后花了很大力气劝我留下来。要决定离开一家你乐于为其工作的公司,离开共事多年的朋友并不容易。我喜欢微软也非常尊重在那里工作的工程师,从那里离开对我来说挺艰难,但我也不想再质疑自己的决定。说实话,如果再让更多的人有机会来游说我,我真有可能就动摇了。我真的很想到Google来工作,所以,我不能给他们阻止我的机会。


HGTS:为什么呢? Google 哪些地方吸引了你? 


James:其实说来挺神奇的。早年间我曾做过大学教授,还开创了自己的公司,我做过除了为大公司工作以外的所有的事。当我鼓起勇气为大公司工作的时候,我决定找一间真正大的大公司,越大越好,我的工作能影响到的用户越多越好。我想让自己在工业界的事业获得成功,那为什么不选择顶尖的公司呢?这正是多年以前微软吸引我的地方,也是后来Google吸引我的地方。我要去大公司。我还要在世界上最好的大公司工作。不过真正打动我的是Google逐渐成为最棒的软件测试公司。长时间以来一直是微软占据着这个位置,我认为是Patrick Copeland从微软那里夺走了这一头衔。Google看起来是对一个测试者来说最棒的地方。最后是我参加的那些面试帮我做了来Google工作的决定。PatrickCopeland、Alberto Savoia、 Brad Green、Shelton Mar、Mark Striebeck (还有好多其他人)都面试过我,那些谈话简直棒极了。我和Alberto在我的“面试”过程中把整个白板都写满了。他后来甚至回忆说当时竟然忘了问我任何问题。


Shelton和我在很多问题上看法不一致,不过他对我的观点态度很开放。虽然观点存在分歧,但也令我印象深刻。与当时面试的时候相比,我们现在达成一致的观点多了很多!Brad呢,他特别酷。我是说他在面试的时候竟然没穿鞋(当时是二月份),而他的看法也有点儿属于那种不穿鞋的类型。Mark几乎把全部的面试时间都用来说服我加入Google工作。在这些面试中,各种思想的火花激荡碰撞,荡气回肠,恍如隔世。面试完成之后,我都累极了。我回想那时钻进出租车里想自己找到了一家最好的公司,又有点儿担心自已是否能有足够的能量到这里工作。我的确担心自己是不是能作出贡献,这太有挑战了,超出了我习惯的舒适地带。不过我喜欢接受挑战,而且我相信成功绝不会来得那么容易。毕竟,又有谁只满足于那些轻松的工作呢?


HGTS:那Google有没有辜负你的这份期望?


James: 噢,是呀,这可真不是一份轻松的工作!不过我估计你是指激情的部分。我实话实说,在微软也有大量优秀的测试人员和对测试的热情。Google 的不同在于这种激情更容易被传播。Alberto和我从来没有在同一个团队共过事,但是我们可以通过那20%的自由时间在一起工作。Brad和我在IDE和诸如自动报告bug (Brad通过Google Feedback 而我通过BITE)方面都还有合作。Google 很懂得为这种合作提供空间,并使它作为日常工作的一部分被认可。


HGTS:我们在科特兰和你一起工作过,我们见识了团队士气上的巨大变化,整个团队能高效地完成工作。你有什么秘诀?


James:我承认我加入以后科特兰确实提高了不少,不过我不想沾沾自喜,止步不前。变化一定程度上来自于足够大的团队。我的到来引发了一波巨大的入职潮,很多非常有才华的人也加入了Google。 开始的几个月里,我们的测试团队增长超过了四倍。我可以组建更大的团队,让不同产品线上的团队在类似的事情上进行合作。与原来紧跟开发的孤立测试团队不同,我们有了很多测试团队能够坐在一起,互补互助,共同提高。这对士气和生产效率都有巨大的提升作用。更多的人手也允许我能够把像你们两位这样资深的人才从现有的项目中解放出来,赋予更富挑战的工作。Jeff原来为GoogleToolbar编写预提交的代码。嘿,这多浪费你的才华啊!Jason,你原来在测试GoogleDesktop。我告诉你们作一个优秀经理的秘诀就是能让人发挥所长,做到这点你的工作就差不多完成了。下属会更开心,项目也做的更好。但我们需要更多人手才能走到这一步。


充足的人手还可以让我们有足够的空间,自由支配20%的时间来做一些探索性的工作。我可以启动一些更具风险的实验性项目。我们开始做一- 些不受软件发布压力制约的工具项目,这些项目更多地源自于我们的热情。我发现没有比开发工具更能激发测试人员的创造性和提升测试团队士气了。坦白说,我觉得这才是测试工作最令人满意的部分。也许我从内心里更倾向于自己是个工具开发者而不是测试者。


HGTS:对于Google的组织结构最令你满意的地方是什么?


James:这个问题容易回答!实际上我会向那些候选人这样推销Google: 测试人员向测试人员汇报,测试人员自己决定自己的发展。这就是我对Google最满意的两件事。测试人员不再附属于任何人。测试有自己的招聘委员会,自己的评估委员会,自己的晋升委员会。这感觉就像联合国承认测试作为一个独立国家一样!我们的文化里没有任何从属的部分。如果还要找出别的原因,就是测试角色的稀缺性。开发团队必须通过切身努力提高质量才能赢得测试的人力支持。测试人员必须非常聪明。我们的资源很紧张,所以必须特别善于安排优先顺序,必须善于自动化开发,必须善于和开发人员谈判。稀缺性带来的是资源优化。Pat做了很多正确的事,但是我认为,资源稀缺这一点促成了 很多文化上的变化。


HGTS:微软没有集中的测试组织结构,你花了多长时间来适应Google的这种文化?


James:我刚来的时候Pat Copeland给了我两条建议。第一条,是先花一些时间来观察学习。这点很重要。在大公司要多花一些时间学习,在微软高效工作和在Google高效工作所需的技能是不同的。开始的几个月我按照Pat所建议的——聆听而不是直接发言, 询问而不是直接尝试,诸如此类。我非常接受他的这条建议,实际上我甚至还多延续了几个星期!


HGTS:你刚才说是两条建议.....


James:噢,是啊,对不起,我糊涂了。有时候Pat会说些睿智的话,我刚才私吞了一条!他的第二条建议,我当时并不喜欢,不过后来证明这条建议比前面那条更棒。他当时把我拉到一边,然后说,“兄弟,我知道你在来Google之前已富盛名,但是在这个公司里,你还什么成就也没做出来呢。”Pat很少绕弯子;你不必费尽心思从他那里体会什么不便言明的深意。他的话通常都直接了当,这次他想说的就是Google并不会关心我以前做了什么。我必须在Google内部获得成功,否则其他事情都免谈。在Google想要成功不能只是到处晃晃。他建议我选择发布一些重大的产品,可能的话,做出些与众不同的东西来。我选择了Chrome 和Chrome OS,按他说的完成了。我是Chrome OS的第一任测试经理,然后当它发布以后,我把这个位置交给了我的一位下属。Pat是对的,当你真正完成了一些重大的事情以后,其他事情也就容易了。我之前的经历让我能够加入这里,但在Google内部获取成功是非常关键的事情。正是由于我做到了这一一点,为人们关心的产品作出了贡献,才获得了人们的尊重。如果我再换工作的话,还会使用这样的公式:先虚心学习,再在一线作出成绩,然后开始寻求创新的方法。


HGTS:除了产品测试,Pat还要求你关注哪些方面?


James:是的,他让我管理测试工程师(TE)的规范化。测试开发工程师(SET)角色已经存在很久了,大家都很清楚这个职位的职业成长阶梯,我们非常了解对SET的期望以及如何对其进行业绩评估和晋升。不过这点对TE来说,我们还处于探索的过程中。Pat希望我的到来能让测试工程师这个角色重获关注。他其实早就想好了让我做这件事。我猜想他觉得平衡的天枰已经向SET的角色倾斜太多了,需要让TE的角色重获新生。告诉你们,他从来没告诉过我这些,这只是我自己的感觉。


HGTS:那你怎么处理测试工程师角色的问题的?


James:Pat和我启动了一个测试工程师的工作组,这个组织现在仍然存在。我们每两周见一次面,开始是两个小时,后来减少到每月一小时。Pat 参加了几次,然后就交给我来运作了。这个工作组由大约12名测试工程师组成,他们全都是Pat亲自挑选的。我以前也都不认识他们。第一次会议上,我们列了两个列表:分别列出测试工程师这个角色令人兴奋和感觉不爽的地方。光列出这两个列表的时候就有一泻千里的感觉,大家认同的好的方面和抱怨的坏得方面基本都一样。我很惊讶大家能当着Pat 的面还毫无顾忌,没人试图粉饰任何事情。我在职业生涯里见过太多的会议,人们都等着屋子里最重要的那个人发言,之后再跟着他讲。在Google根本不会这样,没人在意Pat是怎么想的,因为这个会议是关于他们自己的。如果Pat不能接受这一点,那也是Pat自己的问题。这真是与众不同。这个工作组做了大量的工作来定义测试工程师这个职位,重塑了测试工程师的职业发展阶梯。测试工程师的晋升,都会由整个测试工程师团队开放式投票完成,这种方式是得到认可的。这项工作非常酷,我带领整个工作组来庆祝。这完全是一次草根的胜利。我们还制定了一些面试原则,帮助测试开发工程师和软件开发工程师学习如何面试到合适的测试人员。我觉得现在可以说测试工程师已经和测试开发工程师的角色具有同样清晰的定义了。


HGTS:你已经在Google摸爬滚打挺长时间了,能给我们总结一下Google的秘诀吗?我们在测试方面都有哪些“秘方”?


James:那就是测试人员所拥有的技术能力(包括计算机科学的专业文凭)、测试资源的稀缺从而获得开发人员帮助和不断进行测试优化、优先考虑自动化(这样才能让人去做那些计算机做不好的事情),以及快速迭代、集成和获得用户反馈的能力。其他公司要想效仿Google的做法,应该从这四个方面做起:技能、稀缺性、自动化和迭代集成。这就是Google测试的"秘方”,照方抓药吧!


HGTS:你还有要打算写的书吗?再来一本测试方面的书怎么样?


James:我不知道。我的书都不是事先计划好的。我的第一本书,源自于我在佛罗里达理工学院教授软件测试的课程教案。我原来并没有计划把它出版成书,但后来我在STAR演讲的时候,有位女士问我是不是有意把它做成书。她是一位出版商,这就是《HowtoBreakSoftware》的由来。我独立编写了那本书的每个字句,那可真是件累人的工作。我的后两本书都是有共同作者的。Hugh Thompson写作了《How to Break Software Security》,我在其中提供一些帮助。Mike Andrews写作了《How to Break Web Software)》,我的角色还是提供帮助。这两本书其实是他们的书。我作为作者、思考者和管理者帮助完成写作。我热爱写作,Hugh和Mike都没有嫉妒我比他们写的好。你们两位会吗?我想也不会。要不是因为有我,他们谁也写不成那两本书(尽管后来Hugh又写了另外一本书,但我的说法还是成立的)。最终,我的职业生涯写成了书,而我身边的人成了共同作者。你们敢否认这一点吗?


HGTS:嗯,好吧,读者其实可以通过手中的书证明这一点!我们放弃这次否认的权利!


James:我也不是完全不能独立写一本书,《Exploratory Testing》就是另外一本我想自已完成的书。这本书也脱胎于我在会议上的演讲。我从教材和资料里抽取部分,积累起来,直到可以成书。我不确定如果没有你们俩的帮助,这本书还能不能完成。不过这是一次完全真正的合作,我想我们三个人的贡献是相当的。


HGTS:我们俩个人都很高兴能参与其中。我们可能比你更能写代码,但必须承认你在语言可读性上的造诣!你自己最喜欢这本书的什么部分?


James:整本书我都喜欢。写作这本书真的很有意思。倒不是因为准备写作的材料,它们都已经是现成的了,我们需要做的就是把它们记录下来。如果一定要挑一个特别喜欢的部分的话,我会选其中的访谈部分。采访那些人并记录下来很有趣。我希望自己刚来Google的时候就能进行这些采访。Huang Dang的访谈特别值得一提。 他带我参观了Android实验室,然后针对测试哲学和我争论起来,整个访谈都很紧张。我奋笔疾书地记录,从学校毕业以后我还从来没有那么快地写过字。那是我和他在一起度过的最有价值的一段时间。我在Google经历了很多人和事,但直到我把它们写下来之前,我自己都没有意识到。我想这就是记者要做的事情,你必须要深入了解你的采访对象。


HGTS:如果你没有进入测试领域,你会做些什么?


James:在技术领域,我会做开发工具和开发技术传播的工作。我想让写软件变得更简单。不是所有人写代码都能像Jeff Carollo那么棒!我都不能相信我们竟然还在徒手开发应用。20世纪80年代,我在大学里学到的开发技术到现在还在用。这太疯狂了。整个技术领域都没什么变化,我们还在用C++写程序。


为什么软件开发一点儿也没变简单?为什么那些糟糕的、不安全的代码还比比皆是?开发优秀代码应该比开发烂代码更容易才对。我会为解决这个问题而努力。技术传播也很重要。我喜欢公开演讲,我喜欢同技术人员谈论技术话题。把与开发人员交流当做正式工作的想法,比测试还要来得令人兴奋。要是有这样的工作机会一定通知我哦。


HGTS:那如果不做技术领域了呢?


James:这个可比较难回答了,我还没考虑过其他的职业呢。我对技术领域还有用不完的热情。不过要是真有选择,我想去讲授管理学的课程。你们老是说我是个不错的管理者,最近我还认真考虑了一下为什么我做的还不赖。也许我的下一本书就叫《怎样才能不做差劲儿的老板》。我还想为保护环境做些工作。我喜欢我们的世界,它值得我们去爱惜和维护。


喔,我还爱啤酒。我太爱啤酒了。我都能想象自己像电视剧《干杯》里面的Norm那样:我走进酒吧,大家大喊,“James!", 然后坐在我的固定吧台那儿的人会自觉把座位让给我。这才是把事儿干好了的感觉。我想自己能像Norm那样赢得所有人的尊敬。


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~