測試的核心競爭力是什麼?
前幾天在某個測試技術交流群,有大佬拋出了一個問題:如果拋開技術不談,如何衡量測試的Level?
簡單理解就是:排除技術因素,如何衡量測試工程師的能力達到什麼層次?或者說用什麼來評估測試工程師核心競爭力?
如果從企業的角度來講,這就涉及到一個崗位匹配度模型和晉陞機制的問題。什麼能力做什麼事情,讓合適的人做合適的事情。
從個人角度來講,明確這點,能更好的在求職市場以及職場有個更明確的定位和職業規劃。
這篇文章,我想談談我對測試工程師核心競爭力的一些思考和想法。
技術
既然上面的問題提到了技術,那我就先聊聊技術方面的因素。
首先,軟體測試崗位是一個技術崗位,這點毋庸置疑。那對於技術崗位來說,技術的底子或者說能力,是很重要的。
如何評估一個軟體測試工程師的技術能力呢?在求職或者企業招聘時,通常關注如下幾點:
- 學歷:學習能力;
- 技術棧:會什麼技術;
- 項目經驗:利用技術解決過哪些實際的具體的問題;
- 大廠履歷:業務複雜度更高,高流量帶來的技術挑戰範圍更廣,深度要求更高;
- 溝通表達:現代職場需要多人協同,高效溝通協調才能解決更複雜的問題和工作;
參照上述幾點,我對技術的定義是:技術是工具,利用工具解決問題是能力,能力高低取決於如何更高效的利用工具解決更複雜的問題。
在我看來,技術是所有技術崗位或技術工種的基本面,就像蓋房子需要打地基一樣。萬丈高樓平地起,技術就是打地基。
技術很重要,但技術只是重要因素之一,利用技術更高效的解決更複雜的問題,才是衡量技術能力的標準。
業務
聊完技術,接著聊聊我對業務的理解。
不同企業的業務類型不盡相同,團隊面臨的業務挑戰也不一樣。
大家都知道,互聯網技術崗位,日常的工作就是完成需求,需求的來源就是實際的業務場景和挑戰。
上面我提到了利用技術解決問題,這裡的問題就是實際的來源於業務迭代帶來的挑戰。
我在面試候選人時,會經常問到下面幾個問題:
- 介紹下最近做過的項目;
- 你在其中擔任什麼角色;
- 在項目中遇到過哪些問題;
- 你是如何解決這些問題的;
- 解決問題背後的思路是什麼;
- 有沒有其他解決問題的方案;
從上面幾個問題展開來講,我希望候選人能對項目背景、項目目標、技術選型、面臨的挑戰、要解決什麼問題、分析問題的思路、典型問題的處理細節等多方面來進行介紹說明,便於我評估候選人的技術能力及對業務的熟悉程度。
你看,其實除了技術,對業務的熟悉和理解也很重要。
我的觀點是,技術本身並沒有具體的價值,技術能解決多大的業務問題,就具備多大的價值。
流程
前文中我提到了現代職場需要多人協同,高效溝通協調才能解決更複雜的問題。每個員工在之前工作中所遵守的流程、工作溝通習慣或許都各有差異。
而流程的目的就是儘可能的是團隊在解決問題的過程中,儘可能保持節奏和目標一致。這裡引用我在之前的文章《測試工程師的職場發展二三談》中關於流程的一段描述:
問:流程是什麼?為什麼要有流程?流程能解決什麼問題?流程能帶來什麼保障?
流程是什麼?
流程是保障團隊目標達成的最佳實踐,因人/團隊/業務類型/迭代速度/資源緊張程度而異。
為什麼要有流程?
沒有流程會導致團隊中的個體各自為戰,目標不統一,進度不協調,資源配給失衡而導致交付品質下降。
流程能解決什麼問題?
流程能保障團隊或者群體在大方向上保持協調一致,儘可能降低由於團隊人員能力、認知水平、資源不足、意外情況導致的項目延期或者品質下降。
流程能帶來什麼保障?
保障工作中遇到溝通或者爭執時你可以有底氣的據理力爭,雖然不一定能扭轉局勢,但在一定層面上,會哭的孩子有奶吃,偶爾學會受委屈給領導看,也是以退為進保障自己利益不受太多損失的技巧。
如何高大上的理解流程?
風險可識別+問題可追蹤+結果可驗證+數據可量化!
總結
聊到這裡,我要表達的核心觀點已經在上文陳述了,這裡做個總結。
測試工程師的核心競爭力是:將技術作為底層能力,在儘可能熟悉業務的情況下基於技術解決問題,過程中不斷優化流程,保持高效的溝通,保障最終交付產出物的品質和交付過程效率。
核心競爭力最終又回到了QA這個崗位的本質:品質+效率。
當然,實踐過程中,要關注過程,但結果是最終唯一可量化競爭力的指標。