軟體測試的價值
最近這個話題一直被熱論,感覺是個好事情,終於有人開始思考軟體測試的價值,而不是盲目的用軟體測試來彌補開發資源的稀缺,所以特意說一下自己的想法。
首先,軟件測試存在的必要性。
關於軟體測試的目的各種書上不一致,比較通用的是驗證需求和實現的一致性。為什麼這些事情開發不能自己做?需要測試來做?原因有以下幾點。
從認知上:自己無法知曉自己的錯誤。
開發若是對產品需求理解錯誤,那麼實現必然錯誤,即使自己測試也無法找出這些溝通理解和認知上的錯誤,一旦上線必然導致對使用者的傷害。但是軟體測試的需求來自於產品,所以能夠彌補這一缺陷,從而最終保證質量。這裡引申出一個新的問題,就是那些沒有產品開發自己的需求是否需要測試呢?我認為對應沒有產品的需求可以合適的降低開發測試比,在使用者能夠接受不完善的情況下甚至可以沒有測試。
從心理上:自己不願意證明自己的錯誤。
開發一向視自己的產品如孩子,沒有人願意去說我的**是不好的。一旦有這種想法,他們就很難找出自己產品中的問題了。記得杭杭剛出生幾個月的時候我老公曾經問我:“女兒是真的很漂亮還是我們自己覺得很漂亮。”我很肯定的告訴他:“她是我見過最漂亮的寶貝。”然後拿著幾個月的照片四處炫耀。現在再看到當時照片,我一般會對杭杭說:“你看看你小時候長得多難看啊。”心理學上有個現象,叫做自我預言的自我實現,一旦你認為你的產品是好的,你所做的事情只是去證明我們的產品是對的,是好的,很難找出產品中潛在的問題。但是測試從一開始就是抱著找出問題的目的,因此在預防缺陷上更加具備目標性,效率和質量都會優於開發。
從過程上:整體的質量未必是開發的責任。
發現缺陷的過程本身是單調的,尤其是要全面迴歸整個鏈路,這意味著開發不只要發現自己的問題還必須發現其他人的問題。發現問題之後還需要和對方進行全面的溝通,復現缺陷,驗證缺陷,對開發來說多數人不願意承擔其他人責任,但是對於測試來說保證質量本身就是自身的責任。
從特性上:專業的人做專業的事。
開發和測試本身的特點不一樣,開發最應該具備的是深入的思考能力和對技術的熱愛,測試最應該具備的確是細心和耐心。如果你不具備這種能力,可能這個崗位並不適合你。當然很多通用的素質是大家都應該具備的,比如對業務的深入,程式設計的能力和良好的溝通表達能力,但是工作不同,側重點不同。一個非常優秀的開發未必是一個好的測試,一個好的測試也未必是一個好的開發。
從角色上:測試代表使用者
開發從角色上代表的供應商,因此他的專著點是提供好的產品,從而吸引更多的使用者,產生最大的利益,而測試代表的是使用者,因此,他是從使用者的角度出發,發現產品的缺陷,促進產品的改進,從而最終提升使用者體驗。所以,與如果測試的工作是隻是保證質量確實是對測試比較狹隘的理解,測試的最終目的應該是保證使用者體驗,從這個目的出發測試可以做更多的事情,比如發現需求的問題,影響產品的形態,平衡產品質量和上線時間點的矛盾,完善流程,影響產品,開發甚至是客戶對待使用者體驗的態度。但是毫無疑問,一個有缺陷的產品是最影響使用者體驗的,一個長期的故障能最大擊毀使用者對產品信任度,是最差的使用者體驗,從而也使測試要從更本上防止的問題。
綜上,我們詳細說明了讓開發測試自己產品存在的一些問題,這些問題說明了測試存在的必要性和價值。術業有專攻,分工越細,越能高效,這是社會進化的方向,也是個性化發展的方向。我們不要一個大同的世界。
但是,最近消滅測試聲音越來越多,也是必然有它的原因,從現狀來看,部分開發放棄了本身對質量的保證,將本身應該承擔的質量責任交付測試來承擔,導致測試工作量越來越大,測試本身的招聘降低了門檻,從而造成一些測試工程師的冗餘,同時,原有測試的成長缺少專業性,都讓外界開始質疑測試的價值。
所以,接下來,我們需要討論下開發測試的比例問題,從任何公司的層面,肯定是要追求高效能的,用最少的資源做最多的事情是公司的需求,也應該是每個測試人員的追求,如何高效,高質量的做好測試是測試本身要不斷追求的目標。但是,在產品的不同形態,不同階段開發測試比不可一概而論。可以分為以下幾個方面來考慮:
1:使用者:使用者量大的產品,毫無疑問對測試的需求會更大一些,一些創業初期的產品,使用者量小,影響面小,可以考慮降低測試的成本。
2:期望:使用者付費的產品,必然會有較高期望,希望有較好的體驗和服務,所以需要較多的測試來保證使用者體驗。
3:產品特性:有產品經理的產品,經過多層次的溝通,錯誤的概率比較大,需要測試來彌補資訊的流失和誤傳,技術驅動的產品,開發本身就是產品,清楚瞭解產品的功能特性,可以考慮開發自測,降低溝通的成本。
最後,感謝所有質疑的聲音,正是這些聲音讓測試可以重新反思,在反思中做得更好,感謝所有人對測試的期許,承擔更多的責任,才能激發更多的潛能。希望所有測試朋友正確認識測試的價值,擴大自己的付出和貢獻,我們的認可不在於強調自身的重要,而應該來源於我們的貢獻和價值。當我們的貢獻高於期望的時候,一定可以贏得更多的掌聲。
本文轉載自51Testing軟體測試網,檢視更多:http://www.51testing.com/html/news.html
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1060480/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 博弈論之軟體測試的價值
- 軟體的價值
- 探索軟體測試的核心知識——解密第三方軟體測試中心的價值與技術解密
- 軟體測試中DI值
- 軟體.價值
- 測試人員如何在軟體敏捷開發流程中體現價值?敏捷
- 軟體安全測試有哪些測試要點?軟體安全測試報告價格是多少?測試報告
- 軟體產品檢測的意義、價值和目的
- 一個沉重的問題:未來已來,軟體測試還有價值嗎?
- 介面測試的價值(為什麼要做介面測試)
- 軟體測試——三、軟體測試的分類
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 企業級軟體的核心價值
- 軟體測試真的很重要!——軟體測試的作用
- 軟體測試書籍-學軟體測試最好的書
- 軟體安全測試要交給第三方軟體測試嗎?安全測試報告報價獲取測試報告
- 【軟體測試】——介面測試
- 軟體工程——軟體測試軟體工程
- 軟體測試
- 軟體穩定性測試的測試點
- 軟體測試的策略
- 軟體測試的流程
- 軟體測試的方法
- 軟體測試的前途
- 介面級整合測試怎麼寫,怎麼體現價值
- C++—最具價值的軟體工程技能C++軟體工程
- 軟體效能測試有哪些測試方法?靠譜的軟體測試公司推薦
- 軟體功能測試的測試流程有哪些?軟體測試公司排名分享
- 軟體測試教程之手機軟體測試方法
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試-測試計劃
- 剛入行的軟體測試工程師如何自學軟體測試?工程師
- 軟體測試經理談軟體測試人員的自我提升
- 軟體體系結構課堂測試02– 架構評價架構
- 基於評價軟體測試有效性問題的研究
- 軟體測試:軟體缺陷管理
- 軟體測試探秘:從各類軟體測試入門,領略測試的奧秘