Google上海如何测试搜索产品-1

上一篇 / 下一篇  2012-08-24 09:57:06 / 个人分类:测试经验

本文我们来谈谈Google上海是怎么测试搜索产品的。可能很多人经常使用的是Google的网页搜索,但在Google首页的Onegoogle bar上还提供了很多搜索的子频道,例如图片搜索、地图搜索、资讯搜索、视频搜索等,见下图。以下介绍的就是这些子频道的测试。

51Testing软件测试网:G*h/F5@(Z

  一、人员结构51Testing软件测试网C r3_k"l+|

51Testing软件测试网)LDLe r*I ~l

  从上图我们可以看出搜索产品团队是一个扁平化的组织

"M~-mBx(O#m0

  工程师经理:负责多个项目/产品(一般2个)的预算管理,工程师人员管理,Team Building51Testing软件测试网3[3E mY4bc](a6@

  产品经理:负责多个项目/产品(一般2个),产品特性定义设计和确定发展方向,竞争对手产品分析,主导产品创新讨论,确定新功能发布优先级51Testing软件测试网+v1Ec'Pa:j3Ps x

  技术组长:制定和跟踪项目进度表,统筹开发人员51Testing软件测试网LRT FGW@K k

  开发人员:设计开发文档,开发功能,单元测试,code review,提交发布

oF["DmD`_g0

  测试人员:建立产品质量流程,设计自动化测试框架,推动开发人员对质量的认知度,提高开发测试覆盖率,日常的测试任务

#{ ~ IKD/k j nh0

  UX:可选,在某些功能上提供用户体验分析,前台UI设计

ab#w8\-Q4H wO$cq0

  基本上每个搜索子频道都是这个结构,不到10人的团队,充分发挥每个成员的主动性,积极的沟通,产品经理引领产品走向,每个成员通过头脑风暴提供创意排好优先级来实现想法。51Testing软件测试网.D8Z lR4A']

  OKRs

/P,V i5Z}'U4k w0

   Objectives and Key Results的简称,Google特有的考核指标,分为Team的OKR和个人的OKR。每个季度,各个产品团队会根据自身产品的需求设定目标,是一个 结果导向的考核。制定出团队的OKR后,团队成员根据它制定自己的OKR,指标是需要能具体量化或实际看到成果的,同时分享给团队成员让其他人知道你的目 标和这个季度想要做的事情,季度结束时根据结果打分。

[9G%SD d8O0

$VF#w Q BL"m0  二、环境51Testing软件测试网4}d+@)R!v+T*y;S V

51Testing软件测试网/p:FN+jE+j

  已经上线运行的搜索产品一般会有以下四种环境,每个环境都会加入测试过程。51Testing软件测试网5j M BN*t:j5Bs|t

51Testing软件测试网6~n#oHbFl2hX

  1、Local Demo51Testing软件测试网/`L8?sr8J4B!Q

51Testing软件测试网,m~e do r#MZ

  当开发人员开发好某个新功能,会在他本机起一个本地的服务用来做前期的验证,测试人员也可以通过这个demo看到初步的设计,为编写测试计划和 测试用例做准备,形成初步的测试大纲或测试要点,同时可以提前和开发沟通,了解他是如何设计这个功能块,使用哪些技术评估风险,代码可测试性如何,单元测 试覆盖率是否达到一定程度。在这个阶段,开发人员会在Buganizer(Bugzilla二次开发版,google内部使用的bug管理工具)为他开发 的这个新功能建一个Hotlist,测试人员和开发人员将bug、feature request、improvement等提交进去便于跟踪。测试人员和开发人员在这个环节会有很多OneOne沟通(Google talk、Gmail、面对面),需要发挥测试的主动性,特别是需求的理解,双方要达成共识,有异议的地方提交给产品经理来确认。51Testing软件测试网eZ|8b!z7kv

4wFr+}%YiiE0  2、Dev Env(corp)51Testing软件测试网&][o$BfN6S'u}+l

51Testing软件测试网;D&Z:?.O/\r

  这是整个开发团队的环境,所有开发提交的功能会部署到这个环境中,测试人员可以在上面做集成测试,发现的任何问题,包括用户体验,需求改进都要提交到Bug库中,重大的问题可以放到周会上来讨论,这个阶段Tech leader会起主导作用。

P_ I)vcs,SL LvN051Testing软件测试网`4I7q3O%I;MJ6u

  3、Test Env/RC(borg)51Testing软件测试网%U?)n0JKO*],p

