多年前的某一天隨手翻起毛選,看到“農村包圍城市”、“游擊戰”等內容的時候,突然想到這些詞是不是可以和技術人員的成長體系對應起來呢?關於戰爭有幾個很重要的詞,比如戰爭、戰術、戰鬥、射擊等詞,當時突然靈光一現,對於技術人員來說,這不就是我們常說的體系、策略、方法、技術麼?於是就畫出了下圖,覺得每一個人的成長過程都是朝着這條路徑發展的。
技術
當你剛從學校畢業,和一個新兵蛋子沒有兩樣,要快速的融入團隊,最基本的能力就是能活,不出事。你第一個要掌握的知識便是工作所需要的最基本的技能技術。
一個新兵蛋子需要在隊伍中瞭解一些基本的殺敵和自衛技能,比如
搏擊
投擲手榴彈
射擊
拼刺刀
有了這些基本技能你才能夠不被敵人輕易幹掉,才能夠實現你的夢想。
在測試中,對應的技術人員需要有以下能力
分析、設計測試用例的方法,比如等價類劃分、邊界值分析法、錯誤推理法、場景法等等
執行測試的方法
使用測試工具的基本技能,比如會用缺陷管理工具,會使用用例管理工具
瞭解業務的基本知識
只有你掌握了這些基本知識,你才能夠很高效的完成本職工作,才能夠作爲一個新兵蛋子不被裁員掉,可以看出測試技術屬於測試能力的最基本核心之一,如果這些東西你都不會,基本上就會被淘汰掉。
方法(戰鬥)
隨着一個新兵蛋子的逐漸成長,可能成爲一個小班長或者小排長的角色,要開展一場小規模的戰鬥並獲得勝利。就需要針對某一場具體戰鬥選擇戰鬥規則、人員等,比如
有基本的分析能力,應該纔去什麼樣的戰術戰略,如何分配任務,如何配合等。
基本的風險意識,如果任務中出現意外如何處理?後備方案是什麼?
對資源的掌控能力,我的隊伍有什麼特長,適合打什麼樣的戰鬥?
同樣的道理,技術人員(以測試人員爲例),從初級人員慢慢成長爲一個小組長或者模塊負責人時,也有他的基本能力和素質要求。
有基本的分析能力,擅長某一塊的業務。
基本的風險意識,測試過程中的資源(人員請假、離職)、環境(部署環境準備不到位)、業務(需求變更、業務分析不到位)、工具風險(工具不足以支持測試需要)、質量要求(驗收標準不清晰)等等?具體風險分析可參照《化無形於有形---項目風險管理》
對資源的掌控能力,團隊成員適合做什麼類型的測試,服務端性能、 移動客戶端、服務端測試、後臺管理系統?
策略
針對具體組織的戰鬥方法
例如三十六計中的計策
毛澤東軍事理論中的《論游擊戰》等
描述一系列戰術手段,以及手段的使用方法
在測試中,針對組織和項目特點定義的策略
基於風險的測試
基於需求的測試
基於變更和迴歸的測試
基於質量模型的測試
基於過程、標準、法規、度量模型的測試
第三方獨立測試
體系(戰略)
在戰爭中,各國根據各自資源條件、敵情選擇的體系:
例如德國的“閃電戰”
毛澤東在抗日戰爭時期的“論持久戰”,解放戰爭時期的“農村包圍城市”
美國人的“絕對火力壓制”
在測試中,各個組織根據自身產品、用戶、資源特點決定的體系:
例如Facebook是所謂的無測試公司
例如Google是10:1測試公司
微軟是1:1測試公司
華爲?騰訊?
這樣對比起來是不是有點意思?從以上可以看出,技術人員的成長都是先從熟悉技術開始,然後學習和總結方法策略,最後再靈活運用,最後形成測試體系。
2019年連續三十天修心,土司於北京