發(fā)布時間:2020-06-22
白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的軟件測試,其測試對象是軟件源代碼。
白盒測試是一種測試設(shè)計方法,是相對“黑盒”而言,黑盒意思是將被測軟件當(dāng)做完全不知內(nèi)部結(jié)構(gòu)內(nèi)容情況的整體對待,白盒指的是被測軟件內(nèi)部邏輯結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)完全可知,可將被測軟件拆解為更細(xì)粒度的軟件代碼對象。"白盒"測試設(shè)計方法可全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進(jìn)行測試。在使用這一方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。
白盒測試原理:檢查軟件代碼的語句、分支、數(shù)據(jù)、接口、架構(gòu)的各種實現(xiàn)細(xì)節(jié),將軟件代碼具體實現(xiàn)對照所應(yīng)完成的功能、性能等指標(biāo)進(jìn)行驗證,查找軟件代碼實現(xiàn)的缺陷。
白盒測試方法有哪些?
白盒測試的測試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。
設(shè)計測試用例的思路主要分為邏輯覆蓋和數(shù)據(jù)域覆蓋。其中邏輯覆蓋包括語句覆蓋、分支覆蓋、條件覆蓋、MC/DC 覆蓋和路徑覆蓋。五種覆蓋要求呈由弱到強的變化:
1.語句覆蓋每條語句至少執(zhí)行一次。
2.分支覆蓋每個分支至少執(zhí)行一次。
3.條件覆蓋每個判斷條件應(yīng)取到各種可能的值。
4.MCDC 覆蓋每個判斷條件需獨立影響分支結(jié)果至少一次。
5.路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。
如何開始白盒測試?
1、了解需求——可以先把軟件的用戶需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書等相關(guān)的文檔拿過來,先好好的看懂,明白系統(tǒng)要實現(xiàn)什么樣的邏輯功能,了解掌握程序?qū)崿F(xiàn)的組織結(jié)構(gòu)及細(xì)節(jié);
2、測試用例設(shè)計——可以選擇一種覆蓋類型為線索來設(shè)計測試用例;
3、測試數(shù)據(jù)準(zhǔn)備——了解測試用例要用到哪些輸入數(shù)據(jù),輸出要求是什么;
4、編寫測試代碼——將測試用例轉(zhuǎn)換成可執(zhí)行的代碼;
5、測試用例執(zhí)行——針對java 語言的白盒測試,可以用白盒測試工具如junit執(zhí)行測試;
6、測試結(jié)果分析——如果執(zhí)行測試用例的過程中遇到實際結(jié)果和預(yù)期結(jié)果不符合,則需要深入分析測試結(jié)果,找到并解決錯誤;
7、回歸測試——針對已經(jīng)修復(fù)bug 后的源碼,進(jìn)行整體的回歸測試;
8、發(fā)布測試報告。
白盒測試工具有哪些?
白盒測試工具一般是針對代碼進(jìn)行測試,測試中發(fā)現(xiàn)的缺陷可以定位到代碼級,根據(jù)測試工具原理的不同,又可以分為靜態(tài)測試工具和動態(tài)測試工具。靜態(tài)測試工具直接對代碼進(jìn)行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執(zhí)行文件。
靜態(tài)測試工具一般是對代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方,根據(jù)某種質(zhì)量模型評價代碼的質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等;動態(tài)測試工具與靜態(tài)測試工具不同,動態(tài)測試工具的一般采用“插樁”的方式,向代碼生成的可執(zhí)行文件中插入一些監(jiān)測代碼,用來統(tǒng)計程序運行時的數(shù)據(jù)。其與靜態(tài)測試工具最大的不同就是動態(tài)測試工具要求被測系統(tǒng)實際運行。
相關(guān)閱讀:
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報價)。
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系