測試架構師:1 軟件測試工程師的職業規划
2016-08-11
1 軟件測試的職業發展方向
1.1 管理
表1 管理級別區分
管理級別 | 職位 | 工作年限 | 屬下 | 測試對象 | 職責 |
初級軟件測試管理者 | 測試組長 | 兩年 | 2~5 | 一般負責產品的一個或多個特性。 | 1. 測試計划的制訂和執行 2. 負責產品重點、難點的測試 3. 負責帶新員工 |
中級軟件測試管理者 | 測試經理、 測試代表、 |
4年左右 | 10~20 | 產品 | 1. 最重要的工作還是運作測試項目,制訂並執行測試計划,測試結束后還需要對產品質量進行評估,給出產品發布建議 2. 要做好這些,需要他們掌握更多的項目管理知識,深入理解項目價值,做好項目范圍管理、質量管理、成本管理、時間管理、風險管理和人力管理。 3. 除此之外,他們還要和開發人員、市場人員、服務人員等密切配合、緊密合作,其間,溝通協調能力必不可少。 |
高級軟件測試管理者 | 測試總監、 測試部長 |
10年以上 | 產品線或公司 | 1. 對測試團隊的發展負責,進行人員招聘和培養,留住關鍵人才,提高或更新不合格人員,提升團隊的勝任力和職業能力; 2. 負責項目財務管理(預算和控資) 3. 負責資源的計划與分配; 4. 持續改進測試能力,提升效率和產品質量,從測試的角度對交付產品的成本、周期和質量負責。 |
1.2 技術
產品測試技術是指把某個具體(或一類)產品測試得更好的技術;專項測試技術並不是針對具體的產品,而是測試領域普遍適用的技術。
表2 測試技術類專項測試技術
表3 質量屬性類專項測試技術
1.3 做管理還是做技術
圖2-1 軟件測試在“管理方向”和“技術方向”上的相互轉換
為什么軟件測試具有這樣的特性呢?
這是因為軟件測試是一門基於實踐的學科,對軟件測試來說,“管理”不可能是“絕對的管理”,軟件測試的管理者首先要是產品測試技術專家,這是“做正確的事”的基礎,很難想象一個不懂測試技術、不理解各項測試活動的軟件測試管理者如何評估軟件測試的重點、難點,如何做計划,如何評估風險控制項目進度;與此同時,“技術”也不能是“絕對的技術”,不理解“價值”“目標”和“成本”的技術人員容易犯的錯誤就是陷入“唯技術論”中,缺乏“管理”思想會讓他們制定的測試策略不切實際,一紙空文的測試策略是沒有意義的。
2 “角色”和“段位”
如果職位沒有變化,如何了解自己的測試水平:
- 測試一段:能根據測試用例的描述步驟來執行測試用例,能對照用例的預期結果發現產品的問題,能夠清晰准確地將問題記錄下來后反饋給開發,開發能夠讀懂問題描述的含義;
- 測試二段:對產品需求有一定的了解,能夠根據產品需求分析、設計產品的測試用例,發現問題后能夠進行初步定位;
- 測試三段:對產品的需求和實現都有較為深入的理解,設計用例時會注意用例的有效性,測試用例時會考慮使用自動化測試等方法提升測試執行的效率;
- 測試四段:深入理解產品需求和實現,理解產品質量,理解產品的隱形需求,對產品性能、可靠性、易用性等非功能屬性的測試均有所涉及,並掌握其中的測試方法,會使用測試
- 陷分析技術,會評估產品質量;
- 測試五段:不斷追求最適合產品的測試技術,關注測試過程改進,推動產品測試技術的進步;
- 測試六段:走向前端,做缺陷預防,能將測試方法標准化,並固化為測試工具和流程。
測試預防 | 需求 | 實現 | 測試方法 | 分析&設計 | 執行 | bug | 問題定位 | 評估 | 流程 | 規范 | |
測試一段 | 功能 | 能夠手動執行 | 清晰描述 | ||||||||
測試二段 | 有一定了解 | 根據需求分析設計測試用例 | 初步定位 | ||||||||
測試三段 | 較為深入的理解 | 較為深入的理解 | 考慮用例的有效性 | 考慮用自動化提升執行效率 | |||||||
測試四段 | 深入的理解,理解產品質量,理解產品的隱形需求 | 深入的理解 | 功能、可靠性、性能、易用性、可維護性、可移植性 | 會使用測試陷分析技術,會評估產品質量; | |||||||
測試五段 | 不斷追求最適合產品的測試技術 | 關注測試過程改進 | |||||||||
測試六段 | 做缺陷預防 | 測試方法標准化,並固化為測試工具和流程 |