Google軟體測試中的角色職責
發表於:2019-04-01 來源:未知 作者:kelele 點選數: 標籤:google
Google 測試團隊的職級彙報關係是:TE(Test Engineer,測試工程師) 和 SET(Software Engineer in Test,軟體測試開發工程師) -> 測試工程經理 -> 測試總監 -> 高階總監 -> CEO。
《Google 軟體 測試 之道》是 2013 年出版的,書中記錄的也都是截止當時的 Google 軟體 測試 的現狀,如果和國內目前的情況相比較的話,Google 不僅僅是走在了前列,而且是遠遠看不到邊的前列。
我在上篇文章中有提到 Google 當時對於測試團隊的定位,已經是上升到「工程生產力」部門的高度了,而對應的,隨著團隊職責的不斷演化,團隊成員的職責也進行了對應的轉變。
Google 測試團隊的職級彙報關係是: TE(Test Engineer,測試 工程師 ) 和 SET(Software Engineer in Test, 軟體測試 開發 工程師 ) -> 測試工程經理 -> 測試總監 -> 高階總監 -> CEO 。
今天我把書中提到的兩個最主要的角色 SET 和 TE,分別提取了他們具體的工作職責,希望藉此可以作為我們努力的目標。
Google中的SET
SET 的部分職責是在 單元測試 方面給予開發人員支援,另一部分職責是為開發人員提供測試框架,以方便他們編寫中小型測試,用以進行更多質量相關的測試工作。
SET 是 100% 的編碼角色,作為測試的開發工程師和功能的開發工程師處於同等的地位。
一個好的 SET 具有寬廣的整體產品視野,而且在產品的整個生命週期裡對產品及功能特性都有充分的理解。
一個好的 SET 在專案早期參與專案時,會協助專案形成良好的文件、不錯的可測試性、執行穩定的 自動化 測試、清晰的程式碼提交流程。
通常來說,程式碼複用和模組互動方面的設計會由 SET 來做,而不是 SWE(Software Engineer)。
SET 在審閱設計文件時,預期要關注的要點有:完整性、正確性、一致性、設計、介面與協議、測試。
SET 是第一個實現所有介面和協議的人,SET 針對各個模組的依賴提供了 mock 或 fake 的實現。
SET 的第一要務是可測試性,SET 需要提供程式結構和程式碼風格方面的建議給開發人員,這樣開發人員可以更好地做單元測試,同時提供測試框架方面的建議,讓開發人員可以在這些框架基礎上自己寫測試。
SET的面試,重點在考察候選人如何思索問題的解決方案,而不是解決問題方案本身的實現上有多高雅。
Google中的TE
TE 負責從使用者的角度來思考質量方面的各種問題。從開發角度來說,他們編寫使用者使用場景方面的自動化 用例 程式碼,從產品角度來說,他們評估整體測試覆蓋度,並驗證其他工程師角色在測試方面合作的有效性。
TE 以對某種特定的產品最合適的方式發現軟體中風險最大的地方並嘗試減少或消除它。
TE 的根本使命是保護使用者和業務的利益,使之不受到糟糕的設計、令人困惑的使用者體驗、功能 bug 、 安全 和隱私等問題的困擾。
TE 是團隊中全職地負責從整體角度發現產品或服務弱點的唯一角色。
TE 的主要職責包括但不限於:測試計劃和風險分析、評審 需求 、設計、程式碼和測試、探索式測試、使用者場景、編寫 測試用例 、執行 測試用例 、眾包、使用統計、使用者反饋。
TE 的招聘要求:
1、測試過程中會關注需求確認、會從使用者角度考慮問題、會通過邏輯關聯提高用例覆蓋率的人;
2、具備處理模糊性、反駁糟糕想法的能力,對需求合理性提出質疑;
3、有好奇心並充滿激情。
總之,SET 負責可測試性和測試自動化體系的長期有效性。TE 的重點在於評估對使用者的影響以及軟體產品整體目標上的風險。
對於TE,某些人可能覺得比較虛,還是SET經常寫code實在。國內的測試團隊,基本上把SET的工作和TE的工作合二為一,放在一個人的身上,然而SET和TE的技術和要求是不一樣的,我們測試團隊的測試開發工程師都能很好的具備SET和TE的能力嗎,我們真正的測試工作重心到底是什麼呢?我們的測試開發工程師都能在產品的測試過程中發揮這麼多的作用嗎?大家可以自己思考下。
原文轉自:http://www.ltesting.net