原創翻譯,來自大牛James Bach,原文猛擊此處
——————————————正文分隔線——————————————
以前,我是個開發人員。我不喜歡這個工作,無盡的壓力讓我疲憊。我幾乎從未感覺到自己的工作做得足夠好。我從未有過真正的休息。如果我沒做好,我們就可能超過最后期限,或者是打包了一個垃圾產品。經歷了這些之后,成為一個測試管理者感覺就像是休假一樣。
測試同開發比起來,是一個非常模糊的工作——有很多的余地。我要做的僅僅是找問題。
我曾經認為測試的職責就是找問題。
找問題很簡單,但是時間長了就會發現這樣很難讓人滿意。我想讓產品變得更好。
我曾是Apple一個400人團隊中的眾多測試專家之一。由於團隊名稱是軟件質量保證(Software Quality Assurance),我們在質量保證(QA)上的討論過比測試還多。一個管理者推薦了一本書,Philip Crosby的Quality Without Tears,以此來幫助我們看到自己在產品開發過程中更深層次的職責。這本書提到了“零缺陷”,於是我轉向了缺陷預防這一理念。“質量不是測出來的”是我們的口號。
我曾經認為測試的職責是保證質量。
但是,測試人員並不能真正的保證質量。首先,完美的質量本身就是不可及的目標。質量有多個方面,其中的一些就是沖突的。其次,測試人員並不創造質量,所以保證質量這樣的職責並不在我們的能力范圍之內。如果我們把自己想象成質量把關者,團隊的其他人就有可能傾向於為質量少承擔一些責任,他們會認為有QA在保證着質量——這樣如果產品不是很好,我們就會承擔主要責任。
除此之外,許多QA是通過定義流程和審查流程的執行來發揮作用。問題是,這樣的一個方式很容易就會淪為關於質量的說教,在響亮的口號和常見的“好的質量是好的,不好的質量是不好的”式的爭論中,QA所有的優點都看不見了。這就是為什么很多開發人員把QA視為耳邊的噪音——只會另他們分心。
而我,從這種招人煩的角色中被解救了出來。經理把我叫到一邊,告訴了我一個大秘密:一切都是為了風險——不必追尋完美,只需找到一個足夠好的東西就夠了。這樣就把測試和質量保證轉變成了一種項目的雷達,尋找敵人。我們在項目中是要快速的找到重要的問題,而不是每一個歷史階段中的每一個舊問題。
這深深的改變了我的思想。我不再像以前那么關注要在測試中達到盡可能全面的覆蓋,而是關注哪一部分真正需要測試,並評估未知問題的風險。
考慮風險使測試人員在項目中更加容易與其他人相處。關於質量的討論變成了判斷哪些有影響,而不是糾結於誰想要完美。
我曾經認為測試的職責是分析風險。
風險是很重要,但它仍然是一種抽象的概念,而且悲觀。一個開發經理跟我說他不喜歡談論風險。“風險聽起來很消極。我們不是保險公司理賠員,我們是企業家。我們勇於冒險。”他說的很在理。回報才是項目最重要的部分。難道對於測試,就找不到一個更全面和積極的觀點了?
當然,測試的目的的確是發現問題、分析風險、以及保證質量,但是還有一種更本質的方式來看待我們的職責:我們照亮道路。沒有測試,項目在黑暗中亂撞、被障礙絆倒、最后跌下懸崖。而測試會在需要的地方點亮火把,來幫助開發人員和管理者知道他們在哪、他們要去哪、還有他們什么時候能到達。
現在,我認為測試的職責是提供重要信息,來協助創造和運營優秀的產品。這包括了發現問題、保證質量、分析風險、以及其他任何能夠幫助團隊了解當前狀況的方式。
明天,我會怎么看待測試呢?