背景:公司剛成立一個產品線,自然同時需要組建一個對應的測試團隊,這個時候公司選擇了小A來負責組建和管理該測試團隊,並且當前就小A一個人。那麼問題來了,作為一個新任命的測試經理,小A應該一步一步怎麼去做呢?都需要哪些技能才能夠承擔這樣的責任呢?

尋找隊友:所謂巧婦難為無米之炊,第一步肯定就是要招人了(這個時候對於團隊的目標應該也有個大概的方向,後面詳細說明);當然,公司也不是土豪,給的預算也有限,一般很牛逼的人估計也不願意過來。在這樣的情況下,如何找到合適的隊友呢?不錯:找潛力股,然後在團隊裡面培養起來(後面再考慮培養後如何留住的問題)。

這個時候,去網上找下或者自己分析下一個優秀的測試人員應該具備的一些素質和硬技能,於是小A根據自己的蒐集和理解羅列了如下幾點,作為尋找隊友的幾個條件:

1、熟悉一門語言,有編碼經驗,最好是科班出身,這些對於後面的自動化和持續整合是很有用的;

2、邏輯思維能力和發散思維能力比較好,這個是一個優秀測試人員很重要的素質;

3、主動性比較好,有一定的上進心(團隊之初,千萬別招到混日子的,這樣對於團隊肯定是毀滅性的打擊);

當然,招聘要求是不能夠這樣寫的,而是應該寫的更加簡單點,這樣能夠收到大量簡歷的機會(因為已經證明自己牛逼的人一般也不會去投簡歷),然後就要開始不斷的根據該要求去篩選簡歷,面試的工作了....

Ok,經過一段時間的努力和談判後(這段時間小A的溝通能力應該得到了空前的提高),我們總算是組建了一個最初的團隊,儘管這個團隊當前只有5-6個人(老大說了,後面隨著業務擴大後團隊也會繼續擴大的)。而且,這5-6個人也不是都滿足上面的幾個條件(招到合適的隊友實在是太難了,只能後面慢慢看)。

團隊目標:接下來要做的就是如何將團隊按照期望的那樣運作起來呢?不管做什麼事情,都需要有個目標,團隊也一樣,首先要整明白團隊的目標是什麼?當然,自己yy還是不行的,這裡提供幾個方法來確認團隊的目標:

1、找相關責任人確認他們的期望,包括:上級、開發人員、測試人員、技術支援人員等等,因為每個人關注的點是不一樣的,比如:測試人員期望看到自己的進步。

2、思考如何去更好的支撐產品未來的發展。

3、從公司的願景裡面(如果有的話)去想測試團隊如何去做好自己的一環,比如:一個遊戲團隊如果有1億使用者的話,我們的效能測試可能就是一個挑戰?

4、在網上以及行業等方面看看其他優秀的測試團隊是怎樣的

通過上面的幾個方法,小A確認了團隊的目標,如下(大家是不是發現,測試團隊除了保證質量和節省成本外其實還是有很多其他目標的):

§  釋出有價值的、高質量的、有競爭力的產品(公司的期望);

§  更快的去反饋產品的質量,並且及時發現產品的問題(開發的期望)

§  持續的技術改進來更好的支撐產品未來的發展(上級的期望);

§  人員的技術能夠得到持續的提高並且有清晰的發展方向(測試人員的期望);

§  整個測試的工作更加有技術含量(測試人員的期望);

§  團隊氣氛比較好,大家能夠在輕鬆的環境下面工作(測試人員的期望);

§  團隊穩定,骨幹員工流失率比較低(上級的期望);

形成團隊目標後,後面就是將目標的分解,並且形成具體可以實施的計劃來支撐對應的目標;比如:針對如何實現釋出有價值的,高質量的,有競爭力的產品這個目標,我們可以做哪些事情呢?這塊就需要測試經理具備對應的目標分解能力了,下面可以提供幾個方面供參考:

1、提高大家的業務理解能力,這個是保證一個產品質量的基礎吧;

2、提高大家的需求理解能力,保證我們的產品是客戶想要的;

3、功能的自動化和持續整合,保證產品的最後的基本功能通過自動化保證;

4、基於程式碼和業務邏輯的測試,更好的保證產品的程式碼質量;

然後針對每個分解的目標制定具體的實施計劃,比如:提高大家的業務理解能力;我們要達到的目標是什麼(儘量能夠定的可以量化點,滿足smart法則,否則不好去評估)。我們假設小A通過分析確定按照下面的計劃來達成目標(這裡體現了測試經理的計劃管理能力):

1、每個人劃分自己的責任模組,小A自己負責整個產品的模組劃分,將每個模組能夠串起來(這裡體現了測試經理的業務分析能力)。

2、每個人都需要跟對應的開發一起確認對應的模組業務邏輯,並且自己將負責模組的業務邏輯產出來。

3、輪流安排講解自己負責的模組,並且安排提問,保證每個人都能夠對其他模組的業務都比較熟悉。

