有人簡單回答說,軟件測試是發(fā)現缺陷。但軟件測試僅僅是為了發(fā)現缺陷嗎?不是。

    軟件測試有它的驗證作用,是人們經常說的V&V,Verification 驗證產品的一致性,驗證產品是否和需求定義、產品設計是否一致;Validation 確認產品是否真正滿足用戶需求,每個功能特性是不是用戶想要的。
 
   有人比較圓滑,回答說:軟件測試是質量保證的重要手段之一。但這樣的回答不夠,還不夠清晰。甚至有人反駁說,質量是構建的,不是靠測試測出來的。測試對質量的貢獻要低于開發(fā)工作。但測試人員會說,這也不能否定測試的作用,我們幫助團隊發(fā)現各種缺陷,然后把這些缺陷消滅掉,軟件產品的質量也得到提高。所以產品的質量是由開發(fā)人員和測試人員共同來保證的。僅僅靠一個方面都是不行的,會存在較大風險。
 
   所以關于軟件測試的作用還有其它一些答案,由于時間關系,在此不各種不同的觀點都列出來,來一個總結吧。

  軟件測試的作用,具體地說明的話,可以概括為下列四個方面:

  對產品質量完成全面的評估,為軟件產品發(fā)布(如驗收測試)、軟件系統(tǒng)部署(如性能規(guī)劃測試)、軟件產品鑒定(第三方獨立測試)委托方和被委托方糾紛仲裁(第三方獨立測試)和其它決策提供信息;
通過持續(xù)的測試(包括需求評審、設計評審、代碼評審等)可以對產品質量提供持續(xù)的、快速的反饋,從而在整個開發(fā)過程中不斷地、及時地改進產品的質量,并減少各種返工,降低軟件開發(fā)的成本;
   通過測試發(fā)現所要交付產品的缺陷,特別是盡可能地發(fā)現各種嚴重的缺陷,降低或消除產品質量風險,提高客戶的滿意度,擴大市場份額,提高客戶的忠誠度。
通過對缺陷進行分析,找出缺陷發(fā)生的根本原因(軟件過程中的問題,包括錯誤的行為方式)或總結出軟件產品的缺陷模式,避免將來犯同樣的錯誤或產生類似的產品問題,達到缺陷預防的目的