转:google测试分享-测试经理
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html
前言:这个系列分享的内容大部分都是出自于《google是如何测试的》的书,不是我YY的,我只是大自然的搬用工,希望对大家有那么一点点的用处,当然后面也会有个人的一些想法。
上一次分享了google测试分享-GTA,大概说了下google是如何使用GTA来管理整个测试阶段,特别是测试计划的安排,那这次会聊一聊google测试经理是如何进行团队管理的。
为了让这些blog分享更有逻辑性,我打算分几个专题来分享google测试相关的测试理念。
google测试分享-测试经理
google测试分享-问题和挑战
google测试分享-未来测试
首先大家可以思考下,google的测试经理角色必须具备什么样的能力。据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥);对于与被测产品相关的任何使用问题,测试经理都应该是专家。所以google对测试经理的期望:相关项目中最强的产品专家。这个时候,大家是否感觉奇怪了,测试人员对业务的了解大家都是认可的,为啥测试经理也是要对业务非常了解呢,测试经理不是安排下测试任务就OK了吗。
google认为优秀的测试经理能做到如下几点:
(1)了解产品
(2)知人善用
(3)解决资源紧缺问题
(4)问题不能简单的通过增加人手来解决,就需要使用工具使其流水线化
(5)有责任优化整个测试过程,任务安排更合理
(6)不能过于依赖于某些成员,必须沉淀可用的工具或总结成一套方法,帮助其他人成为明星
那么在google测试经理是如何来安排测试任务呢,首先开发团队组织一个会议邀请一位可以信赖的测试经理,向他介绍自己的项目,希望他能够为这个项目组建一支测试团队。而那些不重视质量的开发团队,只能自己完成测试工作,因为他找不到测试人员帮助他们提高质量;同样的那些不愿意编写小型测试用例、不进行良好单元测试覆盖的开发团队将会不被理睬,自生自灭。也就是说,如果开发团队的质量意识未改变,那这个开发团队开发的产品肯定不会有专门的测试人员参与。
在google,每个工程师的目标都应该是建立影响力。测试经理没有要求测试团队来保证产品的质量,没有要求保证产品的按时发布。测试经理应该保证每项工作都具有一定的影响力。也就是说测试团队的团队目标是:一个测试团队中每位工程师都有能力完成极具影响力的工作,测试过程中的每个单元都有明确的目的和明显的效果。开发团队也非常理解测试工作并一起参与进来,直到最终完成目标,测试经理需要多思考为什么,为什么做这些事情:第一 因为它能提高产品的质量;第二,因为它能提高工程师开发产品的效率。
在某些特殊紧急情况下,测试经理在设计阶段会积极地参与,持续地跟进项目并且自己编写测试。在正常项目情况下,测试经理需要制定好项目测试策略:
(1)使用20%的测试人员进行探索式测试。任何关注用户体验的产品都需要探索式测试
(2)30%的测试工程师关注于产品的整体性测试,他们和SET一起保证测试的效果
(3)另外50%的工作是SET开发相关的自动化测试和工具,以保持代码库的健壮和提高开发人员的工作效率
相比较其他公司而言,google更强调速度,确保他们的产品足够快,测试人员进行性能分析以便于可以证明给所有人看。google的DNA就是创新精神。测试团队也应该被看做创新者。发现重要的问题并能创造性地提出解决方案。在google大部分测试TC都是自动化测试,怎么进行产品的自动化测试呢,这个比喻就像开车一样,你必须找到测试的离合点。过早编写测试,有可能由于架构的变化导致全部工作作废;若等待太久,则又可能错失测试良机而导致没有充分测试。测试驱动开发是个不错的选择。
google的测试人员非常强调产品的压力测试,发现性能退化的问题,帮助开发一期定位和解决问题。另外也更加专注于预防bug而不是检测bug,包括CI,code change push CI;由于强调对每个层次的测试范围了如指掌,特别是自动化测试能覆盖的测试范围,这样就给探索式测试的效率也带来了挑战。
测试团队获取开发工程师的支持是很重要的,整个项目团队(开发+测试)共同对组件级别的产品质量负责,而测试可以集中精力来改进流程、框架、工具集和集成测试。
测试管理者就像一个海盗船的船长一样来管理的,他给船员的真正的动力在于劫掠的生活方式和看到下一次收成的兴奋感。测试管理者要靠技术洞察力、令人兴奋的技术冒险、有趣的停靠港口来带领团队,否则船员很容易变动,去找能给他带来未来的新船长。
相比较于国内的测试经理来说,对业务和产品细节的理解就会差很多,很少TL去参加自己负责的产品的PRD评审或技术方案评审,所以给团队成员在测试策略和创新上提供的价值就会少很多,如何最优化项目的测试范围和计划,如何利用更多有效率的方法和工具上,TL的价值就会差异非常的大。那本书里面就举例了chrome测试经理是如何对于chrome的产品需求细节和技术实现细节的了解到位的,总体上还是让人很诧异的。
最后我谈谈个人对测试经理或TL的职责的理解,我觉得TL要给所有测试人员找到目标感和成就感是首要的任务,包括找到那种创新和变革的氛围。想办法减少或解决重复单调的测试执行工作,将测试人员的工作重点放在测试设计上,尤其是异常测试设计上,其中包括系统设计方案的理解,甚至是code review等,同样的,这些工作任务上,测试经理应该有很丰富的经验能指导团队成员高效的完成。
另外还希望测试经理还能给团队成员带来不一样的思考角度,包括测试技术和项目测试管理上,这就要求测试经理不仅仅非常全面的了解国内一些成熟的测试技术和正在实践的新的实践方式,还需要了解国外的一些测试理念,抽选出合适的,小而美的创新方式在项目中进行小范围的实践,这些都需要有测试技术sense和想象力才能完美的实现。
包括google在内,测试团队还是会有很多各种各样的问题和调整,测试环境问题、自动化测试问题、覆盖率问题、效率提升问题、单元测试问题、测试职业前途发展问题等等,测试团队每年的改变和目标都是在解决这些问题,一步步的解决,从未放弃,这也是互联网测试团队不同于传统测试团队最大的区别,下期准备分享google测试遇到的问题和挑战,google测试分享-问题和挑战。
转:google测试分享-测试经理的更多相关文章
- Google测试分享-测试经理
首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都 ...
- 转:google测试分享-问题和挑战
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vxer.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书, ...
- 转:google测试分享-GTA
原文: http://blog.sina.com.cn/s/blog_6cf812be0102viuh.html 上一次分享了google测试分享-分层测试,有很多自动化测试的策略和实施都要有一个重点 ...
- 转:google测试分享-分层测试
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vctg.html 上一次分享了google测试分享-SET和TE,有一些自动化测试的细节没有说清楚,那这 ...
- 转:google测试分享-SET和TE
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vbnb.html 前端时间看了google测试之道,收获了一些,在此总结下并打算写一个系列blog,顺 ...
- Google+团队如何测试移动应用 - from Google Testing Blog
How the Google+ Team Tests Mobile Apps by Eduardo Bravo Ortiz “移动第一”在当下已成为很多公司的口头禅.但是能够用一种合理的方法来测试移动 ...
- 网易测试分享会——“一起打造你想要的QA团队”
昨天(2016.11.30)参加了网易资深测试专家王晓明的测试分享会——“一起打造你想要的QA团队”,以下为笔者做的归纳总结. 重点 1.让测试更加容易做好.不容易测试的代码,不具有健壮性. 2.Ke ...
- APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发
APP专项测试要点 兼容性测试 安装,卸载,升级 交叉事件 PUSH消息推送测试 性能测试 其他类型 兼容性测试 手机型号 系统版本 安卓 (版本4.4开始兼容) IOS(版本9.x开始兼容) 屏幕尺 ...
- APP敏捷测试,测试和开发并行!
测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...
随机推荐
- 【BZOJ4137】火星商店问题(线段树分治,可持久化Trie)
[BZOJ4137]火星商店问题(线段树分治,可持久化Trie) 题面 洛谷 BZOJ权限题 题解 显然可以树套树,外层线段树,内层可持久化Trie来做. 所以我们需要更加优美的做法.--线段树分治. ...
- 【原创】【目录】实现rich editor(富文本编辑器)教程,深入理解selectiona/range操作与浏览器差异
日常工作中,接触富文本编辑的次数还是很多,特发此教程,希望可以改变富文本编辑的技术门槛较高的现状,解决这部分的坑. 前提准备,兼容获取range,统一回车行为,前期准备工作 了解document.ex ...
- Function.caller, arguments.caller, arguments.callee, arguments.callee.calller
Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对 ...
- yd的拔钉子之路之 POI 2017
写在前面的一些话 如果我NOIP没退役,这大概会写成一个系列吧,所以这算是系列的开始,要写一些奇怪的东西? 首先解释下什么叫“拔钉子”,其实就是在钉子上做题嘛......至于钉子具体是个什么东西就当面 ...
- APIO2017
商旅 在广阔的澳大利亚内陆地区长途跋涉后,你孤身一人带着一个背包来到了科巴.你被这个城市发达而美丽的市场所 深深吸引,决定定居于此,做一个商人.科巴有个集市,集市用从1到N的整数编号,集市之间通过M条 ...
- 音视频处理之H264编码标准20170906
一. H264基础概念 1.名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场. 片: 每个图象中,若干 ...
- C++类间转换之dynamic_cast
当在C++的基类与派生类之间转换时,其多态性充分显现出来: 本次只讨论 dynamic_cast 的用法. 在查阅资料后发现百度百科关于 dynamic_cast (以及static_cast ...
- mysql 在linux服务器恢复数据表方法记录
在本地搭建测试环境录入的数据放到线上测试,备份了数据表为一个.sql文件, 在服务器上登录mysql执行 source (如:source exposition_exposition.sql) 文件路 ...
- 2D旋转和3D旋转
2D旋转 先给个容器 <p onClick="rotate2D()" id="rotate2D" class="animated_div&quo ...
- git使用(1)----推送代码到远程
git使用(1) 首先要明白git上有三个区域 1.工作区 2.暂存区 3.历史记录区 步骤: 1.git init 2.配置环境(如果配置一次了以后就不用再继续配置) git config - ...