計劃確定後,安排對應的時間,然後自己分析下達成目標可能存在的風險,並且自己去提前想辦法解決掉,比如:這個過程中可能碰到的幾個風險和對應的解決方法為(這裡體現了測試經理的風險分析和控制能力):

      1、模組太多,而每個人的精力和時間有限,可能沒有辦法去搞定所有模組;對應的解決辦法為:自己根據模組的重要程度來進行分配,其他的 讓對應的開發進行培訓。

      2、開發不配合,導致溝通不順暢,無法達到預期的效果;對應的解決辦法為:自己跟他們的老大進行溝通,尋求配合。

      3、部分測試人員能力不足,導致自己負責的模組業務理解能力一般,無法達到預期;解決的辦法為:提前識別,過程跟蹤,讓優秀的人承擔更多的責任。
     4
、模組太過複雜,分析難度很大,很多開發也不清楚;解決辦法為:提前識別,發現搞不定的馬上終止或者換模組,節省大家的時間,避免打擊大家的積極性。

當然,我們可能無法去預判所有的風險,後面發現問題及時解決就可以了。
       
團隊流程和制度:所謂無規矩不成方圓,我們為了讓團隊更好的去朝目標去前進,需要通過一系列的制度來確保這點,避免每個人的目標不一致導致團隊目標無法完成,那麼我們應該去如何制定團隊的整個流程和制度呢?這裡提供幾個建議作為參考:

1、制度一定是為目標而服務的,否則就不需要這個制度(當然,也可能目標需要完善);

2、制度不宜多,需要給大家一定的自由空間;

3、每個制度都需要有對應的獎懲機制,否則跟沒有一個樣;

4、確定制度後要一視同仁,自己也要以身作則,否則沒有人會遵守;

5、制度要跟團隊成員一起討論出來,這樣才會更有公信力,也更容易形成部門文化;

6、不要跟公司的制度衝突;

我們假設小A通過上面的分析方法形成了下面的團隊制度(其他的根據需要進行完善):

1、部門考核流程和制度

2、導師制度

3、請假和加班制度

4、技術改進制度

5、分享和交流制度

6、部門活動制度

7、測試人員的工作指導和制度

完成後,跟大家一起討論和完善,並且最終達成一致,以後每次的完善都跟大家一起確認下(不建議經常去更新制度,這樣會讓制度沒有公信力,也不要出現頭痛醫頭腳痛醫腳的情況)

人員分工:團隊目標和具體計劃確認後,全部靠自己一個人肯定是搞不定的,所以就需要將合適的工作安排給合適的人員。這樣既能培養大家的能力,也能夠讓自己更加專注於整個團隊的方向和一些關鍵事件(這裡需要測試經理具備知人善用的能力,能夠發現團隊每個人的優點,並且合理的去利用)。這裡網上也有一些方法了,大家自行腦補。那麼一個團隊都需要哪些人呢?筆者根據自己的經驗提供下參考:

1、專案經理(後面培養成團隊管理人員)

2、技術牛人(後面負責團隊的技術改進和規劃)

3、產品專家(能夠對產品的業務和需求等非常熟悉)

4、測試人員(完成部門的日常測試任務,並且不斷提高自己的測試技能)

人員培養:招到合適的人或者將合適的人安排到合適的位置後,就需要我們對這些人員進行培養,來提升他們的勝任度了;這裡要求測試經理本身也能夠具備對應的技能;比如:如果一個測試經理自己不會自動化,甚至沒有接觸過自動化相關,那麼除非另外找一個自動化方面的專家,否則該團隊的自動化肯定會走很多的彎路;那麼具體如何去培養對應的人員呢?那自動化人員的培養來舉例子吧(其他方面也是採取類似的方法)!

1、選擇2-3個編碼能力比較好的人員;

2、根據自己以前的經驗選擇一個適合自己產品的自動化框架。

3、讓大家挑選一些最基本功能(需要經常測試的)的用例,嘗試進行自動化(因為上面不一定給予時間,這塊時間建議利用額外時間,或者自己去擠出時間來做,否則失敗了不好向上面交代);

4、完成後快速的執行起來,讓大家看到效果(不成功的話也能快速發現),這樣能夠提高大家的信心;

5、認定該方案後,持續的投入額外時間和展示效果,直到讓開發和上面覺得自動化已經帶來價值了,這個時候上面自然就會主動要求投入人員進去了(這個時候自動化的黃金時代就來了),同時上面對自己的工作應該也會比較認可吧;

6、從自動化人員裡面找到一個能力比較好的,重點進行培養,讓其開始負責整個自動化專案;等到其能夠完全勝任了,自己也能夠解放出來做其他規劃工作了;

      OK,等到整個團隊的人員能力都培養起來能夠勝任對應工作後,自己就只需要負責整個團隊未來發展的方向,並且不斷的去激勵大家,提高整個團隊的戰鬥力就可以了。