軟件測試的幾大誤區

  我們暫且不去評析軟件測試在當今it公司中的地位,只說大家對軟件測試的認識。基於我短暫的經驗,我總結出軟件測試幾個最常見的誤區,供大家研究:

    一大誤區:測試簡單,對技術要求不高

    這是對測試最通常的評價,如果一個開發人員轉做測試,那麼別人通常認爲,他是不是開發能力不夠,或者是他是不是不願意吃苦之類。我們先引用Google的 Patrick Copeland對一個卓越的測試員所應有品質的評論:

   “那是心態與激情。從我所做過的100個訪問來看, “卓越”可以被提煉爲:1)一種發現問題的獨特敏感性;以及2) 伴隨這種敏感性產生的對於測試的激情。換句話說,他們喜歡測試而且善於做這件事。他們也明白測試帶來的挑戰往往等於或者大於編程所帶來的挑戰。一個擁有測試基因與正確態度的測試員總能找到工作。他們是金子。”

    在我個人理解中,測試反而對技術要求更高。這裏的"高"不是說一定多麼精於某一門技術,而是需要更廣的技術能力。比如簡單的功能測試,我們需要需求分析能力和業務能力,當然還有相應的測試技術;進行白盒測試,我們需要擁有一定的代碼閱讀能力和編寫能力;安全性測試,我們需要一定的網絡安全知識和數據庫分析能力等等。

    二大誤區:測試無聊

    一件單調且無聊的事,作爲測試的一個傳聞,頻繁見諸於主流媒體文章中,這些文章把測試者比作軟件產業的裝配線工人。而事實上,測試工作每天都呈現給我們新的令人興奮的挑戰。Michael Bolton(注:DevelopSense校長,Rapid Software Testing的作者之一)的一段精彩摘引很好的概括了這一點:

  “測試是一件我們以尋找新信息爲動機所做的事。測試是一個探索、發現、調查、學習的過程。當我們以評估,或者認知預料之外的問題爲目的地配置、操作、和觀察一個產品的時候,那麼我們在測試。當我們盡力去尋找產品及其設計的程度和限制的時候,當我們被那些尚未回答甚至尚未問過的問題所驅使着的時候,我們在測試。”

    三大誤區:測試人員與開發人員很難相處

    這個論調的提出貌似很有普遍性,而實際上就我這幾年的經驗,無論做開發還是做測試,都沒有與任何的同事產生難於相處的問題,反而都成了很要好的朋友。儘管測試與開發在工作性質上有着“形”的區別:開發人員是在構造項目,而測試人員是在破壞開發人員已構建好的項目;而實際上,本質並不衝突,都是爲了項目的“成”和質量服務的。至少我認爲在大部分公司中,這個論調是不成立的。

    四大誤區:總有一天,機器自動化將代替手工測試

    這是業界很多人所津津樂道的話題,記得曾經去某個外包公司談合作,其經理很得意的告訴我們他們的目標就是未來以自動化取代手工測試,每個項目只需要一兩個自動化測試工程師就ok了。

    當然,我不否認自動化測試的作用,甚至我自己也在津津樂道於測試框架開發等工作,但是自動化代替人工測試?恐怕我得說“NO”。不是難於實現,而是根本不可能。

    軟件的最終使用者永遠是人,所以只有人才能真正瞭解人的需求。例如用戶體驗,common sense等等,這是機器永遠不能代替的。

    測試自動化常被用來解決龐大的問題。因爲要做的太多, 這龐大的範圍使得自動化脆弱而不可靠。有些特定的事情自動化擅長而有些特定的事情人更擅長,這樣看上去一個結合二者的方法也許更好. 我想要的是自動化使我的,作爲一個人的,工作更加簡單。自動化更擅長分析數據與注意模式。 它並不善於確定相關性和判斷調用。 幸運的是人類擅長判斷。

    以上是我總結的幾個誤區,如果你還有其他補充的,那麼歡迎留言討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章