隨著軟體測試對提高軟體質量重要性的不斷提高,軟體測試也不斷受到重視。但是,國內軟體測試過程的不規範,重視開發和輕視測試的現象依舊存在。因此,對於軟體測試的重要性、測試方法和測試過程等方面都存在很多不恰當的認識,這將會進一步的影響軟體測試活動的開展,並且阻礙軟體測試質量的提高。下面簡單列舉了幾種有代表性的對軟體測試的認識誤區,並作了相應的分析和解釋。
誤區之一:軟體開發完成後進行軟體測試
軟體測試是一個系列過程活動,包括軟體測試需求分析,測試計劃設計,測試用例設計,執行測試。因此,軟體測試貫穿於軟體專案的整個生命過程。
軟體測試的物件不僅僅是軟體程式碼,還包括軟體需求文件和設計文件。
軟體開發與軟體測試應該是互動進行的,如果等到軟體編碼結束後才進行測試,那麼測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴重的是如果此時發現了軟體需求階段或概要設計階段的錯誤,如果要修復該類錯誤,將會耗費大量的時間和人力。
誤區之二:軟體釋出後如果發現質量問題,那是軟體測試人員的錯
軟體中的錯誤可能來自軟體專案中的各個過程,軟體測試只能確認軟體存在錯誤,不能保證軟體沒有錯誤,因為從根本上講,軟體測試不可能發現全部的錯誤。
從軟體開發的角度看,軟體的高質量不是軟體測試人員測出來的,是靠軟體生命週期的各個過程中設計出來的。出現軟體錯誤,不能簡單地歸結為某一個人的責任,有些錯誤的產生可能不是技術原因,可能來自於混亂的專案管理。應該分析軟體專案的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。
誤區之三:軟體測試要求不高,隨便找個人都行
很多人都認為軟體測試就是安裝和執行程式,點點滑鼠,按按鍵盤的工作。這是由於不瞭解軟體測試的具體技術和方法造成的。隨著軟體工程學的發展和軟體專案管理經驗的提高,軟體測試已經形成了一個獨立的技術學科,演變成一個具有巨大市場需求的行業。軟體測試技術不斷更新和完善,新工具、新流程、新測試設計方法都在不斷更新,需要掌握和學習很多測試知識。
誤區之四:軟體測試是測試人員的事情,與程式設計師無關
開發和測試是相輔相成的過程,需要軟體測試人員、程式設計師和系統分析師等保持密切聯絡,需要更多的交流和協調,以便提高測試效率。
另外,對於單元測試主要應該由程式設計師完成,必要時測試人員可以幫助設計測試樣例。對於測試中發現的軟體錯誤,很多需要程式設計師通過修改編碼才能修復。程式設計師可以通過有目的地分析軟體錯誤的型別、數量,找出產生錯誤的位置和原因,以便在今後的程式設計中避免同樣的錯誤,積累程式設計經驗,提高程式設計能力。
誤區之五:專案進度吃緊時少做些測試,時間富裕時多做測試
一個軟體專案的順利實現需要有合理的專案進度計劃,其中包括合理的測試計劃。不要因為開發進度的延期而簡單地縮短測試時間、人力和資源,因為縮短測試時間帶來的測試不完整,對專案質量的下降引起的潛在風險,往往造成更大的浪費。
誤區之六:軟體測試發現缺陷越多,正式使用後缺陷越少
軟體測試的目的是儘可能多的找出軟體的缺陷,但是發現的缺陷越多,只能說明軟體的缺陷多,並無法證明軟體還遺留的缺陷有多少。假設缺陷在一定數量的情況下,測試人員業務非常精通,測試極其認真,發現越多的缺陷 ,說明還遺留的缺陷就越少。那麼,我也可以假設隨便這麼一測,就發現了這麼多缺陷,那這個軟體應該還有很多。
當然,也並不是完全無法評估軟體遺留缺陷的多少,我們可以根據開人員的工作經驗與技術能力,測試人員的工作經驗、測試技能、對業務的熟悉程度以及以往完成的專案質量進行評估。