【讀書筆記】《Google軟件測試之道》——第3章:測試工程師(三)

? ? 今天從3.2.6開始,繼續讀~

? ? 6)Google的測試領導和管理工作

? ? Google的測試管理更多的是激勵,而非強悍的管理。在Google,工程主管要靠技術洞察力、令人興奮的技術冒險、有趣的停靠港口來帶領團隊。

? ? Google主管和經理:

? ? 技術責任人:參與解決共同的技術問題或是共享相同的基礎平臺,他們一般不會管人;

? ? 技術主管:技術負責人同時被任命為相關工程師的經理;

? ? 測試工程經理:類似測試經理,負責共享跨團隊的工具和流程,根據風險評估安排資源,并指導招聘和面試;

? ? 測試總監:管理測試工程經理、跨幾個產品線,負責整體的測試工作,推動戰略性的、有時是轉型性的技術架構或測試方法的實施。關注于怎樣通過質量和測試去幫助業務,并經常拋頭露面參與業界同行的交流和分享;

? ? 資深測試總監:負責保證公司層面的統一職責描述、招聘、外部溝通和總的測試策略。日常工作包括分享最佳實踐,建立和推動新的大動作如全局構建、測試基礎平臺以及跨越不同產品的測試活動等。

? ? Google管理層的主要技能:技術型、協商、外部溝通、戰略性舉措、績效考評。績效考評綜合了同事反饋和由主管、經理推動的跨團隊比照,每季度一次。如果一個人達到了他的所有目標,那說明他的目標還不夠高。

? ? Google領導和管理的一個標志是輔導和指導下屬工作,而不是直接下命令。

? ? 7)維護模式的測試

? ? Google一直是以盡早交付、經常交付、盡快失敗聞名于世。資源會沖向最高風險的項目,因此,這意味著某些特性或者項目被降低優先級,處于維護模式。

? ? 進入維護模式前,需考慮:即使一個小型的、端到端測試的自動化測試集,也會以近乎為零的成本提供長期的質量保證;留下一份How-to文檔,以便公司的任何人都可以運行你的測試集;確保有一個問題解決通道,愿意承擔一些責任。

? ? 8)質量機器人(Quality Bot)實驗

? ? Chrome經常有build,而且上面的網頁很多,如何測試呢?

? ? Google Search不斷地爬取網頁,記錄它所看到的一切,找到計算各種數據在巨大索引中的位置,按照靜態和動態相關性分數排序,在搜索結果頁面中展示需要的數據。這和自動化質量打分機類似。

? ? 質量機器人包含:爬取,機器人沿著URL從一個跳向另外一個,同時分析所訪問的網頁結構,從而構造出一張哪些HTML元素出現在哪里、如何呈現的地圖;索引,爬蟲將原始數據傳送到索引服務器;排序,當希望看到一個特定的網頁在多輪運行中的結果,或者一個瀏覽器中所有網頁的結果,排序器就進行深度計算,給出一個質量分,表示為兩個頁面之間的百分比相似分,同時也會計算所有運行的平均分。100%表示頁面相同;小于100%表示有差異。

? ? 已經有好幾個團隊使用bot取代了大量的手工回歸測試,其它人可用于探索性測試。

? ? 9)BITE實驗

? ? BITE(Browser Integrated Test Environment瀏覽器集成測試環境),目標是把盡可能多的測試活動、測試工具和測試數據集中在瀏覽器和云里,并在上下文中呈現相關信息,從而減少分散操作的麻煩,使得測試工作更高效。

? ? a)用BITE報告bug

? ? BITE可以在測試人員發現bug時,自動提取頁面的URL、頁面上出現問題的元素、截屏、所有的動作會被錄制、瀏覽器和OS信息會被記錄。這一切成就了bug的快速提交。且因為信息足夠詳細,所以更多的bug可以重現和調試,以及bug triage(即開發、測試一起討論bug)的過程。

? ? b)用BITE查看bug

? ? 當測試人員探索一個應用或運行回歸測試時,頁面相關的bug會自動浮現出來。這有助于測試人員判斷bug是否重復,該頁面有哪些bug。

? ? c)用BITE進行錄制和回放

? ? 常見的自動化腳本是用Java編寫的,TE花費大量時間在應用的DOM和XPaths中。但Google的Web應用頻繁地更改DOM,這意味著測試用例隨著元素在頁面中的移動和屬性的變化而不斷失敗,導致維護工作量很大。

? ? Google實現了Record and Playback framework(RPF),RPF不是嚴格地判斷XPath,而是去檢查此HTML元素的所有屬性及其父、子元素。在回放時,RPF首先查找精確匹配,找不到時查找近似匹配,如果匹配在容差之內,測試就繼續到下一步并簡單地記錄一條警告日志。

? ? d)使用BITE執行手工和探索式測試

? ? 測試主管在安排測試時,只需要在BITE服務器上點擊一個按鈕,即可將測試用例發給各測試人員,每個測試都有一個關聯的URL。用戶接受任務后,BITE會打開URL并顯示要在當前頁面執行的步驟,單擊PASS,系統自動打開下一個URL,單擊FAIL,系統做FAIL標記并啟動bug報告頁面。

? ? 測的快的測試會自動收到更多的測試任務;中間休息或需要停止的測試人員,任務會被推送給其他人。

? ?e)BITE的分層化設計

? ? BITE具有接受任意腳本并注入被測試頁面的能力。若干分層業已形成。例如,其中一個擴展允許開發人員在頁面中有規律地剝離元素以便定位問題。

? ? 讀完這四小節,印象最深的是Bot實驗和BITE實驗,感覺這兩個工具都太牛了~當然,也更明確了Google領導和管理工作。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容