編輯推薦
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 電子書 格式