測試工程師是谷歌工程生產力(EngProd)的一部分。我們為用戶代言,提供全面的測試解決方案,並在創造成功和可靠的產品和平臺方面發揮關鍵作用。在Google,測試工程師不是點點點,我們是技術工程師,我們的重點是推進產品的卓越性和工程生產力。
簡而言之,在谷歌做測試工程師是COOL(Constant learner持續學習,Out-of-the-box thinkinger打破常規,Orchestrator溝通協作,Leading-edge user超級用戶)。
持續學習
持續學習是谷歌測試工程師的動力。我們全面了解軟體棧的所有部分是如何相互連接的,以及存在或需要什麼樣的覆蓋範圍來測試棧之間的連接。這些產品知識使我們成為測試專家。我們從開發過程的一開始就與軟體工程師緊密合作,在功能實現之前討論設計的可測試性。 我們開發測試策略、方法和測試計劃;我們編寫腳本、設計系統、構建工具和測試基礎設施。我們審查設計文檔,深入研究Google的大量代碼庫,分析堆棧,並確定生產問題的根本原因。我們不僅建立了深厚的技術專長,並通過識別代碼庫中的薄弱點來進行風險管理,我們還找到了創造性的方法來了解軟體並發現潛在的問題。我們的工作方式也給了我們靈活性和獨立性,讓我們可以探索和學習新的技術,如機器學習概念和雲計算,並建立新的測試解決方案或改進現有的解決方案。
打破常規
我們通過提供優化的解決方案來解決工程上的低效、測試上的差距和流程上的差距,倡導工程上的卓越。我們不斷地思考如何讓機器來完成工作,以提高測試能力和生產力。在Google,每分鐘都有成百上千行代碼被檢查。為了保持速度、質量和代碼健康,我們設計了創造性的方法來測試和調試測試失敗--比如執行差異測試,從日誌中構建動態測試用例,設計啟發式算法來識別測試失敗的罪魁禍首,構建解決方案來減少測試運行時間,以及實現 stub, fake、mock對象和伺服器來幫助開發人員編寫穩定的單元和集成測試。除了設計創造性的測試和調試測試失敗的方法,我們還專注於通過定義和測量生產力指標和產品健康指標,如質量、穩定性和性能,來提高工程卓越和產品卓越。例如,搜索、廣告、地圖、YouTube、雲計算、自動駕駛汽車和谷歌應用的測試,這些用傳統的測試實踐是無法擴展的。
溝通協作
是谷歌測試工程師的一項重要職責。作為協調者,我們可以與跨職能團隊合作,包括產品經理、技術項目經理和軟體工程師,以定義關鍵用戶旅程(CUJs critical user journeys),確定測試策略,並確保在正確的配置/環境中運行正確的測試。憑藉我們強大的溝通和協作能力,我們與跨職能團隊合作,並在傳播新工具、技術和最佳測試實踐方面扮演傳播者的角色。 我們也有機會舉辦Hackathons(黑客馬拉松)和Fixits,接待實習生,推動大學生招聘活動,與開源社區一起參與開源產品的測試,傾聽反饋,並將反饋轉化為產品改進。
超級用戶
做測試工程師的樂趣! 我們可以參與產品開發,參與產品設計、文檔和原型的評審,早期玩轉功能和產品,並提供明智的反饋。最重要的是,作為早期採用者,我們可以穿戴可穿戴設備,乘坐自動駕駛汽車,通過AR/VR置身於自己的世界中,與谷歌助手一起參與做家務,並擁有多臺筆記本電腦、手機和智能顯示設備!