本人博客文章網址:https://www.peretang.com/basic-knowledge-of-software-testing/
軟件測試的目的
1. 確認軟件的質量
a. 是確認軟件做了你所期望做的事情(Do the right thing)
b. 是確認軟件以正確的方式來做了這個事情(Do it right)
2. 是提供信息
比如提供給開發人員或程序經理的回饋信息,爲風險評估所準備的信息
3. 是在測試軟件軟件產品本身,而且還包括軟件開發的過程。
如果一個軟件產品開發完成之後發現了很多問題,這說明此軟件開發過程很可能是有缺陷的。因此,軟件測試的第三個目的是保證整個軟件開發過程是高質量的。
軟件測試的五種類型
1. 單元測試
2. 集成測試
3. 功能測試
4. 壓力和負荷測試
5. 驗收測試
軟件測試策略和要求
1. 開發
a. 測試覆蓋率
b. 編寫可測試的代碼
● 公共API是協議
● 減少依賴關係
● 減少依賴關係
● 簡單的構造函數
● 遵循最少知識原則
● 避免隱藏的依賴關係和全局狀態
● 避免使用靜態方法
● 組合優於繼承
● 多態優於條件語句
c. 測試驅動開發(TDD) 測試–>編碼–>重構–>(重複)–>提交
2. 測試
a. stub機制 粗粒度測試
b. mocks 細粒度測試
c. 容器內測試 完整性測試