1. 程式人生 > >做為測試經理,這兩年我都做錯了哪些事(一)

做為測試經理,這兩年我都做錯了哪些事(一)

 

我是一名測試經理,在過去的兩年時間做了兩件事,團隊從0到1的搭建和從QC到QA轉型。這兩年沒有什麼精彩的故事,都是一次次的嘗試-失敗-嘗試的過程。

公司背景
近兩年主要做專案外包。客戶是央企,我們做完的專案要過他們的測試部驗收,測試超過兩輪要罰款。他們通過的標準是一般問題不超過三個,輕微問題不超過五個。

第一次失敗——冒進的左移
團隊組建後,我等到了第一個全新的專案A。這個專案對我和我的團隊來說都是至關重要的,我們需要這個專案來給自己樹個標杆,開個好頭。
於是我把過去兩年我認為最有效的測試方案應用到專案-測試左移。在專案經理的配合下,我們將專案按模組進行了拆分,並配合著制定了開發計劃和測試計劃,一切都有條不紊的進展著。隨著專案的推進,一個致命的問題暴露了出來——返工。大量的工作被推翻重做,專案週期也延遲了一個多月。在這一個多月中,測試和開發團隊都在不斷的返工中度過。專案最後的交付質量也是慘淡收場——驗收五輪。
專案結束後,我反思了失敗的原因:

1. 測試方案的激進: 在對專案的整體難度和專案團隊能力有充分認知前,貿然的選擇了最激進的左移,致使測試工作節奏混亂,在後期的不斷返工過程中,成員情緒也有很大的影響。
2. 里程碑拆分不科學: 在開發計劃制定好之後,匹配測試計劃時,單純的只考慮了完成了哪些就測試哪些。完全沒有考慮到模組間耦合的問題,沒有考慮後面開發和修改bug對已完成工作的影響,也是造成返工作主要原因。
3. 變更失控: 這個專案的需求前前後後修訂了幾十版,一部分是客戶頻繁的提出新的要求,另一部分是因為在專案進行過程中自己發現的的坑,不得不一次一次的填坑。變更失控,勢必造成無休止的返工和延期。
4. 低估了專案難度: 專案初期測試針對專案資料方面的邏輯設計了資料模型,但是隨著專案的不斷深入,測試和開發達成的一致被不斷的推翻,甚至在最後交付前,核心的資料邏輯測試和開發還發現有部分分歧。

錯過了兩次補救的機會

  1. 在第一次出現返工時,沒有認識到根源問題,仍然安排測試人員全程的跟進。錯失了第一次調整方案的機會;
  2. 在變更頻率表現異常是,同樣沒有深入的挖掘問題,還在盲目一條路走到黑。錯失了第二次調整方案的機會;

總結:

  1. 所有的方案確定都要依賴於對環境的充分了解和分析,每一個專案都是獨特的,盲目的套用會死的很慘;
  2. 每一個問題都不是個例,它背後一定有隱藏的原因,深入的挖掘問題才能避免更多的問題出現。

 

第二次失敗——不靈活的“靈活”


團隊組建之初,專案並行是我們面臨的一個巨大的考驗。於是在專案B上,我嘗試了團隊的靈活切入切出,希望實現人員的可插拔。
在專案B中,每個階段開發完成我都會嘗試更換一名測試人員,希望鍛鍊團隊面對專案時的靈活性。專案B前前後後參與的測試人員有5名,最後的交付質量同樣是五輪驗收。
又是熟悉是場景,卻有不同的原因:

1. 專案盲區: 人員變更勢必造成對專案和需求的盲區,每個人負責自己的階段和模組,即使多做一些,仍然不足以覆蓋到整個專案的盲區,盲區就Bug的溫床;
2. 人人負責=沒人負責: 當所有參與專案人都知道我只會在專案中工作一小段時間,當要求所有參與專案的人對專案負責的時候,就是沒人會對專案負責;
3. 測試工作很失敗: 在對客戶驗收的問題做整體分析之後,發現75%的問題是因為我們對客戶驗收標準的不對齊導致的,如相容性要求,需求文件要求,使用者場景要求等,都被我們忽略掉了。

