白盒測(cè)試的基本方法有哪些?與黑盒測(cè)試的區(qū)別?

發(fā)布時(shí)間:2020-07-29

白盒測(cè)試是測(cè)試人員必須要會(huì)的一種測(cè)試,白盒測(cè)試主要是從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯(cuò)誤。它的基本方法有代碼檢查、靜態(tài)結(jié)構(gòu)分析法、邏輯覆蓋法、基本路徑測(cè)試法以及域測(cè)試等方法,與白盒測(cè)試相關(guān)聯(lián)的是黑盒測(cè)試,接下來(lái)我們就來(lái)了解一下白盒測(cè)試的方法和與黑盒測(cè)試的區(qū)別。

CodeAnalyzer(代碼質(zhì)量管理)

白盒測(cè)試的基本方法有哪些?

1、代碼檢查

代碼檢查包括桌面檢查、代碼審查和走查等,主要檢查代碼和設(shè)計(jì)的一致性,代碼對(duì)標(biāo)準(zhǔn)的遵循、可讀性,代碼邏輯表達(dá)的正確性,代碼結(jié)構(gòu)的合理性等方面;發(fā)現(xiàn)違背程序編寫標(biāo)準(zhǔn)的問(wèn)題,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風(fēng)格的內(nèi)容,包括變量檢查、命名和類型審查、程序邏輯審查、程序語(yǔ)法檢查和程序結(jié)構(gòu)檢查等內(nèi)容。

2、靜態(tài)結(jié)構(gòu)分析法

在靜態(tài)結(jié)構(gòu)分析中,測(cè)試者通過(guò)使用測(cè)試工具分析程序源代碼的系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、內(nèi)部控制邏輯等內(nèi)部結(jié)構(gòu),生成函數(shù)調(diào)用關(guān)系圖、模塊控制流圖、內(nèi)部文件調(diào)用關(guān)系圖、子程序表、宏和函數(shù)參數(shù)表等各類圖形圖標(biāo),可以清晰地標(biāo)識(shí)整個(gè)軟件系統(tǒng)的組成結(jié)構(gòu),使其便于閱讀和理解,然后可以通過(guò)分析這些圖標(biāo),檢查軟件有沒(méi)有存在缺陷或錯(cuò)誤。

3、邏輯覆蓋法

邏輯覆蓋法是基路徑是一組獨(dú)立路徑,這組獨(dú)立路徑中的所有路徑相互不可替代,其余路徑均可由這組路徑的某種組合方式來(lái)遍歷?;窂綔y(cè)試就是設(shè)計(jì)測(cè)試用例來(lái)覆蓋每條基路徑。

4、基本路徑測(cè)試法

基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。

在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例。

5、域測(cè)試

域測(cè)試方法基于對(duì)輸入空間的分析。自然,任何一個(gè)被測(cè)程序都有一個(gè)輸入空間。域測(cè)試主要針對(duì)域錯(cuò)誤進(jìn)行的程序測(cè)試,測(cè)試的理想結(jié)果就是檢驗(yàn)輸入空間中的每一個(gè)輸入元素是否都產(chǎn)生正確的結(jié)果。域測(cè)試正是在分析輸入域的基礎(chǔ)上,選擇適當(dāng)?shù)臏y(cè)試點(diǎn)以后進(jìn)行測(cè)試的。

6、路徑覆蓋

路徑覆蓋的含義是,選取足夠多的測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次(如果程序圖中有環(huán),則要求每個(gè)環(huán)至少經(jīng)過(guò)一次)。

與黑盒測(cè)試有哪些區(qū)別

1、從定義上

白盒測(cè)試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯(cuò)誤,進(jìn)而加以修正。而黑盒測(cè)試著重測(cè)試軟件功能,它并不涉及程序的內(nèi)部結(jié)構(gòu)和內(nèi)容特性。黑盒測(cè)試并不能取代白盒測(cè)試,它與白盒是互補(bǔ)的測(cè)試方法,它很可能發(fā)現(xiàn)白盒測(cè)試不易發(fā)現(xiàn)的其他類型錯(cuò)誤。

2、從測(cè)試目的上

黑盒測(cè)試的目的是檢測(cè)是否有不正確或遺漏的功能;數(shù)據(jù)或者參數(shù)上,輸入能否正確接收;是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪問(wèn)錯(cuò)誤;性能上是否能夠滿足要求;是否有初始化或終止性錯(cuò)誤。而白盒測(cè)試的目的是通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致,而不顧它的功能。

3、檢測(cè)方式上

白盒測(cè)試是窮舉路徑測(cè)試,黑盒測(cè)試是窮舉輸入測(cè)試,這兩種方法是基于完全不同的觀點(diǎn),反應(yīng)了事物的兩個(gè)極端,它們各有側(cè)重和優(yōu)勢(shì),但不能彼此替代。在現(xiàn)代的測(cè)試?yán)砟钪?,這兩種測(cè)試方法不是截然分開(kāi)的,而是交叉使用。

可以說(shuō),白盒測(cè)試在測(cè)試行業(yè)當(dāng)中是很重要的,因?yàn)樗鼜拇a里面進(jìn)行分析發(fā)現(xiàn)錯(cuò)誤的,本篇文章到這里就要結(jié)束了,小編最后再給大家推薦一個(gè)白盒測(cè)試的工具,它就是CodeAnalyzer,它可以用于實(shí)現(xiàn)靜態(tài)分析、代碼走查、代碼規(guī)范檢查以及代碼潛在錯(cuò)誤分析等,它是一種脫離編譯器的代碼靜態(tài)分析軟件產(chǎn)品。

推薦閱讀:

比較常用的白盒測(cè)試工具有哪些?

Java靜態(tài)代碼掃描怎么做?Java靜態(tài)代碼掃描工具的使用方法

為什么要做白盒測(cè)試?哪些項(xiàng)目適合白盒測(cè)試?

為什么要進(jìn)行代碼檢查?靜態(tài)代碼分析工具的優(yōu)勢(shì)有哪些

我們?yōu)槭裁匆褂渺o態(tài)代碼掃描工具?常用靜態(tài)代碼掃描工具對(duì)比

如何進(jìn)行代碼審查?代碼審查工具都有哪些?

軟件測(cè)試人員該如何選擇白盒測(cè)試工具?常用的白盒測(cè)試工具匯總

本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫(huà)冊(cè)

掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)

產(chǎn)品畫(huà)冊(cè)
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

我們的客服人員稍后會(huì)與您聯(lián)系