Google 軟件測試之道 [How Google Tests Software] pdf epub mobi txt 電子書 下載 2024
編輯推薦
軟件測試泰鬥傳道解惑,Google軟件測試精髓完美呈現。
淘寶測試技術專傢翻譯,測試界知名專傢鼎力推薦。
內容簡介
《Google軟件測試之道》從內部視角告訴你這個世界上知名的互聯網公司是如何應對21世紀軟件測試的獨特挑戰的。《Google軟件測試之道》抓住瞭Google做測試的本質,抓住瞭Google測試這個時代復雜軟件的精華。《Google軟件測試之道》描述瞭測試解決方案,揭示瞭測試架構是如何設計、實現和運行的,介紹瞭軟件測試工程師的角色;講解瞭技術測試人員應該具有的技術技能;闡述瞭測試工程師在産品生命周期中的職責;講述瞭測試管理及在Google的測試曆史或在主要産品上發揮瞭重要作用的工程師的訪談,這對那些試圖建立類似Google的測試流程或團隊的人受益很大。
最後,《Google軟件測試之道》還介紹瞭作者對於Google測試如何繼續演進的見解、Google乃至整個業界的測試方嚮的一些預言,相信很多讀者都會感受到其中的洞察力,甚至感到震驚。本書可以作為任何從事軟件測試人員到達目標的指南。
《Google軟件測試之道》適閤開發人員、測試人員、測試管理人員使用,也適閤大中專院校相關專業師生的學習用書,以及培訓學校的教材。
作者簡介
惠特剋(JamesWhittaker),Google的工程總監,負責Google部分産品的測試,包括Chrome、地圖、GoogleWebApp。在加盟Google之前,James在Microsoft工作,再之前是一名大學教授。James在全球測試領域聞名遐邇。
阿爾邦(JasonArbon),Google的一名測試工程師(TE),曾參與負責Google桌麵、Chrome和ChromeOS的測試。同時,Jason也是一係列開源測試工具和個性化實驗的開發負責人。在加入Google之前,他在Microsoft工作。
卡羅洛(JeffCarollo),Google的一名測試開發工程師(SET),曾參與負責GoogleVoice、工具框、Chrome、ChromeOS産品的測試。Jeff為許多Google內部的開發團隊提供谘詢服務,幫助提升這些團隊初期的代碼質量。在2010年,Jeff轉崗為軟件開發工程師(SE),並領導負責Google+API的開發。在加入Google之前,Jeff在Microsoft工作。
內頁插圖
目錄
第1章 Google軟件測試介紹
1.1 質量不等於測試
1.2 角色
1.2.1 軟件開發工程師(SWE)
1.2.2 軟件測試開發工程師(SET)
1.2.3 測試工程師(TE)
1.3 組織結構
1.4 爬、走、跑
1.5 測試類型
第2章 軟件測試開發工程師
2.1 SET的工作
2.1.1 開發和測試流程
2.1.2 SET究竟是誰
2.1.3 項目的早期階段
2.1.4 團隊結構
2.1.5 設計文檔
2.1.6 接口與協議
2.1.7 自動化計劃
2.1.8 可測試性
2.1.9 SET的工作流程:一個實例
2.1.10 測試執行
2.1.11 測試大小的定義
2.1.12 測試規模在共享測試平颱中的使用
2.1.13 測試規模的益處
2.1.14 測試運行要求
2.2 測試認證
2.3 SET的招聘
2.4 與工具開發工程師Ted Mao的訪談
2.5 與Web Driver的創建者Simon Stewart的對話
第3章 測試工程師
3.1 一種麵嚮用戶的測試角色
3.2 測試工程師的工作
3.2.1 測試計劃
3.2.2 風險
3.2.3 測試用例的生命周期
3.2.4 bug的生命周期
3.2.5 TE的招聘
3.2.6 Google的測試領導和管理工作
3.2.7 維護模式的測試(Maintenance Mode Testing)
3.2.8 質量機器人(Quality Bot)實驗
3.2.9 BITE實驗
3.2.10 Google Test Analytics
3.2.11 零成本測試流程
3.2.12 外部供應商
3.3 與Google Docs測試工程師林賽·韋伯斯特(Lindsay Webster)的訪談
3.4 與YouTube測試工程師安普·周(Apple Chow)的訪談
第4章 測試工程經理
4.1 測試工程經理的工作
4.2 獲得項目和人員
4.3 影響力
4.4 Gmail測試工程經理Ankit Mehta的訪談
4.5 Android測試工程經理Hung Dang的訪談
4.6 Chrome測試工程經理Joel Hynoski的訪談
4.7 測試總監
4.8 搜索和地理信息測試總監Shelton Mar的訪談
4.9 工程工具總監Ashish Kumar的訪談
4.10 印度Google測試總監SujaySahni訪談
4.11 工程經理Brad Green訪談
4.12 James Whittaker訪談
第5章 Google軟件測試改進
5.1 Google流程中的緻命缺陷
5.2 SET的未來
5.3 TE的未來
5.4 測試總監和經理的未來
5.5 未來的測試基礎設施
5.6 結論
附錄A Chrome OS測試計劃
A.1 測試主題概述
A.2 風險分析
A.3 每次構建版本的基綫測試
A.4 最新可測試版本(Last Known Good,LKG)的每日測試
A.5 發布版本測試
A.6 手工測試與自動化測試
A.7 開發和測試的質量關注點
A.8 發布通道
A.9 用戶輸入
A.10 測試用例庫
A.11 測試儀錶盤
A.12 虛擬化
A.13 性能
A.14 壓力、長時運行和穩定性測試
A.15 測試執行框架(Autotest)
A.16 OEM廠商
A.17 硬件實驗田
A.18 端到端測試自動化集群
A.19 測試瀏覽器的應用管理器
A.20 瀏覽器的可測試性
A.21 硬件
A.22 時間綫
A.23 主要的測試驅動力
A.24 相關文檔
附錄B Chrome的漫遊測試
B.1 購物漫遊
B.2 學生漫遊
B.3 國際長途電話漫遊
B.4 地標漫遊
B.5 通宵漫遊
B.6 公務漫遊測試
B.7 危險地帶漫遊
B.8 個性化漫遊
附錄C 有關工具和代碼的博客文章
C.1 使用BITE從bug和冗餘的工作中解脫齣來
C.2 發布QualityBot
C.3 RPF:Google的錄製迴放框架
C.4 Google測試分析係統(Google Test Analytics)——現在開源瞭
附錄D 術語錶
精彩書摘
第1章 Google軟件測試介紹
在許多場閤下,不管是在國外訪問還是齣席會議期間,我總是毫無例外地被問及一個問題。甚至是剛剛加入公司的新員工也會問到同樣的問題:“Google是如何測試的?”
雖然我已經不太確定曾經多少次迴答過這個問題,以及給齣瞭多少個不同版本的答案,但可以確定的是,隨著我在Google工作的時間越來越長,發現Google的各種測試實踐的不同之處也越來越多,答案也一直在變化。這些測試實踐總是浮現在腦海裏,並幻想著有朝一日能夠將它們整理成書。直到有一天,Alberto(譯注:Albert0Savoia,(~oogle的測試總監,詳細介紹參見本書序言中的A1berto部分),這個一貫認為所有測試相關的書籍都要為自己的存在找一個理由,否則就應該被扔掉做成紙尿褲的人,當他建議我應該寫這樣一本書的時候,我覺得時機已經成熟,是時候開始考慮寫這樣一本書瞭。
然而,我依舊還在等待。第一,我並非是寫這樣一本書的最佳人選。在Google,有很多我的前輩,我想先把機會讓給他們宋寫;第二,我隻是Chrome和ChromeOS産品的測試總監(現在這個職位被我之前的一個下屬擔任著),我看到的也隻是Google所有測試實踐中很小的一部分,我還需要去瞭解很多其他Google産品的測試方法。
在Google,軟件測試團隊歸屬於一個被稱為“工程生産力”(譯注:EngineeringProductivity,也譯為工程效率或工程生産率)的中心組織部門,這個部門的職責橫跨開發測試人員使用工具的研發、産品發布和各種級彆的測試,從單元級彆的測試到探索性級彆的測試。Google擁有大量針對互聯網産品的共享工具與測試基礎框架,服務於包括搜索、廣告、Apps、YouT‘ube視頻和其他我們在Web上提供的産品。Google已經成功解決瞭許多有關速度和擴展性方麵的問題,使得Google作為一個大公司,卻依然能以創業公司的速度來發布産品。正如Patrick(30peland在本書的序言中所說的那樣,擁有如此的魔力,Google的測試團隊功不可沒。
ChromeOS在2010年12月發布以後,我把團隊順利地交接給我的一個直接匯報者,然後開始把自己的工作重點慢慢轉移到其他産品上。在這本書剛開始準備的階段,我使用博客的方式做瞭一些嘗試,發布瞭第一篇“Google是如何測試的”的係列文章(注:參見hup://googletesting.blogspot.com/20〕I/01/how。google—tests.soffware.html)。6個月之後,本書終於完成,希望沒有拖太長的時間。在這六個月的時間裏,我瞭解到的Google測試實踐比我過去兩年在。Google學到的都要多。現在有瞭這本書,Google的新員工們也可以通過閱讀此書來熟悉Google的環境。
這並不是第一本介紹關於大公司是如何做測試的書籍.當我還在Microsoft的時候,AlanPage.BTRollison和Ken.Johnston閤著瞭《微軟的軟件測試之道》(譯注:I-lowWe.TestSoftwareatMicrosoft),我當時親身經曆瞭他們書中寫的許多事情。Microson在測試領域獨步全球,也是一個測試精英雲集的聖地。Microsoft的測試工程師在各種技術大會中也是廣受歡迎的演講嘉賓。Microsoft的第…任測試總監一一RogerSherman,吸引瞭來自全球的測試精英加入華盛頓的雷德濛德(譯注:微軟總部所在地)。那是一個軟件測試的黃金時代。
因此,Microsoft寫瞭這樣一本書來記錄其發生的一切。
我沒能趕上參與《微軟的軟件測試之道》的編寫,但是在300gle卻有幸得到這樣的機會。我來Google的時候,其測試正處於一個蓬勃發展的上升期。工程生産力團隊的員工數量正以火箭噴發般的速度增長,從幾百人迅猛發展到今天的1.200人。正如Patrick在本書序言中所說的那樣,這種增速隨之而宋的是成長的煩惱,這也是他們最後的陣痛,此後這個組織開始瞭前所未有的井噴式增長。Google的測試博客每月吸引瞭成韆上萬的人來瀏覽閱讀,GI’AC(注:G.I‘AC:是GoogleTestAutomationConference的縮寫,即Google測試自動化大會,參見大會也已經成瞭測試行業的旗幟性會議。在我來到Google不久之後,Patrick也得到瞭晉升,手下有十幾個總監和工程經理直接匯報給他。如果你認為軟件測試又進入到新的文藝復興時期,那麼Google一定就是位於中心的羅馬。
這意味著Google背後的測試故事其實可以寫成一本很厚的書。但問題是,我並不想這樣做。Google之所以聞名於世,在於其實現軟件的方法:簡單和直截瞭當。或許這本書也可以保持這樣的風格。
((Google軟件測試之道》這本書的核心內容包括:詳細講述瞭作為一個Google的測試人員究竟意味著什麼,同時也包含Google是如何解決軟件在擴展性、復雜性和大並發方麵的問題。如果想知道這些,閱讀本書將是你的最佳獲取途徑。如果書中的內容還是不能滿足你想要充分瞭解GOOgle是如何測試的需求,互聯網上還有更多的信息,你隻需要“GOOle一下”。
關於本書由來的故事,不得不說的大概就是這些瞭。我也終於做好瞭準備來講述GOogle是如何進行測試的。隨著越來越多的軟件公司從桌麵應用轉嚮網絡應用,G00gle測試軟件的方法也很有可能成為其他公司的榜樣。如果你已經讀瞭《微軟測試之道》,那麼韆萬不要試圖在這本書中找一些共同點。除瞭兩本書的作者都是三個人,且都是在講述大型軟件公司的測試實踐之外,這兩本書中所描述的測試方法可謂大相徑庭。
PatickCOpeland在本書的序言中解釋瞭G00gle測試方法演變的曆史,隨著公司的不斷成長,它也在不停地、有組織地進化著。G00gle是個大熔爐,許多來自其他公司的工程師被拋進來熔煉。在前雇主公司使用的技術,如果被證明效率低下,該技術要麼被遺棄,要麼通過G00gle的創新文化再進行改良。隨著測試工程師隊伍的不斷膨脹,就有瞭許多新的想法和實踐的嘗試,那些在實踐中被證明很有用的技術會被GOogle保留下來,並成為GOOgle的一部分;另外一些被證明是負擔的,則會被拋棄掉。G00gle的測試者很願意去嘗試新技術,但有些技術一旦被發現並不實用,就會立刻被拋棄。
G00gle是一傢以創新和速度為基礎的公司,快速地發布有用的代碼(如果失敗,也隻有少數早期用戶會失望)、迭代地增加早期用戶希望使用的功能(最大化用戶反饋)。在這樣的環境下,測試不得不變的異常靈活,並且在技能上要做許多前期的規劃,隻是不停地簡單維護並不能真正解決問題。有時,測試和開發互相交織在一起,達到瞭無法區分彼此的程度,而在另外一些時候,測試和開發又是完全分離,甚至開發人員都不知道測試在做些什麼。
……
前言/序言
毫無疑問,在當前這個時代,處於浪潮之巔的偉大公司非Google莫屬。很長一段時間以來,Google的技術一直被外界所覬覦,其所宣揚的工程師文化氛圍也成為瞭許多工程師夢寐以求的技術殿堂,其內部的工程實踐更是技術分享大會中最熱門的話題之一。但迄今為止,沒有一本書係統地介紹Google內部産品的研發流程與模式,包括開發、測試、發布、團隊成員如何分工協作等細節,直到《How Googleests Software))的齣現,纔使得我們有機會管中窺豹,瞭解Google技術神秘之處。這也是我們翻譯這本書的第一個原因。
正如本書中所提及的那樣,互聯網的齣現改變瞭許多軟件研發的模式。許多曾經紅極一時的傳統測試書籍裏提及的最佳測試實踐,在當前的環境下,效率會大大下降,在一些極端的情況下甚至會適得其反。我自己就是一名測試工程師,從事互聯網方麵的測試工作,對此深有體會,也經常焦慮如何在製約質量和快速發布之間尋找平衡,所以,也特彆想從一些主流互聯網公司的測試模式中得到啓發和藉鑒,特彆是想看一下這個世界上最成功、增長速度最快的互聯網公司——oogle,是如何應對互聯網測試挑戰的。通過翻譯這本書,自己學到瞭更多感興趣的知識。這也是我們翻譯這本書的第二個原因。
JamesWhittaker在正式撰寫本書英文版之前,於2011年1月在GoogleestingBlog上嘗試發錶瞭towGoogle.1estSoftware”係列文章。當看到第一篇時我就被深深地吸引住瞭,第一感覺就是,太棒瞭!Google測試團隊居然是這樣組織的!之後,隨著這個係列文章的逐一公開,Google也逐漸揭開瞭其神秘麵紗,讓我對其測試實踐也有瞭越來越多的瞭解,但瞭解的越多,疑惑也就越多。不得不承認,這幾篇文章就像正餐前的開胃小菜,它完全勾起瞭大傢的食欲,僅僅依賴這幾篇文章完全不能滿足窺探Google測試體係的需求。在2011年11月的G.TALCGoogleest Automation C0nference)大會上,我見到瞭James本人,便聊起瞭《Htow Goog leest Software》這本書,James一聽到又有人在打探這本書的下落,樂嗬得嘴都閤不攏瞭,卻賣起瞭關子來,隻是說書快齣版瞭。大約在2012年9月,這本書的英文版終於問世之後,突然接到李中傑(本書的閤譯者之一)的電話,問我為什麼不去翻譯一下這本書呢。之前雖然是興趣使然,做過那幾篇文章的翻譯,但與翻譯一本書相比,還是有些微不足道的。但幾經轉輾,還是機緣巧閤地去做瞭這件事情,這也是翻譯這本書的第三個原因吧。
最後要說的,也是最重要的一個原因。我原本根本沒有這麼大的勇氣來完成這件事情。眾所周知,James不僅是測試領域的泰山北鬥,而且他頗具文學功底,語言詼諧幽默,妙筆生花,翻譯他的書籍,讓我誠惶誠恐,以至於焦慮得晝夜不安。但兩位閤譯者,李中傑博士和薛明,他們的樂觀與自信讓本書的翻譯得以完成。與他們兩位的閤作,幸福之感難以言錶,所收獲的也不僅僅是長知識那麼簡單,更有許多驚喜深藏內心。翻譯彆人的書,像是在反芻,再精彩也是在講彆人的故事,還是期待有朝一日,能夠也有機會講講自己的故事。
最後祝願國內的讀者能夠從這本書中有所藉鑒,找到適閤自己現狀的開發測試模式。由於譯者水平有限,錯漏之處在所難免,若有欠妥之處,歡迎指正。
Google 軟件測試之道 [How Google Tests Software] 下載 mobi epub pdf txt 電子書