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测试分享-测试经理
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书, ...
- 转: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敏捷测试,测试和开发并行!
测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...
随机推荐
- Asp.Net - 8.多线程
8.1 概念 进程(Process):是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非利用分布式计算方式),一个 ...
- AIX性能监控
http://www.ibm.com/developerworks/cn/aix/library/au-aix7memoryoptimize2/ http://www.aixchina.net/Art ...
- C#值类型与引用类型
值类型(Value Type),值类型实例通常分配在线程的堆栈(stack)上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据.其在MSDN的定义为值类型直接包含它们的数据,值类型的 ...
- Shell编程基础教程2--变量和运算符
2.变量和运算符 2.1.变量的类型 本地变量:环境变量:变量替换(显示变量):位置变量:标准变量:特殊变量: 2.2.本地变量 本地变量在用户现在的shell生命周期的脚本中使用 在命令行, LOC ...
- Linux环境下stl库使用(vector)
step1: #include <iostream> #include <vector> #include <string> using namespace std ...
- 最长公共子序列(LCS)和最长递增子序列(LIS)的求解
一.最长公共子序列 经典的动态规划问题,大概的陈述如下: 给定两个序列a1,a2,a3,a4,a5,a6......和b1,b2,b3,b4,b5,b6.......,要求这样的序列使得c同时是这两个 ...
- ASP.NET 5探险(5):利用AzureAD实现单点登录
题记:在ASP.NET 5中虽然继续可以沿用ASP.NET Identity来做验证授权,不过也可以很容易集成支持标准协议的第三方服务,比如Azure Active Directory. 其实,在AS ...
- ServerSocket 默认邦定IP
转自:http://cuisuqiang.iteye.com/blog/2037769 开发中需要开启服务端的时候,本地测试都是直接写端口,实际环境也是需要指定要邦定的IP才可以. 因为对于服务器来说 ...
- Sublime Text 3 安装Go语言相关插件gosublime
1.打开Sublime Text,使用快捷键 ctrl+` (左上角Tab键上方,Esc键下方)或者使用菜单 View > Show Console menu,此时将出现Sublime Text ...
- Mac系统修改Intellij Idea默认JDK版本
Intellij IDEA 默认情况下,使用的jdk的版本是1.6,当第一次启动IDEA的时候,如果系统中未安装jdk,则系统会自动到苹果官网下载jdk安装文件.如果你的系统已经安装了jdk1.7或是 ...