總結:

  1. 靈活可插拔,並不意味著所有人都需要頻繁的變動,1+N的模式會更好。即一個負責人,加上N個可調整的測試人員;
  2. 每個專案有且只有一個負責人對專案負責,亙古不變的真理;
  3. 對齊標準永遠是第一要務,要芝麻給西瓜的事千萬不能幹。

第三次失敗——成本才是王道


公司的專案全部都是功能測試,本著提升團隊素質和產品質量的初衷,開始推進介面測試。在給團隊做了兩期的基礎概念加工具使用的培訓之後,找到專案經理選定了一個週期相對寬鬆的專案開始了介面測試之旅。過程整體符合預期,兩週的時間完成了用例設計到測試的全部內容。發現了一些專案問題,團隊也積累了實戰經驗。但是還是失敗了,這次失敗不是這個專案失敗了,而是介面測試沒有推廣下去。
這個原因就顯得更為冷酷了:
1. 成本壓力: 介面測試的介入,並沒有減少功能測試的時間,增加的十幾人天都是額外的成本。對專案質量的提升因為沒有對比資料,所以無法體現;
2. 週期壓力: 測試需要較完備的介面文件,才能支撐測試。理論上介面文件應該在專案設計階段定義,但實際專案並沒有介面文件,swagger的資訊也是簡單的不能再簡單了。開發人員需要額外的時間編寫文件,測試人員需要額外的時間測試,客戶又不會給足夠的週期;

總結:

  1. 擴充技能樹是好事,但是目的應該是節省成本。任何不考慮成本的投入都是耍流氓;
  2. 技能的應用應該更靈活,比如在里程碑中加入介面測試做驗收,事半功倍。一味的放在整合測試中必然不會成功。

 

第四次失敗——內部客戶大於外部客戶


有一天老闆找到我,說有一個純測試的專案需要評估一下。拿到資訊之後做了基本的梳理,政務類專案,邏輯簡單但是表單超級多,搬磚的活。將資訊反饋給老闆並與老闆再次交流之後我的結論是-做不了,團隊當時處於滿負荷工作。後來與老闆交流了幾次,我的反饋都是做不了。最後老闆找了幾個在校的實習生來協助我,於是開始接觸客戶。在於客戶的幾次交流中,客戶的訴求是希望能節約成本,但是我還是堅持質量第一位,最終客戶接受了我們的方案。專案最終順利的做了下來,80多人天,900個bug,40000條用例,資料看還不錯。為什麼也算成失敗了?
1. 沒有滿足內部客戶的訴求: 老闆帶過來的專案,可能有很多的考慮,比如利潤,比如搭上新的客戶等等。我在接收到資訊之後,第一反應是我的團隊消化不掉就不要做了,完全沒有考慮到要替老闆攻下這個山頭。
2. 沒有滿足外部客戶的訴求: 在客戶頻繁的表達想降低成本的時候,沒有站在使用者的立場,可能政務類專案的質量標準和其他客戶並不相同,可能這只是個演示版本,後期還會有更大的變動,種種可能都沒有去過的考慮。雖然客戶認可了我們的方案,但是結果就是客戶再也沒有和我們進行測試類的專案合作。
總結:

  1. 對待內部客戶應該像是對待家人,解決他們的問題應該是放在第一位考慮的事。就像孩子過來跟你說我餓了,你的第一反應應該是我要想辦法給你弄點吃的,而不是我沒有錢。
  2. 對待外部客戶應該挖掘核心的訴求,滿足客戶才能帶來長期的勝利。

 

第五次失敗——裁員風波

這是個敏感話題,對我產生了比較深遠的影響。團隊有一個小姑娘,在公司的一年中整體變現平平,且呈現了較明顯的下滑趨勢。有三個問題讓我開始認真考慮:1 與團隊合作的時候經常發生爭吵。有一次他們兩個人在針對一個測試點交流的時候,另一位同事問她,這個有沒有測過,小姑娘在辦公室就急眼了,意思是你不信任我就自己幹吧;2 工作時間總是玩手機,消極怠工,負面情緒對團隊產生了比較大的影響;3 bug產量持續墊底,我對比了她參與的全部專案,bug數量都是最少的,且差距非常大。在持續觀察了一段時間之後,綜合考量了產出,貢獻,資質,成長空間和對團隊帶來的影響等方面,最終決定做辭退處理。由綜合部門出面處理了這件事情(協商處理,沒有發生法律風險)。
這件事又為什麼定義成失敗,主要兩方面的原因:

