2.軟件測試的基本原則
站在用戶的角度對產品進行全面測試,盡早、盡可能多地發現缺陷,並負責跟蹤和分析產品中的問題,對不足之處提出質疑和改進意見。零缺陷是一種理想,足夠好是測試的原則。
基於不同的立場,存在著兩種完全不同的測試目的。
(1)從用戶的角度出發,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,考慮是否接受該產品。
(2)從軟件開發者的角度出發,希望測試表明軟件產品中不存在錯誤的過程,驗證該軟件已正確地實現了用戶的要求,確立人們對軟件質量的信心。
3.軟件測試的分類
軟件測試可以分別按測試階段、測試目的、測試對象和測試過程分類。
1)按測試階段分類
(1)單元測試。單元測試是對軟件中的基本組成單位進行的測試,如一個模塊,一個過程等。它是軟件動態測試的最基本部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。
因為單元測試需要知道內部程式設計和編碼的細節知識,所以一般由程式員而非測試員來完成,往往需要開發測試驅動模塊和樁模塊來輔助完成單元測試。因此,應用系統有一個設計很好的體系結構就顯得尤為重要。
一個軟件單元的正確性是相對於該單元的規格約定而言的。因此,單元測試以被測試單位的規格約定為基準。單元測試的主要方法有控制流測試、數據流測試、排錯測試和分域測試等。
(2)集成測試。集成測試是在軟件系統集成過程中所進行的測試,其主要目的是檢查軟件單位元之間的介面是否正確。它根據集成測試計劃,一邊將模塊或其他軟件單位組合成越來越大的系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種。