白盒測試教程

總共貼了39節,後續還有很長,共122節,文章名爲‘白盒測試教程’小程序

 

一、白盒測試概念數據結構

二、測試覆蓋標準測試

三、邏輯驅動測試spa

四、基本路徑測試設計

 

白盒測試概念教程

一、白盒測試也稱結構測試或邏輯驅動測試,是一種測試用例設計方法,它從程序的控制結構導出測試用例。(測試用例由測試輸入數據以及與之對應的輸出結果組成。  測試用例設計的好壞直接決定了測試的效果和結果。因此說在軟件測試活動中最關鍵的步驟就是設計有效的測試用例。)基礎

二、白盒測試使用被測單元內部如何工做的信息,容許測試人員對程序內部邏輯結構及有關信息來設計和選擇測試用例,對程序的邏輯路徑進行測試。基於一個應用代碼的內部邏輯知識,測試是基於覆蓋所有代碼、分支、路徑、條件。軟件

 

白盒測試的主要目的:循環

一、保證一個模塊中的全部獨立路徑至少被執行一次;程序

二、對全部的邏輯值均須要測試真、假兩個分支;

三、在上下邊界及可操做範圍內運行全部循環;

四、檢查內部數據結構以確保其有效性。

 

測試覆蓋標準

一、白盒法特色:以程序的內部邏輯爲基礎設計測試用例,因此又稱爲邏輯覆蓋法。應用白盒法時,手頭必須有程序的規格說明以及程序清單。

  白盒法考慮的是測試用例對程序內部邏輯的覆蓋程度。最完全的白盒法是覆蓋程序中的每一條路徑,可是因爲程序中通常含有循環,因此路徑的數目極大,要執行每一條路徑是不可能的,只能但願覆蓋的程度儘量高些。

 

測試覆蓋標準

 

測試覆蓋標準

一、上頁小程序的流程圖,其中包括了一個執行達20次的循環。那麼它所包含的不一樣執行路徑數高達520(=1013)條,若要對它進行窮舉測試,覆蓋全部的路徑。假使測試程序對每一條路徑進行測試須要1毫秒,一樣假定一天工做24小時,一年工做365 天, 那麼要想把如圖所示的小程序的全部路徑測試完,則須要3170年。

 

測試覆蓋標準

1、爲了衡量測試的覆蓋程度,須要創建一些標準,目前經常使用的一些覆蓋標準從低到高分別是:

一、語句覆蓋:是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程序中每一個語句至少都能被執行一次。

它是最弱的邏輯覆蓋,效果有限,必須與其它方法交互使用。

二、斷定覆蓋(也稱爲分支覆蓋):執行足夠的測試用例,使得程序中的每個分支至少都經過一次。

斷定覆蓋只比語句覆蓋稍強一些,但實際效果代表,只是斷定覆蓋,還不能保證必定能查出在判斷的條件中存在的錯誤。所以,還須要更強的邏輯覆蓋準則去檢驗判斷內部條件。

三、條件覆蓋:執行足夠的測試用例,使程序中每一個判斷的每一個條件的每一個可能取值至少執行一次;

條件覆蓋深刻到斷定中的每一個條件,但可能不能知足斷定覆蓋的要求。

 

測試覆蓋標準

一、斷定/條件覆蓋:執行足夠的測試用例,使得斷定中每一個條件取到各類可能的值,並使每一個斷定取到各類可能的結果。

 

斷定/條件覆蓋有缺陷。從表面上來看,它測試了全部條件的取值。可是事實並不是如此。每每某些條件掩蓋了另外一些條件。會遺漏某些條件取值錯誤的狀況。爲完全地檢查全部條件的取值,須要將斷定語句中給出的複合條件表達式進行分解,造成由多個基本斷定嵌套的流程圖。這樣就能夠有效地檢查全部的條件是否正確了。

二、條件組合覆蓋:執行足夠的例子,使得每一個斷定中條件的各類可能組合都至少出現一次。

這是一種至關強的覆蓋準則,能夠有效地檢查各類可能的條件取值的組合是否正確。它不但可覆蓋全部條件的可能取值的組合,還可覆蓋全部判斷的可取分支,但可能有的路徑會遺漏掉。測試還不徹底。

 

白盒測試的主要方法:

1、邏輯驅動測試

一、語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次;

二、斷定覆蓋(也稱爲分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每一個判斷的取真分支和取假分支至少執行一次;

三、條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每一個判斷的每一個條件的每一個可能取值至少執行一次;

四、斷定/條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每一個判斷的每一個條件的全部可能取值至少執行一次,而且每一個可能的判斷結果也至少執行一次,換句話說,便是要求各個判斷的全部可能的條件取值組合至少執行一次;

五、條件組合覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每一個判斷的全部可能的條件取值組合至少執行一次;

2、基本路徑測試

設計足夠多的測試用例,運行所測程序,要覆蓋程序中全部可能的路徑。這是最強的覆蓋準則。但在路徑數目很大時,真正作到徹底覆蓋是很困難的,必須把覆蓋路徑數目壓縮到必定限度。

 

語句覆蓋

o語句覆蓋」是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程序中每一個語句至少都能被執行一次。

n如,例1:

PROCEDURE  M(VAR A,B,X:REAL);  

BEGIN

IF (A>1) AND (B=0)  THEN X:=X/A;

IF (A=2) OR (X>1)   THEN X:=X+1;

END.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

總共貼了39節,後續還有很長,共122節,文章名爲‘白盒測試教程’

相關文章
相關標籤/搜索