1. 軟件測試的定義
軟件測試是指有特定的目的、有方法的,並且需要提交缺陷-跟蹤解決的一個過程。其目的在於檢驗軟件是否滿足或弄清預期結果與實際結果之間的差別。即爲了發現程序中的錯誤而使用熱工或自動化手段執行程序或測試某個系統的過程。
2. 軟件測試的目的
- 發現程序存在代碼或者業務邏輯錯誤。即通過輸出預期結果和實際結果,再結合需求判斷程序是否有BUG。
- 驗證軟件的功能是否滿足用戶的需求。
- 提交用戶體驗。能夠吸引用戶,符合用戶操作習慣。
簡單的說,就是軟件測試的目的就是:
基本功能: 爲了尋找程序中的BUG;
深層次的: 驗證功能是否滿足用戶的需求。(即驗證實際結果與預期結果的差別)
最終目標: 提高軟件產品的質量,給用戶交付一個滿意的產品。
3. 軟件測試的原則
以客戶爲中心,遵循軟件測試的規範、流程、標準和要求。
- 儘早的介入測試,在需求設計階段就應該開始設計。
- 所有測試應該要反饋到用戶需求。
- 程序或系統的測試需要專門的人員負責,除了單元測試,其他測試應該交給專業人員跟進。
- 設計測試用例時要考慮到合法輸入和非法輸入以及各種邊界條件,特殊情況還要製造極端狀態和意外狀態(冒煙測試)。
- 二八原則,80%的錯誤很可能起源於20%的模塊中。
- 對錯誤結果要進行一個確認過程。
- 制定嚴格的測試計劃。
- 要保存測試過程中的所有文檔。
4. 測試對象
- 程序
- 數據
- 文檔
5. 測試和調試的區別
調試 | 測試 | |
---|---|---|
目的不同 | 發現並解決程序中的問題 | 發現程序中的問題 |
參與角色不同 | 由開發人員完成 | 由測試人員和開發人員一同完成;單元/集成測試由開發人員完成;黑盒測試由測試人員完成 |
執行階段 | 在開發(編寫代碼)階段完成 | 佔據整個軟件開發的生命週期 |