軟體測試---單元、整合、系統、驗收測試
軟體生命週期
在看這幾種測試之前,我們先來看看軟體的生命週期
。
軟體研發的生命週期分為 6 個階段:需求分析、計劃、設計、編碼、測試、執行維修。
軟體測試的生命週期:需求分析、測試計劃、測試設計、測試開發(測試用例、寫自動化指令碼)、測試執行、測試評估(測試報告)----(也是軟體測試的流程)
V模型 和 W模型
瞭解的軟體的生命週期,我們在看看軟體測試中的兩種模型(還有其他的模型)
V模型
W 模型
後面會詳細講講V模型和W模型的不同,這裡主要是為了引出來集中測試,注意看V、W模型他們之間的關係。
單元測試
單元測試是對軟體組成單元進行測試。其目的是檢驗軟體基本組成單位的正確性。測試的物件是軟體設計的最小單位:模組。又稱為模組測試
測試階段:編碼後或者編碼前
測試物件:最小模組
測試人員:白盒測試工程師或開發工程師
測試依據:程式碼和註釋+詳細設計文件
測試方法:白盒測試
測試內容:模組介面測試、區域性資料結構測試、路徑測試、錯誤處理測試、邊界測試
整合測試
整合測試也稱聯合測試(聯調)、組裝測試,將程式模組採用適當的整合策略組裝起來,對系統的介面及整合後的功能進行正確性檢測的測試工作。整合主要目的是檢查軟體單位之間的介面是否正確。
測試階段:單元測試後
測試物件:模組之間的介面
測試人員:白盒測試工程師和開發工程師
測試依據:單元測試的模組+概要設計文件
測試方法:白盒+黑盒相結合
測試內容:模組之間資料傳輸、模組之間功能衝突、模組組裝功能正確性、全域性資料結構、單模組缺陷對系
統的影響
系統測試
將軟體系統看成是一個系統的測試。包括對功能、效能以及軟體所執行的軟硬體環境進行測試。時間大部分在系統測試執行階段,包括迴歸測試和冒煙測試。
測試階段:整合測試後
測試物件:整個系統(軟體+硬體)
測試人員:黑盒測試工程師
測試依據:需求規格說明文件
測試方法:黑盒測試
測試內容:功能、介面、可靠性、易用性、效能、相容性、安全性等
迴歸測試
迴歸測試是指修改了舊程式碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他程式碼產生錯誤。自動迴歸測試將大幅降低系統測試、維護升級等階段的成本。
在整個軟體測試過程中佔有很大的工作量比重,軟體開發的各個階段都會進行多次迴歸測試。隨著系統的龐大,迴歸測試的成本越來越大,通過選擇正確的迴歸測試策略來改進迴歸測試的效率和有效性是很有意的。
冒煙測試
冒煙測試的物件是每一個新編譯的需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。
冒煙測試一般在開發人員開發完畢後送給測試人員來進行測試時,測試人員會先進行冒煙測試,保證基本功能正常,不阻礙後續的測試。
驗收測試
驗收測試是部署軟體之前的最後一個測試操作。它是技術測試的最後一個階段,也稱為交付測試。驗收測試的目的是確保軟體準備就緒,按照專案合同、任務書、雙方約定的驗收依據文件,向軟體購買都展示該軟體系統滿足原始需求。
測試階段:系統測試後
測試物件:整個系統(軟體和硬體)
測試人員:主要是終端使用者或者需求方
測試依據:使用者需求、驗收標準
測試方法:黑盒測試
測試內容:同系統測試(功能…各類文件等)
總結
單元測試 | 整合測試 | 系統測試 | 驗收測試 | |
---|---|---|---|---|
測試階段 | 編碼後或編碼前 | 單元測試後 | 系統測試後 | 系統測試之後 |
測試物件 | 最小模組 | 模組之間的介面 | 整個系統(軟+硬) | 整個系統(軟+硬) |
測試人員 | 白盒或開發工程師 | 白盒或開發工程師 | 黑盒工程師 | 黑盒工程師 |
測試依據 | 程式碼和註釋+詳細設計文件 | 單元測試的模組+概要設計文件 | 需求規格說明書 | 主要為終端使用者或需求方 |
測試方法 | 白盒測試 | 白盒+黑盒測試 | 黑盒 | 黑盒 |
測試內容 | 模組介面測試、區域性資料結構測試、路徑測試、錯誤處理測試、邊界測試 | 模組之間資料傳輸、模組之間功能衝突、模組組裝功能的正確性、全域性資料結構、單模組缺陷對系統的影響 | 功能、介面、可靠性、易用性、效能、相容性、安全性等 | 和系統測試一樣 |
相關文章
- 軟體測試實驗三單元測試
- 軟體驗收測試和系統測試的區別點
- 4大軟體測試策略的特點和區別(單元測試、整合測試、確認測試和系統測試)
- Tessy—嵌入式軟體單元測試/整合測試工具
- Tessy — 嵌入式軟體單元測試/ 整合測試工具
- WinAMS--嵌入式軟體單元測試/整合測試工具
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 軟體測試基礎 (一): 單元測試
- 軟體測試基礎 (一):單元測試
- 軟體系統測試有哪些測試過程?系統測試報告如何收費?測試報告
- 軟體確認測試、系統測試和驗收測試有什麼區別和關係?
- 軟體驗收測試和系統測試有什麼聯絡和區別?專業軟體測試公司安利
- 軟體系統測試和驗收測試有什麼聯絡與區別?專業軟體測試方案推薦
- 軟體驗收測試之α測試和β測試分別是什麼?
- Flutter 學習之路 - 測試(單元測試,Widget 測試,整合測試)Flutter
- 軟體驗收測試有哪些測試方法?北京權威軟體測試機構安利
- 軟體產品驗收測試流程有哪些?如何獲取軟體驗收測試報告測試報告
- 關於軟體驗證中的單元測試
- 軟體驗收測試之α測試和β測試,如何選擇權威的軟體檢測機構
- 軟體驗收測試 常見測試報告的型別測試報告型別
- 單元/整合測試服務
- .Net單元測試xUnit和整合測試指南(1)
- Mokito 單元測試與 Spring-Boot 整合測試Springboot
- 測試 之Java單元測試、Android單元測試JavaAndroid
- 軟體驗收測試是什麼?第三方軟體驗收測試有什麼意義?
- 軟體驗收測試該怎麼進行?驗收測試報告需要多少費用?測試報告
- 軟體測評中心▏軟體驗收正式測試和非正式測試優缺點有哪些?
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 實驗三:單元測試
- 軟體安全測試有哪些測試手段?軟體測試報告收費貴嗎?測試報告
- 嚴格單元測試造就完美軟體
- 軟體測試外包專案經驗分享:歷經7個月的OA系統專案驗收測試情況
- 單元測試:單元測試中的mockMock
- Java中的單元測試與整合測試最佳實踐Java
- 軟體測試實驗二 | 白盒測試
- 軟體壓力測試有哪些測試流程?軟體測試報告收費情況測試報告
- 實驗三junit單元測試
- 單元測試,只是測試嗎?