單元測試:單元測試是對軟件中的基本組成單位進行的測試,如一個模塊、一個過程等等。它是軟件動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。一個軟件單元的正確性是相對於該單元的規約而言的。因此,單元測試以被測試單位的規約為基准。單元測試的主要方法有控制流測試、數據流測試、排錯測試、分域測試等等。
集成測試:集成測試是在軟件系統集成過程中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。它根據集成測試計划,一邊將模塊或其他軟件單位組合成越來越大的系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種。
系統測試:系統測試是對已經集成好的軟件系統進行徹底的測試,以驗證軟件系統的正確性和性能等滿足其規約所指定的要求,檢查軟件的行為和輸出是否正確並非一項簡單的任務,它被稱為測試的 “ 先知者問題 ” 。因此,系統測試應該按照測試計划進行,其輸入、輸出和其他動態運行行為應該與軟件規約進行對比。軟件系統測試方法很多,主要有功能測試、性能測試、隨機測試等等。
驗收測試:驗收測試旨在向軟件的購買者展示該軟件系統滿足其用戶的需求。它的測試數據通常是系統測試的測試數據的子集。所不同的是,驗收測試常常有軟件系統的購買者代表在現場,甚至是在軟件安裝使用的現場。這是軟件在投入使用之前的最后測試。
回歸測試:回歸測試是在軟件維護階段,對軟件進行修改之后進行的測試。其目的是檢驗對軟件進行的修改是否正確。這里,修改的正確性有兩重含義:一是所作的修改達到了預定目的,如錯誤得到改正,能夠適應新的運行環境等等;二是不影響軟件的其他功能的正確性。