l

2012年11月2日 星期五

靠測試案例賺錢?

Nov. 01 17:38~18:31

image

 

搞笑談軟工的老客人們,不知道是否還記得《600 多個 bugs 要怎麼修?》這一篇文章?Teddy的朋友M小姐在某家通過CMMI認證的公司當專案經理,她所負責的專案,有前人留下來的600多個bug不知道要怎麼修正,於是M小姐打電話詢問Teddy的意見。Teddy建議M小姐,應該要請團隊成員從寫單元測試開始,但是M小姐的主管卻告訴她:

做專案是不需要做自動化測試的,做產品才要。很遜

***

約兩個禮拜前,Teddy到某家也是在接案子的公司去分享敏捷開發與流程改善的經驗,在會後的Q&A時間聊著、聊著又談到了「接專案要不要做自動化測試」這件事情。

對方:我們的專案有一些是政府機關的專案(專案的應用領域差異比較大),也有一些是民間企業的案子(應用領域性質比較雷同)。不管是哪一種專案,如果我們還要讓開發人員去寫自動化的測試案例,這樣太浪費時間與人力。

Teddy:我經常在談一個軟體開發的觀念,叫做「能量不滅」。假設我們要提供給客戶的軟體品質是一定的(比較好的品質),現行不寫自動化測試案例的做法,看起來好像是「節省了開發時間」,但是我們只是把問題往後移到「測試階段」。有很多公司甚至內部根本沒有QA部門來執行第三方驗證的工作,就直接把開發團隊做好的軟體丟給客戶自己測 挑眉質疑

Teddy:長久下來,客戶拿到問題很多的軟體系統,心中當然會不爽,更不可能期待客戶願意為軟體開發付出較多的預算(最近有一個很熱門的例子,政府花在房屋買賣實價登錄系統的預算只有90萬,而隨便拍一支經濟動能提升的廣告預算據說就是3百萬)。如果我們反過來想,假設貴公司平常在開發軟體時都有要求開發人員要寫自動化測試(至少要有單元測試),下次貴公司跟客戶提案,或是辦理驗收的時候,把這些測試案例都印出來。然後你們可以告訴客戶,為了做這個案子,我們寫了N個自動化測試案例,以確保這個系統的品質。也許剛開始你們沒有辦法從測試案例賺到錢,但是對客戶而言,假設你們做了自動化測試之後,軟體的bug真的比以前要少,久而久之,有兩家廠商要去搶案子,一家是你們,另外一家是它牌廠商。如果你是客戶(業主),請問你會比較願意給哪家廠商做這個案子?

Teddy:再退一步來想,假設萬一不幸你們沒有拿到案子,但是客戶已經被你們洗腦成「有寫自動化測試案例bug會比較少」,那麼另一家得標的廠商,很有可能被客戶要求也要做自動化測試。但是,因為這家得標的廠商並不具備撰寫自動化測試的能力,所以就算他們得標了,短期間也必須要付出更多的成本來達到客戶的要求。換句話說,具備撰寫自動化測試案例的能力,可以提高競爭的門檻,也是一種提升公司價值,造成品牌區隔化的作法

對方內心獨白:很有道理,但是要我們寫自動化測試,送你三個字,辦不到我不知道

***

N年前Teddy在某個短期(三天)課程認識了A小姐,當時大家聊到「工作外包」這件事,A小姐說了一個故事。

A小姐:我們有一個客戶想要將手機的測試案例外包,找到一個台灣廠商,這個廠商手邊有6千多個設計好的手機設計案例。後來我們又接觸另一家印度廠商,他們的手機測試案例,居然有6萬多個。最後我們的客戶當然是把這個測試工作外包到印度去,不是因為印度人的價錢比較便宜,而是他們設計好的測試案例足足比本土廠商的測試案例多了10倍。

聽了這個故事之後,讓Teddy頗有感觸。嗯,其實寫測試案例是可以賺錢的,端看我們怎麼去看待這件事

***

寫自動化測試案例可以提高公司或產品價值的這個觀念其實很簡單,日常生活就有實際的例子。現在黑心食品很多,如果你的食品在出貨的時候,都可以附上具備公信力單位所出具的「檢驗合格報告」,這樣消費者買得安心,產品也比較容易賣出去(很多消費者願意花比較高的價格去購買所謂的無毒產品啊)。

自動化測試案例,就是公司提供給客戶的檢驗報告。如果可以做到一併提供測試涵蓋率的量化數據,相信客戶會對這樣的公司刮目相看。一旦在客戶端建立口碑之後,要做生意就方便許多了。

客戶:我只買有CAS標籤的冷凍豬肉。

***

友藏內心獨白:藍海是要靠自己游出來滴 微笑

2 則留言: