標籤:
軟體測試主要包括以下階段:
(1)單元測試 Unit Test
單元測試,是指對軟體中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函數,Java裡單元指一個類,圖形化的軟體中可以指一個視窗或一個菜單等。總的來說,單元就是人為規定的最小的被測功能模組。單元測試是在軟體開發過程中要進行的最低層級的測試活動,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。
單元測試的目的:
- 驗證代碼與設計相符合
- 跟蹤需求和設計的實現
- 發現設計和需求中存在的錯誤
- 返現編碼過程中引入的錯誤
單元測試可以使用孤立測試策略:
- 單元內的全域輸入、輸出變數測試(Driver)
- 單元內調用的函數(Sub)的介面測試
- 覆蓋路徑
(2)整合測試 Integration Test
整合是把多個單元組合起來形成更大的單元。整合測試是在假定各個軟體單元已經通過了單元測試的前提下,檢查各個軟體單元之間的相互介面是否正確。整合測試與軟體開發過程中的概要設計階段相對應的,而在軟體概要設計中關於整個系統的體繫結構就是整合測試案例輸入的基礎。
實踐表明,一些模組雖然能夠單獨地工作,但並不能保證串連起來也能正常的工作。一些局部反映不出來的問題,在全域上很可能暴露出來。
整合測試可以採用非漸進增式整合,但是由於其操作的難度和容易漏檢,因而現在普遍採用漸增式整合,它把程式劃分成小段來構造和測試,在這個過程中比較容易定位和改正錯誤。可以使用自頂向下、自底向上以及三明治整合等的整合策略。
(3)系統測試 System Testing
系統測試時產品提交給使用者之前進行的最後階段測試。所謂系統測試,是將已經確認的軟體、硬體、外設、網路等其他元素結合在一起,進行資訊系統的各種組裝測試和確認測試,系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之矛盾的地方,從而提出更加完善的方案。
系統測試的內容:
功能測試、GUI測試、效能測試、煙霧測試 (Smoke Test)、壓力測試、容量測試、健壯性測試、安全性測試、可靠性測試、恢複測試與備份測試、協議一致性測試、相容性測試、安裝性測試、可用性測試、配置性測試、文檔性測試、驗收測試、迴歸測試。
軟體測試學習隨筆(8) 軟體測試的階段