總共貼了39節,后續還有很長,共122節,文章名為‘白盒測試教程’
1、白盒測試概念
2、測試覆蓋標準
3、邏輯驅動測試
4、基本路徑測試
白盒測試概念
1、白盒測試也稱結構測試或邏輯驅動測試,是一種測試用例設計方法,它從程序的控制結構導出測試用例。(測試用例由測試輸入數據以及與之對應的輸出結果組成。? 測試用例設計的好壞直接決定了測試的效果和結果。所以說在軟件測試活動中最關鍵的步驟就是設計有效的測試用例。)
2、白盒測試使用被測單元內部如何工作的信息,允許測試人員對程序內部邏輯結構及有關信息來設計和選擇測試用例,對程序的邏輯路徑進行測試。基于一個應用代碼的內部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。
白盒測試的主要目的:
1、保證一個模塊中的所有獨立路徑至少被執行一次;
2、對所有的邏輯值均需要測試真、假兩個分支;
3、在上下邊界及可操作范圍內運行所有循環;
4、檢查內部數據結構以確保其有效性。
測試覆蓋標準
1、白盒法特點:以程序的內部邏輯為基礎設計測試用例,所以又稱為邏輯覆蓋法。應用白盒法時,手頭必須有程序的規格說明以及程序清單。
白盒法考慮的是測試用例對程序內部邏輯的覆蓋程度。最徹底的白盒法是覆蓋程序中的每一條路徑,但是由于程序中一般含有循環,所以路徑的數目極大,要執行每一條路徑是不可能的,只能希望覆蓋的程度盡可能高些。
測試覆蓋標準
測試覆蓋標準
1、上頁小程序的流程圖,其中包括了一個執行達20次的循環。那么它所包含的不同執行路徑數高達520(=1013)條,若要對它進行窮舉測試,覆蓋所有的路徑。假使測試程序對每一條路徑進行測試需要1毫秒,同樣假定一天工作24小時,一年工作365 天, 那么要想把如圖所示的小程序的所有路徑測試完,則需要3170年。
測試覆蓋標準
一、為了衡量測試的覆蓋程度,需要建立一些標準,目前常用的一些覆蓋標準從低到高分別是:
1、語句覆蓋:是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程序中每個語句至少都能被執行一次。
它是最弱的邏輯覆蓋,效果有限,必須與其它方法交互使用。
2、判定覆蓋(也稱為分支覆蓋):執行足夠的測試用例,使得程序中的每一個分支至少都通過一次。
判定覆蓋只比語句覆蓋稍強一些,但實際效果表明,只是判定覆蓋,還不能保證一定能查出在判斷的條件中存在的錯誤。因此,還需要更強的邏輯覆蓋準則去檢驗判斷內部條件。
3、條件覆蓋:執行足夠的測試用例,使程序中每個判斷的每個條件的每個可能取值至少執行一次;
條件覆蓋深入到判定中的每個條件,但可能不能滿足判定覆蓋的要求。
測試覆蓋標準
1、判定/條件覆蓋:執行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能的結果。
判定/條件覆蓋有缺陷。從表面上來看,它測試了所有條件的取值。但是事實并非如此。往往某些條件掩蓋了另一些條件。會遺漏某些條件取值錯誤的情況。為徹底地檢查所有條件的取值,需要將判定語句中給出的復合條件表達式進行分解,形成由多個基本判定嵌套的流程圖。這樣就可以有效地檢查所有的條件是否正確了。
2、條件組合覆蓋:執行足夠的例子,使得每個判定中條件的各種可能組合都至少出現一次。
這是一種相當強的覆蓋準則,可以有效地檢查各種可能的條件取值的組合是否正確。它不但可覆蓋所有條件的可能取值的組合,還可覆蓋所有判斷的可取分支,但可能有的路徑會遺漏掉。測試還不完全。
白盒測試的主要方法:
一、邏輯驅動測試
1、語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次;
2、判定覆蓋(也稱為分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次;
3、條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次;
4、判定/條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的每個條件的所有可能取值至少執行一次,并且每個可能的判斷結果也至少執行一次,換句話說,即是要求各個判斷的所有可能的條件取值組合至少執行一次;
5、條件組合覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的所有可能的條件取值組合至少執行一次;
二、基本路徑測試
設計足夠多的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。這是最強的覆蓋準則。但在路徑數目很大時,真正做到完全覆蓋是很困難的,必須把覆蓋路徑數目壓縮到一定限度。
語句覆蓋
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節,文章名為‘白盒測試教程’