编辑推荐
Google软件测试精髓完美呈现,测试界知名专家推荐
软件测试人员案头必读
测试领域的传奇巨匠James与两位Google专家倾情奉献
测试领域的传奇巨匠James与两位Google专家一起披露了Google如何做测试的精髓所在,并提供了一套崭新的测试工程实践方案。即使你的产品并非如Google般的规模,相信你仍然可以从中受益匪浅。
本书揭示了大量的奇巧妙计,100%实用且扩展性超强,涉及到风险分析、测试计划……像真实用户一样思考……探索性实践、黑盒、白盒、验收测试……获取有用反馈……记录问题……选择和创建工具…… 测试“文档和模拟对象”的接口、类、模块、库、二进制文件、服务和基础设施……代码审核、重构……使用测试钩子、代码提交脚本、代码提交队列、持续集成等方面。使用这些技术,你可以把测试工作由瓶颈变成一个加速器,使得整个测试团队都更加富有效率。
内容简介
内容提要
每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢?本书从内部视角告诉你这个世界上成功、增长速度快的互联网公司是如何应对21世纪软件测试的独特挑战的。本书抓住了Google做测试的本质,抓住了Google测试这个时代复杂和流行软件的精华。本书描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理以及在Google的测试历史或主要产品上发挥了重要作用的人士的访谈,这对那些试图建立类似Google的测试流程或团队的人受益很大。本书还介绍了作者对于Google测试如何继续演进的见解、Google乃至整个业界的测试方向的一些预言,相信很多读者都会感受到其中的洞察力,甚至感到震惊。
本书可以作为任何从事软件测试人员到达目标的指南。
作者简介
James Whittaker 是Google的工程总监 ,负责部分Google产品的测试,包括Chrome、地图、Google web apps。在加盟Google之前,James在Microsoft工作,再之前是一名大学教授。James在全球测试领域闻名遐迩。
Jason Arbon 是Google的一名测试工程师TE ,曾参与负责Google桌面、Chrome和Chrome OS的测试。同时Jason也是一系列开源测试工具和个性化实验的开发负责人。在加入Google之前,他也曾在Microsoft工作过。
Jeff Carollo 是Google的一名测试开发工程师SET,曾参与负责Google Voice、工具框、Chrome、Chrome OS产品 的测试。Jeff为许多Google内部的开发团队提供咨询服务,帮助提升这些团队初期的代码质量。之后在2010年,Jeff转岗为软件开发工程师(SE),并领导负责Google+ APIs的开发。在加入Google之前,Jeff也曾经在Microsoft工作过。
目录
目录
Chapter 1 Introduction to Google Software Testing / Google软件测试介绍 1
Quality≠Test / 质量不等于测试 5
Roles / 角色 6
Organizational Structure / 组织结构 8
Crawl, Walk, Run / 爬、走、跑 10
Types of Tests / 测试类型 12
Chapter 2 The Software Engineer in Test / 软件测试开发工程师 15
The Life of an SET / SET的工作 17
Development and Test Workflow / 开发和测试流程 17
Who Are These SETs Anyway? / SET究竟是谁 22
The Early Phase of a Project / 项目的早期阶段 22
Team Structure / 团队结构 24
Design Docs / 设计文档 25
Interfaces and Protocols / 接口与协议 27
Automation Planning / 自动化计划 28
Testability / 可测试性 29
SET Workflow: An Example / SET的工作流程:一个实例 32
Test Execution / 测试执行 40
Test Size Definitions / 测试大小的定义 41
Use of Test Sizes in Shared Infrastructure /
测试规模在共享测试基础平台中的应用 44
Benefits of Test Sizes / 测试规模的益处 46
Test Runtime Requirements / 测试运行需求 48
CASE 1: CHANGE IN COMMON LIBRARY / 在通用库上的代码变更 52
CASE 2: CHANGE IN A DEPENDENT PROJECT / 53
Test Certified / 测试认证 54
An Interview with the Founders of the Test Certified Program /
与测试认证计划创始人的访谈 57
Interviewing SETs / SET的招聘 62
An Interview with Tool Developer Ted Mao /
与工具开发工程师Ted Mao的访谈 68
An Interview with Web Driver Creator Simon Stewart /
与Web Driver的创建者Simon Stewart的访谈 70
Chapter 3 The Test Engineer / 测试工程师 75
A User-Facing Test Role / 一种面向用户的测试角色 75
The Life of a TE / 测试工程师的工作 76
Test Planning / 测试计划 79
Risk / 风险 97
Life of a Test Case / 测试用例的生命周期 108
Life of a Bug / bug的生命周期 113
Recruiting TEs / TE的招聘 127
Test Leadership at Google / Google的测试领导和管理工作 134
Maintenance Mode Testing /
维护模式的测试 137
Quality Bots Experiment / 质量机器人实验 141
BITE Experiment / BITE实验 153
Google Test Analytics / Google Test Analytics 163
Free Testing Workflow / 零成本测试流程 169
External Vendors / 外部供应商 173
An Interview with Google Docs TE Lindsay Webster /
与Google Docs 测试工程师Lindsay Webster的访谈 175
An Interview with YouTube TE Apple Chow /
与YouTube测试工程师Apple Chow的访谈 181
Chapter 4 The Test Engineering Manager / 测试工程经理 187
The Life of a TEM / 测试工程经理的工作 187
Getting Projects and People / 获得项目和人员 189
Impact / 影响力 191
An Interview with Gmail TEM Ankit Mehta /
与Gmail测试工程经理Ankit Mehta的访谈 193
An Interview with Android TEM Hung Dang /
与Android测试工程经理Hung Dang的访谈 198
An Interview with Chrome TEM Joel Hynoski /
与Chrome测试工程经理Joel Hynoski的访谈 202
The Test Engineering Director / 测试总监 206
An Interview with Search and Geo Test Director Shelton Mar /
与搜索和地理信息测试总监Shelton Mar的访谈 207
An Interview with Engineering Tools Director Ashish Kumar /
与工程工具总监Ashish Kumar的访谈 211
An Interview with Google India Test Director Sujay Sahni /
与印度Google测试总监SujaySahni的访谈 214
An Interview with Engineering Manager Brad Green /
与工程经理Brad Green的访谈 219
An Interview with James Whittaker / 与James Whittaker的访谈 222
Chapter 5 Improving How Google Tests Software / Google软件测试改进 229
Fatal Flaws in Google’s Process / Google流程中的致命缺陷 229
The Future of the SET / SET的未来 231
The Future of the TE / TE的未来 233
The Future of the Test Director and Manager / 测试总监和经理的未来 234
The Future of Test Infrastructure / 未来的测试基础设施 234
In Conclusion / 结论 235
Appendix A Chrome OS Test Plan / Chrome OS 测试计划 237
Overview of Themes / 测试主题概述 237
Risk Analysis / 风险分析 238
Per-Build Baseline Testing / 每次构建版本的基线测试 239
Per-LKG Day Testing / 最新可测试版本(Last Known Good,LKG)的每日测试 239
Per-Release Testing / 发布版本测试 239
Manual Versus Automation / 手工测试与自动化测试 240
Dev Versus Test Quality Focus / 开发和测试的质量关注点 240
Release Channels / 发布通道 240
User Input / 用户输入 241
Test Case Repositories / 测试用例库 241
Test Dashboarding / 测试仪表盘 241
Virtualization / 虚拟化 241
Performance / 性能 242
Stress, Long-Running, and Stability / 压力、长时运行和稳定性测试 242
Test Execution Framework (Autotest) / 测试执行框架(Autotest) 242
OEMs / OEM厂商 242
Hardware Lab / 硬件实验田 242
E2E Farm Automation / 端到端测试自动化集群 243
Testing the Browser AppManager / 测试浏览器的应用管理器 243
Browser Testability / 浏览器的可测试性 243
Hardware / 硬件 244
Timeline / 时间线 244
Primary Test Drivers / 主要的测试驱动力 246
Relevant Documents / 相关文档 246
Appendix B Test Tours for Chrome / Chrome的漫游测试 247
The Shopping Tour / 购物漫游 247
The Student Tour / 学生漫游 248
Suggested Areas to Test / 建议测试领域 248
The International Calling Tour / 国际长途电话漫游 249
Suggested Areas to Test / 建议测试领域 249
The Landmark Tour / 地标漫游 249
Suggested Landmarks in Chrome / Chrome中的建议地标 249
The All Nighter Tour / 通宵漫游 250
Suggested Areas to Test / 建议测试领域 250
The Artisan’s Tour / 公务漫游测试 251
Tools in Chrome / Chrome工具 251
The Bad Neighborhood Tour / 危险地带漫游 251
Bad Neighborhoods in Chrome OS / Chrome OS中的危险地带 251
The Personalization Tour / 个性化漫游 252
Ways to Customize Chrome / 自定义Chrome的方法 252
Appendix C Blog Posts on Tools and Code / 有关工具和代码的博客文章 253
Take a BITE out of Bugs and Redundant Labor /
使用BITE从bug和冗余的工作中解脱出来 253
Unleash the QualityBots / 发布QualityBot 255
RPF: Google’s Record Playback Framework /
RPF:Google的录制回放框架 257
Google Test Analytics-Now in Open Source /
Google测试分析系统(Google Test Analytics)——现在开源了 260
Comprehensive / 全面 260
Quick / 快速 260
Actionable / 可操作 260
Sustained Value / 持续有效 260
Google软件测试之道 英文版 电子书 下载 mobi epub pdf txt