1. 程式人生 > >軟體測試-白盒&灰盒篇

軟體測試-白盒&灰盒篇

這篇部落格接著來介紹白盒測試,在沒有具體接觸白盒測試前,總覺他很神祕,很複雜。相信大家都會有這樣的感覺,

今天就來把這個盒子開啟,剖析一下白盒測試。

白盒測試                                                                                                                      

白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格

說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而

不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。

“白盒”法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。測試者必須檢查程式的內部結構,從檢查程式的

邏輯著手,得出測試資料。

白盒測試方法                                                                                                              

主要有程式碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆

蓋和程式變異。

其中邏輯覆蓋包括:語句覆蓋、判定覆蓋、條件覆蓋、判定

條件覆蓋、條件組合覆蓋和路徑覆蓋。

                                                           

六種覆蓋標準發現錯誤的能力呈由弱到強的變化:

 1. 語句覆蓋每條語句至少執行一次。

2. 判定覆蓋每個判定的每個分支至少執行一次。

3. 條件覆蓋每個判定的每個條件應取到各種可能的值。

4. 判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。

 5. 條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。

6. 路徑覆蓋使程式中每一條可能的路徑至少執行一次。

導圖展示                                                                                                                      

                                        

黑白盒對比                                                                                                                   

                          

灰盒測試                                                                                                                     

灰盒測試,是介於白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關

注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的執行狀

態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很

低,因此需要採取這樣的一種灰盒的方法。

通過這兩篇部落格的介紹,相信大家對軟體測試的基本方法有了一定的認識,能夠知道黑盒,白盒,灰盒之間的區別和

聯絡,以及如何取捨。結合實際情況,咱們ITOO專案是黑盒白盒都採用了,但是由於白盒的成本昂貴,要做的非常

細緻的相對困難些,所以這次白盒測試主要安排了程式碼走查法和單元測試,旨在提高大家的編碼水平,希望大家多多

配合!