你好!
軟體測試的目的:
軟體測試的目的決定了如何去組織測試。如果測試的目的是為了儘可能多地找出錯誤,那麼測試就應該直接針對軟體比較複雜的部分或是以前出錯比較多的位置。如果測試目的是為了給終端使用者提供具有一定可信度的質量評價,那麼測試就應該直接針對在實際應用中會經常用到的商業假設。
不同的機構會有不同的測試目的;相同的機構也可能有不同測試目的,可能是測試不同區域或是對同一區域的不同層次的測試。
在談到軟體測試時,許多人都引用Grenford J. Myers在《The Art of Software Testing》一書中的觀點:
①、軟體測試是為了發現錯誤而執行程式的過程;
②、測試是為了證明程式有錯,而不是證明程式無錯誤。
④、一個成功的測試是發現了至今未發現的錯誤的測試。
這種觀點可以提醒人們測試要以查詢錯誤為中心,而不是為了演示軟體的正確功能。但是僅憑字面意思理解這一觀點可能會產生誤導,認為發現錯誤是軟體測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實並非如此。
首先,測試並不僅僅是為了要找出錯誤。透過分析錯誤產生的原因和錯誤的分佈特徵,可以幫助專案管理者發現當前所採用的軟體過程的缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性地檢測方法,改善測試的有效性。
其次,沒有發現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。詳細而嚴謹的可靠性增長模型可以證明這一點。例如 Bev Littlewood發現一個經過測試而正常運行了n小時的系統有繼續正常執行n小時的機率。
因此,軟體測試的第三個目的是保證整個軟體開發過程是高質量的。
你好!
軟體測試的目的:
軟體測試的目的決定了如何去組織測試。如果測試的目的是為了儘可能多地找出錯誤,那麼測試就應該直接針對軟體比較複雜的部分或是以前出錯比較多的位置。如果測試目的是為了給終端使用者提供具有一定可信度的質量評價,那麼測試就應該直接針對在實際應用中會經常用到的商業假設。
不同的機構會有不同的測試目的;相同的機構也可能有不同測試目的,可能是測試不同區域或是對同一區域的不同層次的測試。
在談到軟體測試時,許多人都引用Grenford J. Myers在《The Art of Software Testing》一書中的觀點:
①、軟體測試是為了發現錯誤而執行程式的過程;
②、測試是為了證明程式有錯,而不是證明程式無錯誤。
④、一個成功的測試是發現了至今未發現的錯誤的測試。
這種觀點可以提醒人們測試要以查詢錯誤為中心,而不是為了演示軟體的正確功能。但是僅憑字面意思理解這一觀點可能會產生誤導,認為發現錯誤是軟體測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實並非如此。
首先,測試並不僅僅是為了要找出錯誤。透過分析錯誤產生的原因和錯誤的分佈特徵,可以幫助專案管理者發現當前所採用的軟體過程的缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性地檢測方法,改善測試的有效性。
其次,沒有發現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。詳細而嚴謹的可靠性增長模型可以證明這一點。例如 Bev Littlewood發現一個經過測試而正常運行了n小時的系統有繼續正常執行n小時的機率。
因此,軟體測試的第三個目的是保證整個軟體開發過程是高質量的。