《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,根据我们对产品的信心以及来自用户的反馈,我们在整个过程中使用了不同的版本,大致顺序如下:

  1. 金丝雀版本:每日构建,用来排除过滤一些明显不适宜的版本。
  2. 开发版本:开发人员日常使用的版本,一般每周发布一个。
  3. 测试版本:一个通过了持续测试的版本。这个版本基本上是最近一个月里的最佳版本了。
  4. 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软件测试介绍相关推荐

  1. 《Google软件测试之道》目录—导读

    内容提要 Google软件测试之道 每天,Google都要测试和发布数百万个源文件.亿万行的代码.数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行.面对这些看似不可能完成的 ...

  2. 《Google 软件测试之道》摘录

    最近刚刚看完<Google 软件测试之道>,受益颇多,遂记录下: 只有在软件产品变得重要的时候质量才显得重要 第一章:谷歌软件测试介绍 角色介绍 SWE(Software Engineer ...

  3. 《Google软件测试之道》读书笔记

    Google软件测试之道 像google一样进行软件测试 软件测试介绍 少则清晰,测试人员的稀缺导致测试资源很昂贵.(不要招聘太多的测试人员) 质量不等于测试 开发对质量负责(预防行为,不是检测) 卫 ...

  4. 《Google软件测试之道》—第2章2.4节与工具开发工程师Ted Mao的访谈

    本节书摘来自异步社区<Google软件测试之道>一书中的第2章2.4节与工具开发工程师Ted Mao的访谈,作者[美]James Whittaker , Jason Arbon , Jef ...

  5. 《Google软件测试之道》—第2章2.5节与Web Driver的创建者Simon Stewart的对话

    本节书摘来自异步社区<Google软件测试之道>一书中的第2章2.5节与Web Driver的创建者Simon Stewart的对话,作者[美]James Whittaker , Jaso ...

  6. 《Google软件测试之道》有感

    Google软件测试之道有感 谷歌测试工程师给我的感觉 他们做了些什么 A&Q 谷歌测试工程师给我的感觉 如他们的招聘要求,有很多想法,并且有能力去实现.印象深刻的是,有一位为了实现自己的想法 ...

  7. 《Google软件测试之道》告诉你什么是测试

    Google软件测试介绍 1.Google的测试团队并非雄兵百万,我们更像是小而精的特种部队,我们依靠的是出色的战术和高级武器 2.在Google,写代码的开发人员也承担了测试的重任.质量从来就不仅仅 ...

  8. Google软件测试之道

    目录 一.Google软件测试介绍 1.质量不等于测试 2.角色 3.组织结构 4.爬.走.跑 5.测试类型 二.软件测试开发工程师 三.测试工程师 1.一种面向用户的测试角色 2.测试工程师的工作 ...

  9. Google软件测试之道(读书笔记)

    目录 第一章 Google软件测试介绍 第二章 软件测试开发工程师 第三章 测试工程师 第四章 测试工程经理 第五章 Google软件测试改进 第一章 Google软件测试介绍 角色.类型.行为.组织 ...

最新文章

  1. strncmp实现方式之一
  2. PYG教程【四】Node2Vec节点分类及其可视化
  3. Hadoop中RPC机制详解之Server端
  4. LeetCode 55. 跳跃游戏(贪心)
  5. angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
  6. 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
  7. filewriter判断是否关闭_各种仪表故障判断,看完你也可以成为仪表维修专家
  8. python-day76--django-中间件
  9. Vue脚手架创建项目报错 ERROR command failed: npm install --loglevel error --legacy-peer-deps
  10. 2022-爬虫-Selenium-百度安全验证
  11. 如何查看电脑上是否安装了MySQL
  12. 2018年前端笔试高频题精选(二)
  13. 数据结构 —— 广义表
  14. Java核心技术 卷1-总结-18
  15. VxWorks操作系统基础(适合初学者阅读)
  16. 阿里菜鸟招聘java和客户端开发
  17. 论突变为零(不定更新)
  18. html5公司年终抽奖程序源码按数字随机抽奖
  19. 异构数据库迁移的曲折之路
  20. 修改GITBASH命令提示符

热门文章

  1. 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
  2. 沉浸式5G实景、AI+AR体验、机器人互动|5G+数智化展馆广州开幕
  3. 这才是真的码“农”!Linux基金会要推广开源技术种菜了
  4. 今年,你会为5G消费吗?就一分钟,求投票
  5. 大神程序员,夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时都在线
  6. 根因分析初探:一种报警聚类算法在业务系统的落地实施
  7. 优雅地在 Mac上使用 IDE 查看open-jdk源码
  8. Opencv笔记(九)——图像阈值
  9. Nginx容器日志收集方案fluentd+elasticsearch+kilbana
  10. (二十)java多线程之ScheduledThreadPoolExecutor