《Google软件测试之道》- Google软件测试介绍
《Google软件测试之道》- Google软件测试介绍
2015-05-21
目录
1 质量与测试
2 角色
3 组织结构
4 爬、走、跑
5 测试类型
相关链接
与Microsoft相比,Google的测试团队并非雄兵百万,更象是小而精的特种部队,依靠的是出色的战术和高级武器。Google信奉“少则清晰”。
1 质量与测试
返回
测试是开发过程中必不可少的一部分,当开发过程和测试一起携手联姻时,即是质量达成之时。
2 角色
返回
软件开发工程师(software engineer,简称SWE):传统的开发角色,与测试相关的是:代码审核,编写与测试代码,包括测试驱动的设计、单元测试、参与构建各种大小规模的测试等。
软件测试开发工程师(software engineer in test,简称SET):重心在可测试性和通用测试基础框架。参与设计评审,非常近距离的观察代码质量和风险。
注意:SET和SWE在代码库上的合作伙伴,与增加功能性代码或提高性能的代码SWE相比,SET更加专注质量的提升和测试覆盖率的增加。SET写代码的目的是可以让SWE测试自己的功能。
测试工程师:(test engineer,简称TE):TE把用户放在第一位来考虑。TE组织整体质量实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。
从质量角度来看:
- SWE负责功能实现和这些独立功能的质量。他们对容错设计、故障恢复、测试驱动设计、单元测试负责,并和SET一起编写测试代码。
- SET也是开发人员,负责提供测试支持。SET的主要责任是让开发者可以很容易地编写测试代码,从而实现独立功能模块的质量要求
- TE专注于用户角度的测试。
3 组织结构
返回
Google的组织汇报关系被划分为不同的专注领域(Focus Area)。这些专注领域包括客户端(Chrome、Google工具栏等)、地理(地图、Google Earth等)等等。所有开发工程师都汇报给这些专注领域的管理者。
测试是独立存在的部门,是与专注领域部门平行的部门(横跨各个产品专注领域),我们称之为工程生产力团队。测试人员基本上是以租借的方式进入产品团队。生产力团队会根据不同的产品团队的优先级、复杂度、并与其他产品实际比较之后,在来分配测试人员。
4 爬、走、跑
返回
在拥有如此少量测试人员的情况下,Google还能取得不错的成果,核心原因在于:Google从来不在一次产品发布中包含大量的功能。实际上,恰恰相反,在一个产品的基本核心功能实现之后,就立即对外发布使用,然后从用户那里得到真实反馈,再进行迭代开发。
例如Chrome,根据我们对产品的信心以及来自用户的反馈,我们在整个过程中使用了不同的版本,大致顺序如下:
- 金丝雀版本:每日构建,用来排除过滤一些明显不适宜的版本。
- 开发版本:开发人员日常使用的版本,一般每周发布一个。
- 测试版本:一个通过了持续测试的版本。这个版本基本上是最近一个月里的最佳版本了。
- beta或发布版本:这个版本是由非常稳定的测试版本演变而来,并经历了内部使用和通过所有质量考核的一个版本,也是对外发布的第一个版本。
这种爬、走、跑的模式,给我们的应用程序尽早的提供了一个测试验证的良好机会。与从自动化测试那里得到的反馈一样,我们每天都能从内部用户那里得到关于这些版本的质量反馈。
5 测试类型
返回
Google并没有使用代码测试、集成测试、系统测试这些命名方式,而是使用小型测试、中型测试、大型测试这样的称谓,着重强调测试的范畴规模而非形式。
表1 测试类型
名称 | 参与者 | 自动化 | 方式及任务 | 解决的问题 |
小型测试 | 主要由SWE,少量由SET,TE几乎不参与 | 绝大部分 | 用于验证单独函数或独立功能模块,着重于典型的功能性问题、数据损坏、错误条件和大小差一错误等方面的验证。一般需要使用mock和fake。 | 这些代码是否按照预期的方式运行。 |
中型测试 | SET会驱动这些测试的实现及运行,SWE会深度参与,一起编码维护这些测试 | 绝大部分 | 一般会涉及两个或两个以上模块之间的交互。 | 一系列临近的模块互相交互的时候,是否如我们预期的那样工作。 |
大型测试 | 三种工程师角色都会参与到大型测试之中 | 大部分 | 涵盖三个或以上的功能模块,使用真实用户使用场景和实际用户数据,大型测试关注的是所有模块的集成,但更倾向于结果驱动,验证软件是否满足最终用户的需求。 | 这个产品操作方式是否和用户的期望相同,并产生预期的结果。 |
对于所有的三种类型测试,Google更倾向于做自动化测试,当然Google也有大量的手动测试.它更倾向于测试新功能,用户体验,隐私之类东西。
相关链接
返回
新浪博客JerryGao写了其它章节的心得如下:
google测试分享-SET和TE
google测试分享-GTA
google测试分享-测试经理
转载于:https://www.cnblogs.com/Ming8006/p/4521729.html
《Google软件测试之道》- Google软件测试介绍相关推荐
- 《Google软件测试之道》目录—导读
内容提要 Google软件测试之道 每天,Google都要测试和发布数百万个源文件.亿万行的代码.数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行.面对这些看似不可能完成的 ...
- 《Google 软件测试之道》摘录
最近刚刚看完<Google 软件测试之道>,受益颇多,遂记录下: 只有在软件产品变得重要的时候质量才显得重要 第一章:谷歌软件测试介绍 角色介绍 SWE(Software Engineer ...
- 《Google软件测试之道》读书笔记
Google软件测试之道 像google一样进行软件测试 软件测试介绍 少则清晰,测试人员的稀缺导致测试资源很昂贵.(不要招聘太多的测试人员) 质量不等于测试 开发对质量负责(预防行为,不是检测) 卫 ...
- 《Google软件测试之道》—第2章2.4节与工具开发工程师Ted Mao的访谈
本节书摘来自异步社区<Google软件测试之道>一书中的第2章2.4节与工具开发工程师Ted Mao的访谈,作者[美]James Whittaker , Jason Arbon , Jef ...
- 《Google软件测试之道》—第2章2.5节与Web Driver的创建者Simon Stewart的对话
本节书摘来自异步社区<Google软件测试之道>一书中的第2章2.5节与Web Driver的创建者Simon Stewart的对话,作者[美]James Whittaker , Jaso ...
- 《Google软件测试之道》有感
Google软件测试之道有感 谷歌测试工程师给我的感觉 他们做了些什么 A&Q 谷歌测试工程师给我的感觉 如他们的招聘要求,有很多想法,并且有能力去实现.印象深刻的是,有一位为了实现自己的想法 ...
- 《Google软件测试之道》告诉你什么是测试
Google软件测试介绍 1.Google的测试团队并非雄兵百万,我们更像是小而精的特种部队,我们依靠的是出色的战术和高级武器 2.在Google,写代码的开发人员也承担了测试的重任.质量从来就不仅仅 ...
- Google软件测试之道
目录 一.Google软件测试介绍 1.质量不等于测试 2.角色 3.组织结构 4.爬.走.跑 5.测试类型 二.软件测试开发工程师 三.测试工程师 1.一种面向用户的测试角色 2.测试工程师的工作 ...
- Google软件测试之道(读书笔记)
目录 第一章 Google软件测试介绍 第二章 软件测试开发工程师 第三章 测试工程师 第四章 测试工程经理 第五章 Google软件测试改进 第一章 Google软件测试介绍 角色.类型.行为.组织 ...
最新文章
- strncmp实现方式之一
- PYG教程【四】Node2Vec节点分类及其可视化
- Hadoop中RPC机制详解之Server端
- LeetCode 55. 跳跃游戏(贪心)
- angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
- 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
- filewriter判断是否关闭_各种仪表故障判断,看完你也可以成为仪表维修专家
- python-day76--django-中间件
- Vue脚手架创建项目报错 ERROR command failed: npm install --loglevel error --legacy-peer-deps
- 2022-爬虫-Selenium-百度安全验证
- 如何查看电脑上是否安装了MySQL
- 2018年前端笔试高频题精选(二)
- 数据结构 —— 广义表
- Java核心技术 卷1-总结-18
- VxWorks操作系统基础(适合初学者阅读)
- 阿里菜鸟招聘java和客户端开发
- 论突变为零(不定更新)
- html5公司年终抽奖程序源码按数字随机抽奖
- 异构数据库迁移的曲折之路
- 修改GITBASH命令提示符
热门文章
- 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
- 沉浸式5G实景、AI+AR体验、机器人互动|5G+数智化展馆广州开幕
- 这才是真的码“农”!Linux基金会要推广开源技术种菜了
- 今年,你会为5G消费吗?就一分钟,求投票
- 大神程序员,夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时都在线
- 根因分析初探:一种报警聚类算法在业务系统的落地实施
- 优雅地在 Mac上使用 IDE 查看open-jdk源码
- Opencv笔记(九)——图像阈值
- Nginx容器日志收集方案fluentd+elasticsearch+kilbana
- (二十)java多线程之ScheduledThreadPoolExecutor