黑盒測試、白盒測試、灰盒測試

设计云 2024-04-09 23:36 18次浏览 0 条评论 taohigo.com

第一種劃分 按照測試技術劃分:

1.黑盒測試

黑盒測試:也可叫功能測試,是一種從用戶角度出發的測試。把被測程序當作一個黑盒子,測試人員完全不用考慮盒子裡面的邏輯結構和具體運作,隻依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。主要的測試方法有等價劃分類,錯誤推測法等。

通過軟件的外部表現來發現其缺陷和錯誤。

黑盒測試發把黑盒測試看成一個黑盒子,完全不考慮程序內部結構和處理過程。

黑盒測試是在程序界面進行測試,它隻是檢查樣序是否按照需求規格說明書的規定正常實現。

2.白盒測試

白盒測試也稱為結構測試。它根據程序的控制結構設計測試用例,測試人員會利用程序內部的邏輯結構及有關信息,通過在不同點檢查程序狀態,檢驗程序中的每條通路是否都能按預定要求進行正確工作。

通過對程序內部結構的分析、檢測來尋找問題。

白盒測試可以把程序看成裝在一個透明的白盒子裡,也就是清楚瞭解程序結構和處理過程,檢查是否所有的結構及路徑都是正確的,檢查軟件內部動作是否按照設計說明的規定正常進行。

3.灰盒測試

灰盒測試:是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於集成測試階段,不僅關註輸出、輸入的正確性,同時也關註程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關註程序的內部邏輯。

介於白盒測試與黑盒測試之間的測試。

灰盒測試關註輸出對於輸入的準確性,同時也關註內部表現,但這種關註不想白盒測試那樣詳細、完整,隻是通過一些表征性的現象、事件、標志來判斷內部的運行狀態。灰盒測試結合瞭白盒測試和黑盒測試的要素。它考慮瞭用戶端、特定的系統知識和操作環境。它在系統組件的協同性環境中評價應用軟件的設計。

4.三者的區別

從測試目標和依據來說:黑盒面對的是產品設計,白盒針對的是程序功能的實現,灰盒針對兼而有之,既要考慮產品設計要求,又考慮到功能實現的效果

從實現者而言:黑盒在意的是客戶的角度,白盒測試針對的研發人員。

從測試模塊顆粒度而言:白盒在意的是代碼實現層面,而灰盒更加側重模塊之間,而黑盒更在於用戶層面

第二種劃分 按照測試階段劃分:

軟件測試四階段:

1. 單元測試:開發人員對最小可測試單元開展的測試。

2. 集成測試:測試人員對各個單元之間的交互關系開展的測試。

3. 系統測試:測試人員對整個軟件產品開展的測試。

4. 驗收測試:用戶或外包商對整個軟件產品開展的測試。

其他測試階段:

1. Alpha測試:內部測試人員在開發環境下開展的測試。這部分工作還是由公司內部人員開展的,同時測試需要在實際開發的環境下進行,使得發現的問題可以及時反饋給開發同事,盡早開始缺陷的修復。

2. Beta測試:典型真實用戶在實際應用環境下開展的測試。在正式發佈軟件產品前,很多公司會先把軟件試用版本提前發放給部分典型用戶,這部分群體通常對軟件的使用依賴性較高,也是軟件的核心目標用戶,通過收集他們在實際使用中遇到的問題,來及早地規避一些潛在質量問題。

3. 冒煙測試:對軟件基本功能開展的測試。“冒煙”的術語其實來源於硬件測試,過往硬件供電後如果出現冒煙現象,表示硬件連最基本的上電功能都無法實現,說明產品本身存在嚴重問題,後面這一術語沿用到軟件測試領域,冒煙測試因此得名。

4. 回歸測試:對已修復問題開展的測試。回歸測試通常是在一輪功能測試完成之後,且開發人員對已有缺陷進行修復後開展的測試驗證工作,測試需要在修復版本上檢驗缺陷關聯的模塊,通過回歸測試來追蹤缺陷的最新狀態,最後完成對問題的閉環。

第三種劃分 按照測試對象是否運行劃分為:動態測試,靜態測試

靜態測試技術(靜態分析技術):

是指不運行程序,通過人工對程序和文檔進行分析與檢查;

靜態測試實際上是對軟件中的需求說明書、設計說明書、程序源代碼進行非運行的檢查,靜態測試包括:走查、符號執行、需求確認等。

動態測試技術:通過人工或使用工具運行程序進行檢查、分析程序的執行狀態和程序的外部表現。

第四種劃分 按照不同的測試手段劃分為:手工測試,自動化測試

1.手工測試:點點點

2.自動化測試:替代手工,通過工具或者程序進行測試

第五種劃分 按照測試包含的內容劃分為:功能測試,界面測試,性能測試,兼容性測試,安全測試,易用性測試

1.功能測試:測試軟件的功能是否符合需求,一般通過黑盒測試的方法,由測試人員獨立完成

2.界面測試:簡稱UI測試,測試用戶頁面佈局是否合理,整體風格是否一致,界面文字是否正確,命名是否統一,頁面是否美觀,文字,圖片組合是否完美等等,其實就是檢測頁面上的所有內容

3.性能測試:對系統的各項性能指標進行測試,比如頁面的響應時間,頁面的並發量,或者軟件架構是否合理等

4.兼容性測試:測試系統與其他軟件硬件兼容的能力,比如淘寶網頁是否能在IE,火狐,谷歌等不同瀏覽器中正常運行,或者微信能否在ios和安卓手機上同時安裝

5.安全測試:測試該系統防止非法入侵的能力,比如支付寶,必須保證用戶的信息不被竊取,用戶的錢財不會隨意流失

6.易用性測試:檢測軟件是否簡單易用

第六種劃分 :冒煙測試,回歸測試,探索性/自由測試

1.冒煙測試:檢測每一個新編譯的需要正式測試的軟件版本,目的是確認軟件基本功能正常,可以進行後續的正式測試工作,比如手機充電直接燒壞瞭手機,那麼將無法進行後續的一系列測試

2.回歸測試:測試發現問題,並且問題進行修改之後的測試,此時測試不僅僅會測試該問題是否被修復,還會繼續檢測其他功能是否收到影響

3.探索性/自由測試:一般在測試完成之後,有剩餘時間時,可自由發揮進行測試