怎樣搭建與培養自動化測試團隊
引:毫無疑問,從企業的立場來看,它期望自動化測試能為企業帶來生產效率的提升和測試成本的縮減,說通俗點,就是能用盡可能少的人干盡可能多的事。因此對于那些能夠在自動化測試領域做出突出成績的測試人員,企業從來都是一貫地不遺余力地進行獎賞和激勵。因此,在自動化測試領域里,一方面如我們前章所說布滿了風險和陷阱,同時另一方面,我們更應該看到充滿了很多的機會,對測試人員的職業生涯發展有著至關重要的影響。
好,聰明的你上場了,你正在接管一個正在做手工測試的團隊,或者你目前就處于這樣的一個團隊里,而老板對自動化測試概念又知之不多,不能給予你完全信任的強有力支持,你如何在重重困難中,推行自動化測試實施,而最終取得團隊和個人的最大成功?這是我們本章要討論的重點。
一個好的目標,首先它能夠贏得老板的眼球,并有可能逐步轉化為老板對你自動化測試實施的支持。
自動化測試項目的實施離不開上級領導的支持,這是一個組織上很關鍵的因素。因為自動化測試前期的準備要投入人,時間,金錢等資源,比如自動化測試需要買工具,工具則需要培訓,而開發工具腳本又需要投入人和時間,如果領導不能在這些方面給予支持,測試人員就真的就成了“巧婦難為無米之炊”,自動化測試的成功更無從談起了。
所以,在自動化測試的啟動階段,一定要先有一個好的而且可行的自動化測試的目標或想法,它會吸引老板的注意力,并可能獲得支持。尤其在自動化測試實施已經比較成熟的企業里,在眾多自動化測試解決方案里,一個讓人耳目一新甚至拍案叫絕的方案會給老板留下深刻的印象。
但是對于自動化測試剛起步的企業來說,有一些需要特別注意和警惕的地方。這是因為,在知識和經驗都不豐富到足以洞察自動化測試本質和規律的時候,很多老板表面上對自動化測試是熱情的支持,但實際真實的態度卻是底氣不足,半信半疑。
我曾遇到過兩個極端的例子,一個是某通訊企業的研發總監,在軟件開發和測試領域都有深厚的經驗,但對自動化測試卻有著深刻的懷疑,他認為QTP等測試工具并不能真正地從根本上解決測試效率的問題,因此他一直下意識地回避和推遲團隊中自動化測試的實施;而另外一個例子是某大型外企的測試經理則是一個技術專家,他對軟件自動化測試十分地鐘情,幾近狂熱,認為任何工作都可以交付給程序來做,因此他把自動化測試推到了極致,他的團隊開發了大量的腳本和程序,有的只為demo,有的只為驗證bug。
這兩個極端的例子其實是當前軟件業界自動化測試實施的縮影,實際上,這兩個人的表現更像是同一個人的兩面性格,自動化測試上馬時盲目樂觀,失敗后“恨屋及烏”。一番折騰下來,他們對自動化測試是敏感和謹慎的,對于你提出的任何自動化測試目標,他們表面上會支持,實際上更多采用的是觀望態度。換句話說,在這種情形下,老板對自動化測試項目的支持是猶豫的和脆弱的。因此,老板是否能夠保持對你強有力和持續的支持,不光你要有一個好的自動化測試目標,而是更取決于后續的自動化測試實施能帶來實實在在的效益。
【案例】:
測試主管小王打算在自己的測試部門實施系統測試自動化,在經過工具評估后(有關評估詳見第三章Evaluation一節),他和他的團隊決定使用java開源的selenium做為測試工具。這個想法獲得了小王上級張總的認可和支持。
挑戰:小王在著手實施的時候,有如下疑惑和困擾:
1)小王和他的團隊沒有豐富的自動化測試實施經驗,因此,雖然經過了前期的測試自動化效益估算,但對于selenium的解決方案到底能否在項目中實施成功,要開發投入多少人力,維護量有多大,小王依然心里沒有十足的把握。
2)小王的上級張總是一個雷厲風行的人,他對這次自動化測試的實施也抱有很高的希望,小王如何能夠說服張總認識到自動化測試實施的風險,并能給予理解和持續的支持,這是一個要考慮的問題。
對策:小王決定采取以下的措施來最大程度地減小風險,并獲得張總的理解和支持。
1)對于第一個問題,由于對測試腳本程序的規模和功能都無法準確預測,小王決定采用快速原型法來開發自動化測試程序,首先在部分核心功能模塊中做試點,一邊實施一邊總結經驗,然后再將成功經驗進一步推廣到整個產品模塊。
2) 關于和張總的溝通交流問題,小王決定先準備一個自動化測試的演示程序,邀請張總參加演示會。在演示會上,小王準備了三個演示點,一個是有關自動化測試能替我們做那些工作,一個是自動化測試不能替我們做的工作,另外一個是自動化測試運行中的各種風險和干擾因素。
結果:最后實施的結果是:
(a)小張通過快速原型開發方法,以時間為代價換來了自動化測試實施的穩定和高質量,這為自動化測試的成功實施提供了技術保障。
(b)張總對演示會的內容十分感興趣,并且和小王約定每隔一個月就進行一次演示會,以便了解自動化測試的狀態和進展,并及時解決中間出現的問題。這為自動化測試的成功實施提供了組織保障。