白盒測試不是測試,更不高級

測試不單單是軟件概念,但白盒測試僅僅是軟件概念。html

  上面這句話足以說明白盒測試不是測試,至少不等同於測試。框架

  認爲白盒測試更牛逼的一個經常使用論據是白盒測試須要對代碼自己更高的熟悉程度,但說這樣的話的人每每沒有搞清楚測試究竟須要什麼樣的技能。測試首先須要的是良好的測試邏輯,其次纔是對產品自己的瞭解。ide

  給定現象,給定需求,可以準確判斷現象是否符合需求,這就叫作測試邏輯,好的測試人員可以體察模擬客戶的真實體驗,無比貼近地模擬出客戶的判斷。對產品的深刻了解可以幫助測試人員更準確地設計測試用例,更高效地執行測試用例,好的測試人員對於產品的功能、性能有着不下於產品經理的瞭解。此兩者是測試人員所需的兩個重要的技能。性能

  當局者迷旁觀者清,好的評論家每每不會出自一件產品的做者。暢銷小說改編的電影每每收穫差評如潮就是這個道理,由於咱們有太多對細節過於瞭解的先入爲主的影評家。他們對電影背後的腳本、細節有着很是接近真相的瞭解,但卻不是站在觀衆的角度而是對立面。測試工做也是這樣,客觀的態度保證測試邏輯的不偏不倚,而產品的細節並非產品自己——一件產品作什麼才重要,怎麼作的根本就不重要。單元測試

  回過頭來講白盒測試,白盒測試所測試的並非產品,而是實現軟件產品的代碼自己——注意這是兩個層次上面的概念——這也是爲何白盒測試的概念僅見於軟件產品。不客氣地說,黑盒測試,也就是通常意義上的測試,比白盒測試有更普世的技能需求和適用範圍以及更高的產品視角。白盒測試,充其量是單元測試,優秀的白盒測試者,除了證實他是個比較好的代碼reviewer之外,實在不能說明任何其餘的價值。放到IT以外的行業裏,對一件產品的白盒測試就意味着,對這件產品的實現方式進行測試,也就是更底層的測試。若是說白盒測試和黑盒測試都是測試,那麼測試就變成了這樣一個概念:測試

  測試=黑盒測試+白盒測試=黑盒測試+更低一級的測試。這是一個能夠無窮無盡擴展的等式,也就意味着無窮無盡的工做量。也就只有軟件行業,對代碼一級的測試代價小,且再低一級的測試無心義(操做系統、軟件框架等成熟第三方解決方案),纔會出現這麼一個奇葩。操作系統

  IT行業真的是個奇怪的行業,你再也找不到這樣一個行業,他們以可替換性強的技能工種爲榮,以此做爲其餘同事工種的批判標準。你能想象一個建築工人以「你連用什麼順序砌磚牆纔會最結實都不知道,憑什麼來監督咱們?」爲由嘲笑質量監督?設計

  這裏能夠。htm

  P.S 什麼?以爲我說程序設計是「可替換性強的技能工種」有失偏頗?請不要自視太高。大規模產品上,良好的管理和合做比任何天才都來得有效,在任何行業都是如此。一個天才,一生都沒法獨立寫出Office這樣的軟件,你贊成麼?但一個天才項目經理加上足夠的資金和勞動力供應,就能夠辦到。get

  注:本文只表明做者我的觀點。 

相關文章
相關標籤/搜索