1. 沒有對綜合部門做到足夠的支撐: 在做出辭退決定是,並沒有第一時間給與綜合部門足夠的資料支撐,最終可拿出的資料維度也相對單一,為綜合部門面談造成了不小的困難;
2. 沒有及時反饋: 在團隊成員出現問題的時候,沒有在第一時間做出反饋,或者在反饋幾次之後喪失了對成員的資訊,導致情況發展到了一個大家都不太原因看到的局面;

總結:

1 淘汰機制是公司層面制定的,但是部門內部應該有足夠的績效資料積累,在必要的時候可以給公司提供客觀公正的資料;

2 及時反饋在團隊管理中是非常重要的原則,當發現成員行為出現偏差的時候,第一時間給予反饋,及時糾偏才是對他、對團隊負責任的表現。當你想要放棄一個人的時候,其實也是放棄了自己。

第六次失敗——搭對不匹配
前面提到的1+N模式,是我們團隊長時間使用的搭對模式。期初效果明顯,兩人合作,一人負責在專案中磨合的很順利,測試質量也呈現了上升趨勢。其中一個專案還實現了我們第一個二輪驗收通過的突破。但是在年末的時候,突然就發生了一些意外狀況。其中一組是A,B兩個人搭檔,A是有一年工作經驗的小姑娘,作為負責人。B是實習生轉正的小弟弟。A姑娘能力特別強,執行力強,認真負責但是有暴力溝通的問題,B弟弟態度也端正,就是特別軸,認死理。
B弟弟還有一個有意思的事,有一次部門內部分享是B弟弟主講,在過程中提到了很對知識點,但是這些知識點不是這次分享的重心而且他也沒有準備這些知識點的內容,造成了大部分時間都在討論一些與分享無關的且沒有結論的內容。分享結束後,我找B弟弟交流了一下,說非重點內容可以帶一下就好了,不需要太展開討論。結果在第二期的分享時,B弟弟整場說了不下20句,這個點你們自己百度吧,我不講了。走了另一個極端。
說回來,他們兩個合作比較長的時間都還相安無事(後來證明是我自己為相安無事),直到一次因為一個bug的處理髮生了比較直接的衝突,正好我在辦公室。
衝突結束之後我先和B弟弟交流了一下,B的意思就是對A的經驗非常不屑,覺得自己工作幾年之後也會有經驗,感覺讓A負責專案他非常委屈,限制了他的發展。之後我又和A交流了一下,核心就是B做的不對(事實證明確實是B做的不對)還不聽她的,經常是她自己承擔非常大量的工作來彌補B的過失。
在這件事上,我沒有選擇和稀泥,安撫並引導了A的情緒,批評了B的固執。結果就是B沒過多久就離職了,而A則快速的成長起來。
對於這件事的結果,我覺得不算是失敗,但是導致這一結果的過程卻是徹底的失敗:

1. 人員分配考慮不全面: 在搭對的選擇上,我考慮了能力的差異,和後期人員培養的規劃,漏掉了性格的因素,這恰恰也是導致失敗的最重要的因素。95後的孩子都很有個性,將兩個尖銳的點放在一起,就會產生不可逆的後果;
2. 對團隊觀察不夠細心: 沒有從平時的交流中發覺端倪,當問題明顯化之後,再想彌補就幾乎不可能了。
總結:

1 團隊合作,要綜合考慮,能力、潛力和性格都是決定性因素,為大家創造一個和諧的工作環境,比什麼都重要;

2 對團隊成員要用心觀察,有些不太正常的跡象時,要及時引導。沒事打打預防針,要比出問題了在解決成本要低的多,何況不是所有問題都能解決。

 

待續······