6}Q%b!bz1k @0  正式的测试环境,搜索产品的发布周期现在各个子产品基本都达到了一周一发布的频率,Google有一个borg环境,由成千上万的服务器组成, 各个产品申请获得某台服务器,之后这个产品的测试环境就部署在这台borg机器上,团队的每个工程师轮流来担任发布工程师,在每周的某一天先做代码冻结, 之后发布产品,当这个版本通过sanity check/smoke test,就可以通知测试人员来做正式的新功能测试和回归测试。51Testing软件测试网jL1~,u)rzn

N M'EUI!phO/R*}!W0  4、Production51Testing软件测试网&U4q%DP!Ia^v

51Testing软件测试网O!e-Msc

  搜索产品自身不产生内容的特点,在之前的环境,数据和生产环境上是一致的,但是生产环境上有成千上万台服务器,为了避免环境差异的问题,需要 Testing in Production,当每周RC测试通过且sign off后,测试人员需要到生产环境上跑一圈(go through),看看是否有遗漏的严重问题,如果有,及时的回滚到上一版本,这个版本废弃同时研究为什么会有严重问题遗漏,记录下来防止今后再出现类似 问题,如果没有,。51Testing软件测试网6K!`Pyc{1K

;E*r x8x:Zw9l{ L0  DogFood51Testing软件测试网r!D @nn3V$W

51Testing软件测试网-X8P7^"@d U`obk.i

  “吃狗食”,产品做大改版或一个新立项的产品经常会有这个环境,一般是个相对稳定的版本,用途是在内部推广,产品经理会邀请其他团队人员来使用并提供反馈,内部员工就是第一批用户。如果公司内部不认可,发布的几率会大大降低,因此,整个团队很关注这个版本。51Testing软件测试网M$Q+h_B"tF,h

{8o? br Q'mb0  Experiment51Testing软件测试网%P+}vd0`

p'PVDuR0  试验功能版,互联网的特点决定了需要不断的试错,很多创意在内部通过后会采用这种方式发布。根据不同地理位置不同IP不同平台不同浏览器等等,选取一些特殊的用户来试用,产品经理收集反馈后在周会上整个团队来评估这个试验效果是否可以全部推广。

k.G2H1@W3YYe051Testing软件测试网2~qQ2r'B;dZ

  三、测试51Testing软件测试网H\z\ \f;b^UW;L F8[7K

51Testing软件测试网;f d'jb'W l&I P

  在讲测试内容之前先谈下测试人资源,哪些人来做测试,从第一部分的人员结构图可以看到产品团队的全职测试人员一般只有一个,即使算上全球版和本 地版(Global和Local,常用Google搜索的应该会知道搜索除了google.com还会有各个国家的版本,比如CN/HK/TW)也不会超 过3个人,所以测试人员需要尽早测试,同时测试需要推动开发测试、培养开发的质量意识,让开发也承担一部分测试任务,所以外面都说Google的开发和测 试比例是10:1,而我觉得确切的说应该是10:11,开发和产品经理也参与了很多测试工作,全员测试,全员对质量负有责任。51Testing软件测试网5hl+QAP3]#Y)f` fmo

5AcYJ(zr7{0  1、One Page Test Plan

D Jf.Q,V[A]0

w/^/K,~X7T0  整个产品的测试计划一般就一页纸但并不是说只能一页纸,而是一个轻文档的概念,里面包括了产品背景、测试策略、测试内容、哪些功能需要测试、哪些功能目前还没有加入测试、使用了哪些测试类型、目前在线的功能、测试环境、日程/进度表、资源、风险和依赖等等。

+U\4y)O5WGk051Testing软件测试网)Z-X;d+k{uM

  针对具体某个比较大的功能模块也同样适用,也就是说测试计划包括整个产品的还包括产品内部功能模块的。

*vuL$I ` m:E B0

TAG:

 

评分:0

我来说两句

Open Toolbar