如果實施得當,單元測試可以幫助開發團隊更快地交付應用程序,換言之,它能夠提高企業的競爭力。然而,只有很少的企業嘗試過使用單元測試,而其中有只有一小部分成功地將其作為標準在企業范圍內推廣。為什么會這樣?通常,這是由軟件開發人員和管理人員對單元測試的作用,以及維持單元測試所需付出代價的錯誤認識所造成的。
以下就阻礙軟件開發團隊從單元測試這一強大的軟件驗證方法中受益的五個最常見的錯誤認識:
錯誤1:我們已經在做單元測試
每個人對“單元測試”都有不同的認識,不過大多數業界專家普遍認為,單元測試應該是測試應用程序的基礎組成部分,即代碼單元。換句話說,這是API層次上的測試。一些團隊聲稱他們在做單元測試,而實際上他們做的是系統測試,或者是所謂的“開發測試(dev test)”。還有一些團隊做了部分API層次的測試,但他們并沒有把單元測試作為開發過程中的必要組成部分。
除非團隊把持續進行API層次的單元測試作為開發過程中不可缺少的組成部分,否則單元測試必然會隨著日程與預算帶來壓力的提升、政策與項目的發展,以及人員的流動而滅亡。
那些極少數長期保持傲人業績的企業正是把單元測試安排為例行任務的企業。因此,不但要利用自動化測試來保證單元測試盡量全面、順暢、高效地執行,還要為保證這一質量過程能夠長期執行并根據需求而調整來確定基本的工作規范,比如把各個報告中的問題直接指向負責的開發人員,以及讓管理人員能夠及時方便地看到各開發人員的測試任務分配情況等。
錯誤2:自動測試并沒多大用處
許多開發人員認為,除非是親自編寫單元測試,否則其一點利用價值都沒有。這就大錯特錯了。由于生成測試的方式與算法的發展,測試工具也變得越來越有效。即使是最基本的自動化方法,也可以在很短時間里生成幾千個原來根本無法完成的測試。這可是毫不費力就可以得到的好處。
除了可以給你生成測試,甚至“免費”幫你找到一些缺陷,自動測試還能讓你集中精力進行那些更重要、更復雜、更全面的測試,那些真正需要專業技術的測試。
當前工具所能提供的高層次的自動測試能夠顯著減少開發團隊在這些方面的工作,從而節省大量的時間與精力。如果沒有這些工具的幫助,單元測試可能會消耗團隊的大量資源,而這正是讓許多團隊認為單元測試是一種理論上有用但實際卻很難實行的測試方法的原因所在。
錯誤3:要做的只是購買一個優秀的單元測試工具
我見過許多團隊在購買測試工具時把它當做實現目標或完成任務的萬能藥。他們不想在其上花費任何精力,不對其進行任何設置,也不將其作為工作日程的一部分。到最后,他們自然也無法得到理想的結果。他們以為單元測試沒有給他們帶來任何好處,而實際上他們并沒有執行真正意義上的單元測試——而只是在空談。
單元測試工具并不是可以解決所有問題的王牌。事實上,它只是一個開始。開發人員需要的不僅僅是工具,他們還需要適當的指導、訓練、支持設施和工作流程。如果真的希望這個工具能夠成為開發過程的一部分,你就得積極主動地學習和使用它,尋找讓它能在既定工作環境下發揮作用的辦法,并保證這些使用方法都簡單易行。目前有許多可以使用的工具,但是除非測試團隊真正去使用它——部署、擴展并根據情況進行調整,否則你買到的只是“閑置工具”而已。
文章來源于領測軟件測試網 http://www.kjueaiud.com/