軟體測試架構師不是一種頭銜,而是一種角色,更重要的是一種能力—對團隊的影響力。軟體測試工程師不是在某一天突然成為乙個軟體架構師的,雖然他可能會在某一天被某某經理宣布為測試架構師。任何乙個人成為軟體架構師,都是乙個漸進的過程,不斷積累經驗,不斷提高自己的技術水平和業務能力,才能逐漸勝任測試架構師的角色。
1.對軟體測試架構師的要求
測試架構師是測試團隊的技術帶頭人,在系統非功能特性的測試、自動化測試框架等方面發揮著主導作用,對開發團隊具有很好的溝通能力和影響力。測試架構師雖然不管理團隊,不通過管理權利來驅動下屬執行某項工作,但通過溝通與組織協作,讓成員願意採納其建議,配合其完成某項工作,從而實現個人價值,為公司做出應有的貢獻。
測試架構師應具有較強的抽象能力和創新能力,通過乙個全域性的觀點、巨集觀的視角來理解軟體系統作為乙個整體是如何工作的,可以將具體問題抽象為乙個模型,從而解決一類問題,並通過不斷創新,找到解決問題的新方法,推廣新的測試技術。同時,測試架構師作為測試技術帶頭人,就是為測試團隊樹立技術標桿,提供技術指導、做出技術決策,具體工作有:
了解國內外技術趨勢,具有很好的前瞻性,做好測試團隊的技術規劃,確保團隊朝著正確的技術方向持續前進。
結合公司具體情況,引入和推廣適合公司需要的新技術。
了解業界的普遍實踐,對測試自動化或測試工具所涉及的技術提供很好的支援,或引導團隊向正確的方向努力,不斷地改進自動化測試工作。
具有豐富的技術經驗,對技術可行性一般能做出正確的評估。
具有一線的測試經驗,可以融會貫通,使技術真正能為測試服務。
業務基礎紮實,能很好理解客戶需求,確定測試需求,能為各種技術困難的測試專案提供有效的解決方案。
2.軟體測試架構師的主要職責
測試架構師的主要職責如下。
審查系統架構、系統構件/元件及其介面關係等設計是否合理。
確保系統的可測試性。
需要以全域性的視角來把握軟體測試專案,不僅要關注功能性需求,而且要關注非功能性測試。
制訂軟體系統的測試策略和方法,特別是在系統的效能、安全性、穩定性、可靠性等方面的測試方法、技術線路和質量標準。
構建複雜的系統測試環境,並分析、解決測試中出現的較深的技術問題(troubleshooting),幫助做好缺陷的隔離。
對系統(效能、安全性、穩定性、可靠性)測試做出分析、評估,並提出為改善系統效能、可靠性而進行的設計修改、**重構的具體建議。
設計測試自動化的技術框架,主持重要的測試工具的研究、評估、設計。
參與系統部署的設計。
參與新技術的評估和引進。
幫助改進測試流程、提高測試效率。
測試架構師通過上述技術活動,幫助測試專案、測試團隊提高測試效率和質量。為了更好地理解測試架構師的職責,在這裡,將測試架構師和軟體開發架構師、測試經理進行比較,如表2-1、表2-2所示。
表2-1 測試架構師和軟體開發架構師的比較
測試架構師
軟體開發架構師
目標①提高測試的效率和質量
②提高系統的可測試性,特別是非功能特性的可測試性
滿足系統非功能特性的要求,如完成高效能、高可靠性和高安全性的系統設計
主要工作
設計測試平台
設計軟體產品的系統架構
關注產品的測試過程
產品的研發過程
影響範圍
測試社群、開發團隊
開發社群、測試團隊
技術範圍
①系統架構設計模式、自動化技術、建模技術、測試用例設計技術等
②測試模型、方法、技術、工具等各方面創新
①系統架構設計模式
②物件導向的需求分析、設計和程式設計等全面技術能力
③熟練使用軟體開發平台(如eclipse)
④資深的程式設計技術及其他開發技術
能力①足夠的技術前瞻能力
②足夠的影響力
③掌握軟體系統架構設計知識
④深刻理解測試流程
⑤精通測試技術、方法
①掌握軟體系統架構設計知識
②掌握一類以上軟體開發技術
③精通一種以上開發語言
表2-2 測試架構師和測試經理的比較
測試架構師
測試經理
目標①提高測試的效率和質量
②系統的可測試性,特別是非功能特性的可測試性
①提高測試的效率和質量
②不斷改進測試流程
③加強團隊建設,滿足組織發展的需求
主要工作
①設計測試平台,包括自動化測試框架
②確定測試方法和測試策略
①測試團隊的管理
②測試專案的管理,主要包括計畫、人員安排和進度監控等
責任、決策範圍
①測試方法的有效性
②技術解決方案,如自動化測試框架的設計與實施
③測試技術規範,包括測試覆蓋率衡量
④從技術角度來幫助團隊理解架構
⑤團隊的技術發展之路
①使客戶的價值最大化
②團隊的能力和績效
③專案的結果,特別是軟體產品質量評估結果
④事先定義的質量標準
⑤和其他團隊的溝通、協調
⑥非技術問題,包括測試資源排程、專案里程碑確定等
關注技術儲備、技術問題和發展趨勢
測試過程和測試人員的管理
工作方式
教練式技術指導
疏通、引導等各種技術管理方式
能力①足夠的技術前瞻能力
②足夠的影響力
③掌握軟體系統架構設計知識
④深刻理解測試流程
⑤精通測試技術、方法
①團隊管理能力,包括溝通能力
②專案管理能力,包括問題分析和解決能力
③測試專業知識,以及其他軟體工程知識
3.軟體測試架構師的成果
軟體測試架構師的成果如下。
對軟體產品需求定義、系統設計和**程式設計等可測試性做出詳細要求的規範性文件。
對系統設計、單元測試等的驗收標準。
軟體新系統的測試方案,包括採用的測試策略、測試技術、測試工具等。
自動化測試框架,包括自動化系統架構設計、測試指令碼語言等。
得到改善的測試流程,特別是關係到技術層面的單元測試流程、自動化測試實施流程等。
測試過程效能、測試階段性成果質量、產品質量等的度量體系。
軟體組織的測試技術規劃,包括測試技術發展趨勢、新技術引入研究和評估報告、未來待解決的關鍵測試技術列表等。
特定的或專項的測試方法或技術的研究成果。
不同級別測試工程師所要掌握的各種技術能力集合及其技術等級評估辦法。
提公升測試效率的各種有效測試方法、實踐指導等文章。
本文節選自《完美測試:軟體測試系列最佳實踐》一書。
《完美測試:軟體測試系列最佳實踐》一書已由電子工業出版社正式出版,本書由朱少民 主編
圖書資訊:
如何才能成為一名合格的Java架構師
俗話說 沒有見過好程式,怎麼可能寫出好程式 同樣,也可以說 不了解架構師的能力 工作,怎麼可能成為架構師 如果沒有接觸過頂級架構師,那你怎麼知道自己要往哪個方向努力?所以,最好的方法是找個頂級架構師,去教你 高效的學習方法 完整的知識體系 和 對程式設計正確的認知 讓他去督促你學習,為你營造出 良好...
小白聊架構師 怎麼成為架構師
還有人說 我早就掌握了物件導向設計,也看了 企業應用架構模式 架構之美 大型 技術架構 等等架構的書,為啥還當不了架構師?是啊,這高階,大氣,上檔次的架構師是怎麼煉成的?這裡講乙個小王的故事吧。又到了畢業季,一批應屆生進了乙個軟體公司,小王也在其中。新人進入公司,基本上都是從最底層做起,做那些最髒最...
測試架構師
可以這樣描述招聘測試架構師 崗位職責 1 負責測試技術和工具選型,測試策略及測試方案設計 2 確立公司測試技術框架與測試設計規範,確立公司測試技術和工具發展路線 3 指導和培訓測試工程師 4 組織測試用例評審和測試設計評審 5 組織和領導重點前瞻性測試技術和工具的研究及選型 職位要求 1 多年一線測...