為什麼要了解能力模型
王陽明曾在《傳習錄》中提到過一個思想:以終為始。所謂“以終為始”,意味著在行動的開始階段就要考慮到最終的目標和結果,以此來指導自己的行動和選擇。那麼如果我們想在自己的行業內獲取好的職業發展,第一步不是要努力,而是要知道如何努力。人對於自己未來的恐懼都是因為太多的不確定性,不確定自己選擇這個行業是對是錯;不確定自己明年還能不能晉級;不確定自己什麼時候被裁;不確定自己什麼時候被行業淘汰。那麼如何把握自己的人生,選擇自己的未來,就要確定一個方向和目標。而一個行業、一個專業的能力模型就代表了你在這個行業是如何選擇自己的人生與未來的。
什麼是能力模型
每家公司會根據職能、級別去設定不同的能力模型,能力模型需要清楚的定義每個維度、每個級別所需要的能力。在測試行業中,主要分為業務測試工程師、測試開發工程師。那麼對於這兩個職能,相應的能力要求也不盡相同。
業務測試工程師能力模型
業務測試工程師的能力模型主要有以下 5 個維度:
能力維度 | Lv.1 | Lv.2 | Lv.3 |
---|---|---|---|
需求理解 | 能夠理解產品需求規格說明定義的顯性需求。 | 能很好的理解產品的顯性需求並能挖掘出產品隱性需求(非功能性需求);可充分考慮到需求的異常場景,能發現需求中考慮不周的問題,並提出改進建議。 | 能深入理解產品需求,瞭解使用者原始需求並關注產品需求價值,能在眾多需求中識別出關鍵產品需求,篩選偽需求;能結合自己對產品的理解提出建設性意見;針對需求能夠評估和預見後續存在的測試風險和需要採取的措施。 |
架構理解 | 瞭解產品基本業務流程。 | 對技術架構有基本的理解,清楚前後端架構設計的基本邏輯;熟悉業務架構,清楚各產品內模組間依賴關係、業務關聯。 | 深入理解系統架構,包括負載均衡、分散式架構、資料庫叢集及讀寫分離、訊息佇列、快取、CDN等的機制、原理,並可對相關問題進行分析定位;參與系統架構規劃、設計,進行風險評估,確保系統的可測性。 |
測試設計 | 熟悉邊界值、等價類、錯誤推斷等常用測試用例設計方法,可根據需求規格中定義的需求,設計合理的功能性測試用例。 | 可補充新需求、需求變更對業務影響後的測試用例;測試用例涉及系統異常場景。 | 測試用例可覆蓋業務全場景,並覆蓋非功能性質量特性;測試方案設計會考慮。 |
測試工具應用/指令碼開發 | 熟悉自動化測試工具,可執行自動化測試case並檢視結果。 | 熟練運用自動化測試工具或框架,開發自動化測試case,執行迴歸測試,提升測試效率,或可開發簡單工具、指令碼,提升測試效率。 | 能夠根據實際需要,自行設計開發測試工具或指令碼,豐富測試手段、顯著提升測試效率。 |
測試總結 | 無 | 能透過對Bug資料的分析,找出Bug出現規律,並推動開發根本上解決,預防類似Bug再次出現。 | 透過總結分析質量影響因子,推動解決相關問題,確保質量目標達成。 |
測試開發工程師能力模型
測試開發工程師的能力模型主要有以下4個維度:
能力維度 | Lv.2 | Lv.3 |
---|---|---|
架構理解 | 對產品的技術架構有基本的理解和掌握,清楚前後端架構設計的基本邏輯,如熟悉客戶端、服務端、資料庫3層架構的基本邏輯,熟悉加解密、API認證驗籤等作用及原理。 | 對產品的各個分層模組/server的架構設計都有非常系統的理解,如熟悉負載均衡、分散式架構、資料庫叢集及讀寫分離、快取、CDN等機制及原理。 |
開發語言應用 | 熟悉 Java/C++/python 等至少一種程式語言。 | 精通 Java/C++/python 等至少一種程式語言,熟悉機器學習等前沿技術,並可應用在實際工作中。 |
測試工具/平臺開發 | 負責測試工具/平臺的框架設計、功能開發及維護工作,並根據工具使用效果不斷最佳化。 | 透過引入新的測試技術及測試方法,豐富測試手段,在更早、更深、更多、更快發現 Bug 方面做出貢獻;開發測試工具,技術貢獻惠及不同業務。 |
專項測試 | 能獨立負責 App 效能、API效能測試等專項測試工作;實現部分專項測試的自動化,減少人力投入。 | 透過效能故障的定位分析及推動,對效能提升(如crash率下降、卡頓率下降、API響應時間減少)做出顯著貢獻;實現專項測試的全自動化,極大提升測試效率。 |
根據能力模型做提升
瞭解能力模型之後,就進入到下一個話題,即,如何能夠提升到對應能力模型的能力呢?王陽明除了以終為始之外,還提出過知行合一這樣的偉大思想。所謂知,即為人的認知,所謂行,即為人的行為。而前文提到的能力模型,就是我們的認知。接下來我們就需要採取行動,完成“知行合一”。針對於以上不同的能力模型的要求,也有對應的匹配課程:
業務測試工程師
- 需求理解:《測試開發體系介紹》、《測試用例設計》兩個專題課有對應內容的講解。
- 架構理解:在《測試開發體系介紹》專題課中,被測系統架構與資料流分析章節講解了與架構理解相關的方法,在《中介軟體測試》專題課中有關於包括快取資料庫、訊息列隊相關的測試方法。
- 測試設計:在《測試用例設計》與《測試流程》專題課中,有關於測試設計的講解內容。
- 測試工具應用/指令碼開發:在《使用者端 Web 功能測試》、《使用者端 App 功能測試》、《使用者端 Web 自動化測試》、《使用者端 App 自動化測試》、《介面測試》、《介面自動化測試》專題課中有對應講解
- 測試總結:測試總結是軟技能的一部分,考察的是一個人的分析問題、總結問題的能力,除了新新增的《測試方案設計》直播課之外,還可以透過私教服務,找私教老師做針對性提升。
測試開發工程師
- 架構理解:同業務測試工程師
- 開發語言應用:在 《程式語言》、《測試框架》兩個章節會重點給大家講解開發語言相關的知識。
- 測試工具/平臺開發:在《測試平臺》、《資料驅動自動化測試框架》兩個專題課會給大家講解相關的使用。
- 專項測試:《效能測試》、《專項測試》、《SDK測試》等是針對於服務端與客戶端測試對應的知識。