一、單元測試
單元測試是對軟件組成單元進行測試。其目的是檢驗軟件基本組成單位的正確性。測試的對象是軟件設計的最小單位:模塊。又稱為模塊測試
測試階段:編碼后
測試對象:最小模塊
測試人員:白盒測試工程師或開發工程師
測試依據:代碼和注釋+詳細設計文檔
測試方法:白盒測試
測試內容:模塊接口測試、局部數據結構測試、路徑測試、錯誤處理測試、邊界測試
比如說在商店買東西時,需要掃碼付款,如果使用支付寶付款,那么正常情況下就應該用支付寶去掃描商家的支付寶收錢碼進行付款而不是微信收錢碼。那么要是出現異常情況的話,比如用支付寶掃了微信收錢碼還會彈出支付界面嗎,又或者是在無網情況下掃碼會出現什么界面呢? -> 進行錯誤處理測試
總的來說,單元測試是為了驗證相關人員所編寫的功能模塊代碼實現了正常情況下該實現的功能,也對其它任何可能出現的缺陷做了相應正確的處理。單元測試完成之后,通常會發現大量bug,然后開發人員對其作出處理,這樣可以為后期維護代碼降低代價。
二、集成測試
集成測試也稱聯合測試(聯調)、組裝測試,將程序模塊采用適當的集成策略組裝起來,對系統的接口及集成后的功能進行正確性檢測的測試工作。集成主要目的是檢查軟件單位之間的接口是否正確。
測試階段:一般單元測試之后進行
測試對象:模塊間的接口
測試人員:白盒測試工程師或開發工程師
測試依據:單元測試的模塊+概要設計文檔
測試方法:黑盒測試與白盒測試相結合
測試內容:模塊之間數據傳輸、模塊之間功能沖突、模塊組裝功能正確性、全局數據結構、單模塊缺陷對系統的影響
比如說逛淘寶后需要買東西,那么在提交訂單后一般會彈出確認付款界面讓我們付款,我們就需要測試在點擊提交訂單后是否會出現確認付款界面,如果出現了這個界面,那么是否可以支付成功,這個過程就相當于在測試淘寶提交訂單這個接口與付款這個接口是否能夠很好地配合工作。
三、系統測試
將軟件系統看成是一個系統的測試。包括對功能、性能以及軟件所運行的軟硬件環境進行測試。時間大部分在系統測試執行階段集成測試主要由用戶來完成,包括回歸測試和冒煙測試。
測試階段:集成測試通過之后
測試對象:整個系統(軟、硬件)
測試人員:黑盒測試工程師
測試依據:需求規格說明文檔
測試方法:黑盒測試
測試內容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
還是在淘寶上買東西的例子,如果剛開始是在華為手機上測試通過了,那么換成小米手機或是蘋果手機呢?又或者是換成電腦呢?提交訂單后還會出現確認付款界面嗎,能正常調用支付寶付款接口進行付款嗎?在電腦上付款的話是不是會比手機慢呢或者不安全呢? 如果發現不能調用支付寶付款接口進行付款,那么在修復了這個bug之后會不會引進新的bug呢?【比如提交訂單后連確認付款的界面都不見了】這些都是系統測試需要做的事情。
四、驗收測試
驗收測試是部署軟件之前的最后一個測試操作。它是技術測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,按照項目合同、任務書、雙方約定的驗收依據文檔,向軟件購買者展示該軟件系統滿足原始需求。
測試階段:系統測試通過之后
測試對象:整個系統(包括軟硬件)。
測試人員:主要是最終用戶或者需求方。
測試依據:用戶需求、驗收標準
測試方法:黑盒測試
測試內容:同系統測試(功能...各類文檔等)
這個階段主要是依據用戶的需求和驗收標準來測的集成測試主要由用戶來完成,由用戶進行測試,測試所有的功能是否符合他們的預期等等