軟體測試的價值

shbwf發表於2013-05-07

  最近這個話題一直被熱論,感覺是個好事情,終於有人開始思考軟體測試的價值,而不是盲目的用軟體測試來彌補開發資源的稀缺,所以特意說一下自己的想法。

  首先,軟件測試存在的必要性。

  關於軟體測試的目的各種書上不一致,比較通用的是驗證需求和實現的一致性。為什麼這些事情開發不能自己做?需要測試來做?原因有以下幾點。

  從認知上:自己無法知曉自己的錯誤。

  開發若是對產品需求理解錯誤,那麼實現必然錯誤,即使自己測試也無法找出這些溝通理解和認知上的錯誤,一旦上線必然導致對使用者的傷害。但是軟體測試的需求來自於產品,所以能夠彌補這一缺陷,從而最終保證質量。這裡引申出一個新的問題,就是那些沒有產品開發自己的需求是否需要測試呢?我認為對應沒有產品的需求可以合適的降低開發測試比,在使用者能夠接受不完善的情況下甚至可以沒有測試。

  從心理上:自己不願意證明自己的錯誤。

  開發一向視自己的產品如孩子,沒有人願意去說我的**是不好的。一旦有這種想法,他們就很難找出自己產品中的問題了。記得杭杭剛出生幾個月的時候我老公曾經問我:“女兒是真的很漂亮還是我們自己覺得很漂亮。”我很肯定的告訴他:“她是我見過最漂亮的寶貝。”然後拿著幾個月的照片四處炫耀。現在再看到當時照片,我一般會對杭杭說:“你看看你小時候長得多難看啊。”心理學上有個現象,叫做自我預言的自我實現,一旦你認為你的產品是好的,你所做的事情只是去證明我們的產品是對的,是好的,很難找出產品中潛在的問題。但是測試從一開始就是抱著找出問題的目的,因此在預防缺陷上更加具備目標性,效率和質量都會優於開發。

  從過程上:整體的質量未必是開發的責任。

  發現缺陷的過程本身是單調的,尤其是要全面迴歸整個鏈路,這意味著開發不只要發現自己的問題還必須發現其他人的問題。發現問題之後還需要和對方進行全面的溝通,復現缺陷,驗證缺陷,對開發來說多數人不願意承擔其他人責任,但是對於測試來說保證質量本身就是自身的責任。

  從特性上:專業的人做專業的事。

  開發和測試本身的特點不一樣,開發最應該具備的是深入的思考能力和對技術的熱愛,測試最應該具備的確是細心和耐心。如果你不具備這種能力,可能這個崗位並不適合你。當然很多通用的素質是大家都應該具備的,比如對業務的深入,程式設計的能力和良好的溝通表達能力,但是工作不同,側重點不同。一個非常優秀的開發未必是一個好的測試,一個好的測試也未必是一個好的開發。

  從角色上:測試代表使用者

  開發從角色上代表的供應商,因此他的專著點是提供好的產品,從而吸引更多的使用者,產生最大的利益,而測試代表的是使用者,因此,他是從使用者的角度出發,發現產品的缺陷,促進產品的改進,從而最終提升使用者體驗。所以,與如果測試的工作是隻是保證質量確實是對測試比較狹隘的理解,測試的最終目的應該是保證使用者體驗,從這個目的出發測試可以做更多的事情,比如發現需求的問題,影響產品的形態,平衡產品質量和上線時間點的矛盾,完善流程,影響產品,開發甚至是客戶對待使用者體驗的態度。但是毫無疑問,一個有缺陷的產品是最影響使用者體驗的,一個長期的故障能最大擊毀使用者對產品信任度,是最差的使用者體驗,從而也使測試要從更本上防止的問題。

  綜上,我們詳細說明了讓開發測試自己產品存在的一些問題,這些問題說明了測試存在的必要性和價值。術業有專攻,分工越細,越能高效,這是社會進化的方向,也是個性化發展的方向。我們不要一個大同的世界。

  但是,最近消滅測試聲音越來越多,也是必然有它的原因,從現狀來看,部分開發放棄了本身對質量的保證,將本身應該承擔的質量責任交付測試來承擔,導致測試工作量越來越大,測試本身的招聘降低了門檻,從而造成一些測試工程師的冗餘,同時,原有測試的成長缺少專業性,都讓外界開始質疑測試的價值。

  所以,接下來,我們需要討論下開發測試的比例問題,從任何公司的層面,肯定是要追求高效能的,用最少的資源做最多的事情是公司的需求,也應該是每個測試人員的追求,如何高效,高質量的做好測試是測試本身要不斷追求的目標。但是,在產品的不同形態,不同階段開發測試比不可一概而論。可以分為以下幾個方面來考慮:

  1:使用者:使用者量大的產品,毫無疑問對測試的需求會更大一些,一些創業初期的產品,使用者量小,影響面小,可以考慮降低測試的成本。

  2:期望:使用者付費的產品,必然會有較高期望,希望有較好的體驗和服務,所以需要較多的測試來保證使用者體驗。

  3:產品特性:有產品經理的產品,經過多層次的溝通,錯誤的概率比較大,需要測試來彌補資訊的流失和誤傳,技術驅動的產品,開發本身就是產品,清楚瞭解產品的功能特性,可以考慮開發自測,降低溝通的成本。

  最後,感謝所有質疑的聲音,正是這些聲音讓測試可以重新反思,在反思中做得更好,感謝所有人對測試的期許,承擔更多的責任,才能激發更多的潛能。希望所有測試朋友正確認識測試的價值,擴大自己的付出和貢獻,我們的認可不在於強調自身的重要,而應該來源於我們的貢獻和價值。當我們的貢獻高於期望的時候,一定可以贏得更多的掌聲。

本文轉載自51Testing軟體測試網,檢視更多:http://www.51testing.com/html/news.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1060480/,如需轉載,請註明出處,否則將追究法律責任。

相關文章