軟體測試-白盒&灰盒篇
這篇部落格接著來介紹白盒測試,在沒有具體接觸白盒測試前,總覺他很神祕,很複雜。相信大家都會有這樣的感覺,
今天就來把這個盒子開啟,剖析一下白盒測試。
白盒測試
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格
說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而
不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
“白盒”法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。測試者必須檢查程式的內部結構,從檢查程式的
邏輯著手,得出測試資料。
白盒測試方法
主要有程式碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆
蓋和程式變異。
其中邏輯覆蓋包括:語句覆蓋、判定覆蓋、條件覆蓋、判定
六種覆蓋標準發現錯誤的能力呈由弱到強的變化:
1. 語句覆蓋每條語句至少執行一次。
2. 判定覆蓋每個判定的每個分支至少執行一次。
3. 條件覆蓋每個判定的每個條件應取到各種可能的值。
4. 判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。
5. 條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。
6. 路徑覆蓋使程式中每一條可能的路徑至少執行一次。
導圖展示
黑白盒對比
灰盒測試
灰盒測試,是介於白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關
注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的執行狀
態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很
低,因此需要採取這樣的一種灰盒的方法。
通過這兩篇部落格的介紹,相信大家對軟體測試的基本方法有了一定的認識,能夠知道黑盒,白盒,灰盒之間的區別和
聯絡,以及如何取捨。結合實際情況,咱們ITOO專案是黑盒白盒都採用了,但是由於白盒的成本昂貴,要做的非常
細緻的相對困難些,所以這次白盒測試主要安排了程式碼走查法和單元測試,旨在提高大家的編碼水平,希望大家多多
配合!