灰盒測試常用的三種方法(白盒測試有哪幾種測試方法)
2023-10-13 09:59:51 1
軟體測試是如何分類的?有多少種
測試人員一般分為如下三種(當然還有很多其它的分類方法,如感興趣可以再查找):
黑盒測試:
黑盒測試,指的是把被測的軟體看作是一個黑盒子,我們不去關心盒子裡面的結構是什麼樣子的,只關心軟體的輸入數據和輸出結果。主要是針對軟體界面和軟體功能進行測試。
白盒測試:
白盒測試,指的是完全了解產品的原始碼和程序結果。按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作
灰盒測試:
灰盒測試介於黑盒測試與白盒測試之間。可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。
這三種測試方式各有各的優點,樓主可以根據需要去選擇
——「搜狗測試」
黑盒、白盒和灰盒測試的基本概念?
黑盒、白盒和灰盒測試的基本概念
1. 黑盒測試
黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,並且保持外部信息(如資料庫或文件)的完整性。
黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用於軟體確認測試。「黑盒」法著眼於程序外部結構、不考慮內部邏輯結構、針對軟體界面和軟體功能進行測試。「黑盒」法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
2. 白盒測試
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
「白盒」法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。「白盒」法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規範,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。
3. 灰盒測試
灰盒測試,確實是介於二者之間的,可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。
灰盒測試結合了白盒測試盒黑盒測試的要素。它考慮了用戶端、特定的系統知識和操作環境。它在系統組件的協同性環境中評價應用軟體的設計。
灰盒測試由方法和工具組成,這些方法和工具取材於應用程式的內部知識盒與之交互的環境,能夠用於黑盒測試以增強測試效率、錯誤發現和錯誤分析的效率。
灰盒測試涉及輸入和輸出,但使用關於代碼和程序操作等通常在測試人員視野之外的信息設計測試。
灰盒測試模型中的 MTIF和MTOF 是什麼含義?
輸出、輸入。
灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。
灰盒測試結合了白盒測試盒黑盒測試的要素,考慮了用戶端、特定的系統知識和操作環境。在系統組件的協同性環境中評價應用軟體的設計。
擴展資料:
注意事項:
如果某軟體包含多個模塊,當使用黑盒測試時只要關心整個軟體系統的外界,無需關心軟體系統內部各個模塊之間如何協作。而如果使用灰盒測試,就需要關心模塊與模塊之間的交互。這是灰盒測試與黑盒測試的區別。
在灰盒測試中,無需關心模塊內部的實現細節。對於軟體系統的內部模塊,灰盒測試依然當成一個黑盒來看待。而白盒測試還需要再深入地了解內部模蛺的實現細節。
參考資料來源:百度百科-灰盒測試
灰盒測試的介紹
灰盒測試,是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的內部邏輯,常常是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態。
白盒測試的測試用例設計有哪些方法?
白盒測試用例設計技術可分為邏輯覆蓋和路徑覆蓋,邏輯覆蓋又可分為以下幾種,從弱到強:
語句覆蓋(SC):設計足夠多的測試用例,確保每條語句都被執行過。
判定覆蓋(DC):設計足夠多的測試用例,確保每個判定都分別取真值與假值。
條件覆蓋(CC):設計足夠多的測試用例,確保每個條件都分別取真值與假值。(一個判定裡可能包含多個條件)
判定/條件覆蓋(DCC):設計足夠多的測試用例,確保每個判定和條件分別取真值和假值。
條件組合覆蓋(CMC):設計足夠多的測試用例,確保覆蓋每個判定中的各個條件的所有組合情況。(只考慮同一個判定內的各條件組合情況)
路徑覆蓋:設計足夠多的測試用例,確保每條路徑都被執行。如果程序複雜,比如包含循環的情況,路徑覆蓋的測試用例數將會是個天文數字,無法實現。可以採用簡化了的路徑覆蓋,即將循環看成是一個判定,只考慮循環被執行和未執行兩種情況。
黑盒測試方法和白盒測試方法分別是什麼?
黑盒測試的測試方法有:等價類劃分、邊界值分析法、猜錯法、隨機數法、因果圖
白盒測試的測試方法有:代碼檢查法、程序變異、靜態結構分析法、靜態質量度量法、符號測試法、邏輯覆蓋法、域測試、Z路徑覆蓋和基本路徑測試法
還可以參照以下網址