白盒測試是什么意思有什么優(yōu)缺點
白盒測試是什么意思有什么優(yōu)缺點
白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,那么你對白盒測試了解多少呢?以下是由學習啦小編整理關于什么是白盒測試的內(nèi)容,希望大家喜歡!
白盒測試的介紹
白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運作的。"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字。
采用什么方法對軟件進行測試呢?常用的軟件測試方法有兩大類:靜態(tài)測試方法和動態(tài)測試方法。其中軟件的靜態(tài)測試不要求在計算機上實際執(zhí)行所測程序,主要以一些人工的模擬技術對軟件進行分析和測試;而軟件的動態(tài)測試是通過輸入一組預先按照一定的測試準則構(gòu)造的實例數(shù)據(jù)來動態(tài)運行程序,而達到發(fā)現(xiàn)程序錯誤的過程。在動態(tài)分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬于動態(tài)分析方法。
白盒測試的測試方法
白盒測試的測試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。
白盒測試法的覆蓋標準有邏輯覆蓋、循環(huán)覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標準發(fā)現(xiàn)錯誤的能力呈由弱到強的變化:
1、語句覆蓋每條語句至少執(zhí)行一次。
2、判定覆蓋每個判定的每個分支至少執(zhí)行一次。
3、條件覆蓋每個判定的每個條件應取到各種可能的值。
4、判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。
5、條件組合覆蓋每個判定中各條件的每一種組合至少出現(xiàn)一次。
6、路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。
白盒測試的要求
1、保證一個模塊中的所有獨立路徑至少被使用一次。
2、對所有邏輯值均需測試 true 和 false。
3、在上下邊界及可操作范圍內(nèi)運行所有循環(huán)。
4、檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。
白盒測試的實施步驟
1、測試計劃階段:根據(jù)需求說明書,制定測試進度。
2、測試設計階段:依據(jù)程序設計說明書,按照一定規(guī)范化的方法進行軟件結(jié)構(gòu)劃分和設計測試用例。
3、測試執(zhí)行階段:輸入測試用例,得到測試結(jié)果。
4、測試總結(jié)階段:對比測試的結(jié)果和代碼的預期結(jié)果,分析錯誤原因,找到并解決錯誤。
白盒測試的優(yōu)缺點
優(yōu)點
1、迫使測試人員去仔細思考軟件的實現(xiàn)
2、可以檢測代碼中的每條分支和路徑
3、揭示隱藏在代碼中的錯誤
4、對代碼的測試比較徹底
5、最優(yōu)化
缺點
1、昂貴
2、無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯誤
3、不驗證規(guī)格的正確性
白盒測試三步法
1、根據(jù)代碼的功能,人工設計測試用例進行基本功能測試;
2、統(tǒng)計白盒覆蓋率,為未覆蓋的白盒單位設計測試用例,實現(xiàn)完整的白盒覆蓋,比較理想的覆蓋率是實現(xiàn)100%語句、條件、分支、路徑覆蓋;
3、自動生成大量的測試用例,捕捉"程序員未處理某些特殊輸入"形成的錯誤。
第1步的測試用例通常是現(xiàn)成的,因為詳細設計文檔會規(guī)定程序的基本功能,沒有文檔的,程序員在編程時也要想清楚程序的功能,這些基本功能就是基本測試用例;
第2步是在第1步的基礎上,檢查未覆蓋的白盒單位,由于未覆蓋的邏輯單位通常對應未測試的等價類,因此第2步可以找出第1步所遺漏的測試用例;
第3步用自動動態(tài)測試彌補第2步的固有缺陷。
"三步法"盡量避免重復工作,白盒方法和黑盒方法相結(jié)合,人工方法和自動方法相補充,如果第2步的覆蓋率比較理想,那么基本上可以保證找出所有等價類。在開發(fā)過程允許的限度內(nèi),"三步法"已接近極限,當?shù)闷?quot;徹底測試"四個字。
看過“白盒測試的優(yōu)缺點”的人還看了: