最近在網上發現一篇文字記錄2012年《[視頻]作為測試經理如何有效管理好你的軟件測試團隊》的文字內容,感謝記錄的人,我也保存一下。順便將演講中的PPT重點截圖也放上來,一并保存了!。由于是現場速記,過度的口語化,所以文字有很多錯誤和不通順的地方,整理文字就耗費了好幾個小時。文字可能還是有不通順的地方,還請大家見諒!
演講主題“如何管理你的軟件測試工作”主題活動以軟件測試為切入點,分享如何在不同規模,不同訴求的企業情景下,最大限度的利用現有資源,通過測試維護軟件質量。
以下是領測老賀的演講實錄:
今天我們談點什么呢?在座的人數不少,相信都希望從軟件測試得到些許機會。我先猜猜你們針對軟件測試會有哪些問題?我猜的不準可以直接向我反饋,我希望有一些互動。
可能有人會說:
我的質量確實有一些問題,如果使用自動化軟件測試就能解決所有問題了。長遠來看,自動化軟件測試一定會幫你解決些許的問題。但是,ROI(投資回報率)非常滯后。
可能還有朋友有以下問題:
我覺得某某公司的方法不錯,我估計我們也行。在座的來之前我相信你們看了很多測試方法和理論,或者針對自己的現狀覺得,他的方法行或者不行。你們需要不需要站在你們公司角度,引入一個方法論幫助你們解決現在的問題?我今天就是想找到一種方法徹底改變 我的現狀。
但是很遺憾,放之四海而皆準的方法是沒有的,如果你抱著這樣的希望來,對不起,這一個小時也辦不到。
也許你說的很對,可能我們現在想法不太現實。但是,我想來想去覺得所有的原因都是由于我們缺少一個人,同意嗎?在座的你們可能管質量、管技術,但是對測試這塊不放心。你們很可能只是缺少一個很牛的人存 在。
如果大家都缺少一個很牛的人,這個牛人在哪兒呢?你可能知道這個牛人在哪兒?微博、獵頭,或者你敞開所有的渠道去找,你認為某某某就是一個牛人,如果他能加入到了我們的團隊,我們就成為了這樣的一個組合。放之四海我們的核心團隊就可以組成了,我們就可以上市了,我們就前途遠大了,因為質量問題可以完全交 給他。
我想說的是,大家既然來到了這個場所,那你開發的產品應該是沒有太大問題的,至少能用。否則用不了兩個月,你們就各自找工作去了。
我的結論是開發和測試工程師的技能是配套。
舉一個軟件測試工程師的例子,質量非常好的產品見過嗎?質量非常差的產品見過嗎?當一個測試工程師進入到你的團隊,開始對你的產品進行測試的時候,隨手點就會出現bug, 不用用任何的技巧和方法就找了一堆Bug出來,像這樣的開發團隊,你請一個軟件測試牛人來有用嗎?他能待得住嗎?即使你雖然花了30萬的年薪把他雇來,但 是你只能得到5萬年薪的工程師的效果。所以,不如花5萬塊錢請一個測試工程師給你干活就行了,因為開發和測試是配套的。如果一個產品質量很好,你請個3、5千的測試工程師來,他發現不了Bug,由于軟件質量很好,怎么都測不出bug,但他的同事已經發現bug了,他也沒法繼續待下去。所以開發的質量決定測試的質量。
你作為開發工程師千萬不要抱怨跟你合作的測試工程師水平低,因為你抱怨他的同時就是在抱怨你的開發質量很差,因為你跟他是配套的。你作為測試工程師也不要抱怨這個產品質量很不好,你跟他也是配套的。
你門的目標是什么?共同提高、共同成長!當你到了一定水平,你請相同水平的人來組成團隊才有用。
如果大家沒有以上不切實際的想法了,我們可以開始了。
《孫子兵法》的開篇,你如何管理你的測試工作呢?很遺憾,我的高度非常有限,所以我們只能談最末流的“法”。但是如果你前四個沒搞定,法一點用都沒有。但我們看事情的時候,只能談“法”中間的一點。
當我們想談軟件測試的時候,第一件事情你需要先認清你是誰。
我給大家規劃出來三個場景:
第一個場景我叫它“小型創業團隊”,兩三個或者三五個人的開發團隊;
第二個幾十號人的中型團隊;
第三個是資源相對豐富的大型團隊。
三個團隊的目標和方法是完全不一樣的,千萬別相互照抄。小型團隊用大型、中型團隊的方法做事兒,會死的很難看。大型團隊照小型團隊的方法和思路做,很多事情會變得不可控。所以先需要先認清自己是誰,再按部就班地做事。
首先,小型團隊
當我們談到小型團隊的時候,我問大家第一個問題就是:你的團隊為什么還沒有死?
小型團隊容易死嗎?中關村統計,創業團隊里99%會死掉。剩下來的1%是偶然嗎?絕對不是偶然!你為什么能生存下來?如果你沒有辦法很好的回答這個問題,代表你可能馬上就會進入到那99%里。
我給你幾個理由, 你看是不是?
第一個理由:人無我有。
你們是不是現在在做一件事情,這件事情是別人都沒做,只有我做了?前面五條——道、天、地、法、將才能解釋你為什么會活下來。 如果你現在活下來的理由是人無我有,你有什么?如何保持?如何發揚光大?如何做差異化的競爭?這是你后面的開發、測試工作的所有要點。不要跟別人爭你沒有 的東西,沒有任何意義,而且會加速你的死亡,這是第一個你活下來的理由是因為人無我有。
第二個:人有我精。
你在市場不是唯一的,但是你做的比較好。如果你的理由是“人有我精”的話,你活下來的理由是什么?是這個“精”字!你的開發質量、團隊 管理的重點都要集中在這點。你跟它的質量一樣嗎?能照方抓藥嗎?認清你自己。如果人家比你“精”,你怎么辦?
第三個:人精我賤
什么叫賤?便宜、免費、倒找錢。倒找錢可能比較難,免費可能是你活下來的理由。但是,你想把免費往下繼續推的話,怎么辦?是因為人家收費我免費就一定有市場嗎?前提是什么?免費的質量和收費的質量相 當,這個才是你能存活下來的理由。當人精我賤的時候,賤和精要相當,而且你要加上免費才能活下來。
老實說,后面兩種情況不適合小團隊創業。
首先要認識自己 在哪個范疇?在這樣的前提下,你再來考慮你的測試怎么做?
小團隊應該怎么做軟件測試?
小團隊的要求是什么呢?一定是少花錢,多辦事。一分錢要分成兩半花,不能大手大腳。
如果你是小型創業團隊,你要關注什么?一定要關注主要業務功能!時刻記住什么是你賴以生存的原因,一定把這個原因抓住,也就是從測試重點說,必須關注主要業務功能,也就是你的殺手锏、核心競爭力、客戶為什么選擇你的原因。抓大放小,把賣點做足,這是所有質量保證的核心原因。
3、5個人的團隊最好采用自測、互測的方式,我不建議你雇一個優秀的全職工程師,因為在這個階段是不值得的,保證業務功能最重要。
作為老板要抓你的客戶。做足用戶測試,用戶測試是免費的,可以讓用戶跟著你一塊兒玩。如果你想把你的公司做大、做強,就要抓一下質量,好好做功能點測試和自動化測試。記住,這是在滿足前兩項的情況下做的。
小型團隊要完全遵循要事第一,也就是剛才一直在強調的,主要業務功能。你的賣點是什么?用戶為什么會買單?你要把精力投在最優價值上。
可能在這個階段對你來說,一個完備的測試并不是最有價值的。人無我有的情況下你的質量不能太差。當人有我精的時候,你是什么狀態?人精我賤的時候你是什么狀態?你現在做的事情是最有價值的嗎?現有的流程框架基礎設施中,哪些部分不是必須的、能用更輕量級的方法替代?這都是你做的時候時刻要考慮的事情。
我們看看中型團隊
如果有了幾十號人,有了全職的測試工程師,你應該怎么辦?
第一個問題,明確你團隊的KPI
什么代表著你做好了?找出跟質量相關的要素。一樣的道理,先分清你的目標。創業團隊的目標很明確,就是為什么存在?大一點的團隊很明確,就是分給你的KPI是什么?
第二,這時你應該配獨立的軟件測試工程師了。
當你所有的東西比較規范的時候,我建議你按功能將這些角色進行劃分,可能分為軟件測試環境搭建、自動測試組、手工測試組、性能測試組和安全評估等。對于不同的產品不需要全配,但是我建議你按角色進行劃分,不要讓所有的測試工程師干一樣的事情。
第三,你需要梳理一下你的軟件測試流程,控制工作方式。
在這樣的情況下我建議你規劃整個的測試過程、測試方式。我會把整個的測試過程分為:單元、集成、系統,三個階段。
一要有專項的測試方案,比如功能、性能、安全、安裝。
二要做測試過程的記錄,缺陷報告也要獨立管理,要使用專門的缺陷管理工具進行管理,要對測試工程師進行訓練。
三要有測試綜合報告作為測試的最終交付物,這些是你在中型的團隊要做的事情,把流程建立起來,大家按部就班、分角色進行。
然后,針對中型團隊,我的建議,你要花足夠的時間研究你的被測應用,研究你產品的特點。
當你仔細研究你的被測應用的時候,你會出現很多自動化的解決方案,這會直線的提升你的效率和優化你的測試工作量。在這個情況下,立足點是不要期望于所謂的像我這樣的人告訴你一個完美的自動化測試框架,這不現實,因為我不了解你的業務,不了解你的產品特點,這件事兒只有你自己能做。
中型團隊也可以敏捷一下
但是,開始之前你必須要問自己幾個問題,這幾個問題直接導致你行還是不行。
你的項目能接受失敗嗎?你的團隊有希望實現自組織的跨功能團隊嗎?人員組成是什么樣的?你招到的人是什么樣的?他們的學習能力是什么樣的?你們是一個精英團隊,還是一個能干的人帶著若干個不能干的人在一起干活?這些直接導致你能用敏捷還是不能用敏捷。
在這樣的情況下我建議你規劃整個的測試過程、測試方式。
我會把整個的測試過程分為單元、集成、系統,三個階段。
一定要有專項的測試方案,比如功能、性能、安全、安裝等。
二要做測試過程的記錄,缺陷報告也寫出來,用專門的缺陷管理工具進行管理,要對測試工程師進行訓練。
最后要有測試綜合報告,這些是你在中型的團隊要做的事情,把流程建立起來,大家按部就班、分角色進行。
如果你想管理起一個好的測試團隊,首要的事情是什么?先認識清楚你自己是誰!就是你的開發和測試是配套的,如果你根本沒有清楚的認識到你是誰的話,所有方法、體系、人員管理全都是失效的。
你是貓還是獅子,自己照可能看不清楚,還需要第三方評價。
現在我們看看你到底如何認識你自己?
這個人是孫子。前兩天我在地鐵上沒事兒,看了一段《孫子兵法》,借這個機會我們來一起讀讀。和我們的工作鏈接一下
第一篇:原文孫子曰:“兵者,國之大事,存亡之道,不可不察也”。
你們如何看待你們的產品?如何看待你的團隊?如何管理這些人?
一曰道
《孫子兵法》中對道的解釋是這樣:道者可令民與上同意,故可以與之死,而不畏危也。
放到你的企業就是:愿景、目標,是后面討論的所有的前提,你們公司的理想是什么?怎么激勵大家干活?在現有比較危急,或者掙不到錢的情況下,如何激勵大家一起往前走? 你作為一個部門的領導,你如何激發大家的士氣?也就你的視野,你的愿景。如果你關注的都是一個一個具體的細節,你的團隊慢慢的會離心離德,為什么?大家看不到目標。先考慮清楚你的道是什么?。
二曰天
天者,陰陽、寒暑、時制也。
天對于企業來說就是你的生存環境。什么行業發展快速?未來的場景是什么樣的? 如果你的天:星空萬里,毫無污染,那么恭喜! 但實際情況也有可能是一片狼藉。你清楚你的行業發展嗎?你清楚市場的變化嗎?記住,當你確定了理想和愿景的時候一定要看周遭的環境。
三曰地
地者,遠近、險易、死生也。
這些是非常重要的,你思考要長遠,你是誰?你能戰勝你的競爭對手嗎?你該攻擊它哪兒?
四曰將
將者:智、信、仁、勇、嚴也。
當你有了這幾個特點的時候,你就成為了一個能領軍的大將。在你的公司里有沒有這樣的大將? 有和沒有都是問題。如果有幸你的公司里有這樣的上將,事業何愁不能興旺! 你的周圍有沒有這樣的大將,你作為一個主管,有沒有輔助你的人,所有事都需要自己做。這種情況,你如何處理?
法
法者曲制、官道、主用也
也就是規矩。當前四點看清楚了,才談到你應該如何做。做事兒的先后順序是什么?
道、天、地、將、法
當我們討論后面所有工作的時候,先要結合這五各方面來談。
如果你想實施敏捷,你能依靠誰?
聽說過這個故事嗎? 雞和豬的故事!
敏捷里一直在講。有一天雞和豬說,咱們一塊兒創業去吧,豬說,好啊。那我們做什么生意呢?雞想了想,我們做火腿雞蛋三明治吧。豬想了想,不對啊。你只用獻出不重要的一部分,而我卻要搭上自己的性命跟你玩!
敏捷里有一個觀點:記住,你可以聽聽雞的建議,但是一定要跟豬合作。
如果這些你都搞定了,你明白了誰對你重要,你可以開始嘗試一下敏捷了。
現在最流行的是Scrum(自組織團隊),測試過程中,先讓你的PO(Product Owner)把需要做的,也就是產品需求全部羅列出來,通過估算計劃確定你每個迭代周期的工作量,這些都確定了,通過站立例會跟蹤相關計劃,4-6周為一個迭代周期,每一個迭代周期都要發布可見的產品。
但是,敏捷到現在還是爭爭吵吵,為什么?對人的要求,對目標的要求,對客戶的要求,你的自組織團隊對你的要求等等都比較高。
為什么西方做得好? 在西方參與敏捷項的人都是30歲,35歲以上的人,這些人可以對自己負責。所以,由于我能對自己負責,所以我能對項目負責,我知道什么該干,什么不該干,我知道承諾以后的后果,我非常關注我個人的榮譽。會謹慎承諾。按照承諾完成任務。
比如說我,如果很擔心這次演講發揮不好,講不好,我就會好好準備PPT,類似這樣的。國內呢? 可能22歲,23歲,25歲,大學剛畢業不久的人。領導一鼓勵他,說:你行的。就會上頭,什么都敢承諾! 當承諾和結果不匹配的時候,長時間不匹配的時候,你的敏捷就有可能失敗了。
所以,自組織非常重要。你適合不適合自己要做判斷?如果你適合,可以開始敏捷了。
剛才給大家介紹的就是中型團隊。
最后,如果你是一個資源相對充足的大型團隊
恭喜你,你可以做很多的事情。
第一:要明確你企業的文化、目標。
企業文化很重要:
迪斯尼給人們提供最好的娛樂方式,我們想要一個有意義的環境,一個使家庭團聚的地方。
通用,永遠推崇三個傳統,即堅持誠信、注重業績、渴望變革。
摩根大通銀行的企業文化是危機之中自有良機,你應該能感覺到這個公司不會排斥風險。
微軟的薪資標準也排在全美前10,因為微軟堅持只要最頂級的人。
谷歌非常重要的一個信條就是網絡也講民主,所以它退出了中國。
你的企業文化是什么? 首先你要分析你的企業文化,讓它和你的質量相關并且匹配。團隊的做事理念是第一個要明確的地方,只有當你有了目標才可以做后面的事情。
你的產品是業務型的還是互聯網型的,跟質量關聯相差非常大。
比如谷歌這種互聯網公司它的特點是什么? 從質量角度來說,升級更新是無成本的。我可以依賴大量的用戶測試,也可以進行快速迭代、快速反饋,我可以進行少量的AB測試達到全覆蓋。比如說谷歌有一個功能想上線,但是我沒有經過大量的覆蓋我怎么做? 可以做一個開關,只允許萬分之一,或者百分之一,千萬分之一的人使用,只開10分鐘做測試。這是互聯網產品的特點。
但微軟產品型產品的特點是什么? 對發布質量非??粗?。因為軟件到用戶手里后維護升級成本很高,所以它對初次發布質量很關注。
所以你首先要明確你的產品、你的公司是什么特點? 這是兩種方法,兩種理念,搞錯了就全完了。
大型團隊必須關注測試體系建設
針對大公司,你要關注一點,是否有標準的軟件測試培訓體系支撐?人太多了,如果使用的方法不一樣,沒有經過一個統一的訓練,做出來的東西一定是千差萬別的。
在這一塊,我會給大家介紹一個ISTOB,全稱是國際軟件測試資質認證委員會,這個是它的認證體系,分為三個級別:基礎級、高級、專家級。
大量的測試技能在基礎級都講了?;A級如果認真學完,應該可以勝任測試工程師了!
它的優勢是什么? 它的優勢在標準,全球一。例如我給北京研發中心做一場培訓,給杭州研發中心做一場培訓,給上海中心做一場培訓,如果你的講師不一樣,可能使用的方法和體系是完全不同的。我用我的理念講,他用他的理念講,但是如果存在一個標準的話,這個問題就不存在了。
ISTQB的高級分為三個模塊,專家級分為四個模塊。還有統一的、專業的術語表。
如果你是一個大型團隊,我建議你可以推進持續集成。
Martin Fowler認為持續集成是軟件開發的一個最佳實踐,每天至少集成一次,這也就意味著每天可能發生多次集成,每次集成都是自動化的,當你每Build一次,就自動進行了代碼檢查,還會運行一系列的單元測試用例,然后集成到整個系統中,整個系統進行編譯,編譯完了做自動部署,部署完了以后做整個的自動化回歸,這些工作可能在代碼提交的時候進行,也可能在晚上集中進行。
總之,每天都在做測試、做集成。再往前推一步是什么?持續交付,交付是什么意思?所有真實的產品已經上傳到生產服務器,只是客戶看不到,有一個開關,這個開關一開,大家就能用了,開關關了,大家就用不到。
換句話說,你每次生產的東西,編譯好的代碼,都會實時的上傳到生產服務器,面對客戶只是他們看不到,這就是持續交付。
具體交還是不交,是運維人員說了算,跟你開發沒有關系,我愿意交就交了,點幾個勾,點擊確定,產品就上線了,你要保證你的產品都是可以使用的。
如果你是大型的團隊,你可能有一個選擇,就是CMMI,或者敏捷。
現在大多數人都選敏捷了,CMMI我們這里就不講了。
最后,我送大家一句話《孫子兵法》中的一句話,叫:“將能而君不御者勝”。
那將不能怎么辦? 將不能,君要御才能勝?
君也不能呢? 如果你的團隊里沒有那么多的能人,沒有那么多自覺的人,達不到自組織,停留到這兒應該是一個安全地帶,過了可能就是一個高風險區域。
大型團隊,質量是有成本的,我建議大家是做一個實用主義者,謀定而后動。
目標決定過程,過程決定質量。
如果你看到了這里,其實這篇文章的記錄并不完全,中間還有些關鍵的講述并沒有在文章中體現,如果你想通篇了解,可以看看這個視頻?:[視頻]作為測試經理如何有效管理好你的軟件測試團隊
文章評論