中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

白盒測(cè)試(White Box Testing)又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試只測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程,而不測(cè)試軟件產(chǎn)品的功能,用于糾正軟件系統(tǒng)在描述、表示和規(guī)格上的錯(cuò)誤,是進(jìn)一步測(cè)試的前提。

白盒測(cè)試遵循的四大原則:

保證一個(gè)模塊中所有路徑至少被測(cè)試一次;

所有邏輯值都要測(cè)試真(true)和假(false)兩種情況

檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)是否有效;

檢查上、下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)

靜態(tài)白盒測(cè)試

白盒測(cè)試分靜態(tài)和動(dòng)態(tài)兩種,靜態(tài)測(cè)試是指不運(yùn)行程序,通過(guò)人工對(duì)程序和文檔進(jìn)行分析與檢查。下面是靜態(tài)白盒測(cè)試檢查的故障模式。

  1. 內(nèi)存泄漏的故障(Memory Leak Fault, MLF)
  2. 數(shù)組越界故障的故障(Out of Bounds Array Access Fault OBAF)
  3. 使用未初始化變量故障(Uninitialized Variable Fault,UVF)
  4. 空指針使用故障(NULL Pointer Dereference Fault NPDF)
  5. 非法計(jì)算類(lèi)故障(Illegal Computing Fault ILCF)
  6. 死循環(huán)結(jié)構(gòu)(Dead Loop Fault DLF)
  7. 資源泄漏(RLF)
  8. 并發(fā)故障 (Concurrency Fault)
  9. 安全漏洞故障
  10. 疑問(wèn)代碼故障

簡(jiǎn)單來(lái)說(shuō),靜態(tài)白盒測(cè)試就是看代碼找bug

動(dòng)態(tài)白盒測(cè)試

白盒測(cè)試分靜態(tài)和動(dòng)態(tài)兩種,動(dòng)態(tài)測(cè)試是指通過(guò)運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率和健壯性等性能。

動(dòng)態(tài)白盒測(cè)試流程:

  1. 選取定義域有效值,或定義域外無(wú)效值;(等價(jià)類(lèi)劃分思想)
  2. 已選取值決定預(yù)期的結(jié)果;
  3. 用選取值執(zhí)行程序;
  4. 執(zhí)行結(jié)果與對(duì)已選取值決定預(yù)期的結(jié)果對(duì)比,不吻合程序有錯(cuò)

邏輯覆蓋測(cè)試

為了滿足白盒測(cè)試的四大原則,需要使用邏輯覆蓋測(cè)試法來(lái)設(shè)計(jì)測(cè)試用例。邏輯覆蓋測(cè)試是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例的方法,首先需要就行代碼的結(jié)構(gòu)分析,繪制流程圖。

代碼如圖所示:

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

對(duì)應(yīng)結(jié)構(gòu)圖如下:

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

注意:圓圈中的數(shù)字代表代碼的行數(shù)

之后進(jìn)行邏輯覆蓋,由于覆蓋測(cè)試的目標(biāo)不同,邏輯覆蓋又可分為:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

從表中的介紹可知,從上到下,該方法覆蓋的路徑越多。其他方法覆蓋的路徑不全面,那為什么不直接使用路徑覆蓋?這是由于如果程序中出現(xiàn)了多個(gè)判斷和多個(gè)循環(huán),可能的路徑數(shù)目將會(huì)急劇增長(zhǎng),以至實(shí)現(xiàn)路徑覆蓋不可能。

為了解決上面的問(wèn)題,出現(xiàn)了基本路徑覆蓋,它在程序控制流圖的基礎(chǔ)上,通過(guò)分析程序控制流圖的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑(獨(dú)立路徑)的集合,然后據(jù)此設(shè)計(jì)測(cè)試用例。

各個(gè)覆蓋方法的優(yōu)缺點(diǎn):

【干貨詳解】全網(wǎng)最全白盒測(cè)試攻略大全(白盒測(cè)試都有哪些)

在實(shí)際測(cè)試中,即使對(duì)于路徑數(shù)很有限的程序已經(jīng)做到路徑覆蓋,仍然不能保證被測(cè)試程序的正確性,還需要采用其他測(cè)試方法進(jìn)行補(bǔ)充。

數(shù)據(jù)流測(cè)試

數(shù)據(jù)流測(cè)試分析常常集中于定義/引用異常的缺陷,用于如下三方面測(cè)試。

  1. 變量被定義,但是從來(lái)沒(méi)有使用(引用)
  2. 所使用的變量沒(méi)有被定義
  3. 變量在使用之前被定義兩次

早期的數(shù)據(jù)流測(cè)試主要用于檢測(cè)程序編寫(xiě)時(shí)出現(xiàn)的一些警告信息,如“所定義的變量未被使用等”問(wèn)題,這些問(wèn)題光靠簡(jiǎn)單的語(yǔ)法分析器或者是語(yǔ)義分析器是無(wú)法檢測(cè)出來(lái)的。

程序插樁

在程序的特定部位插入記錄動(dòng)態(tài)特性的語(yǔ)句,最終是為了把程序執(zhí)行過(guò)程中發(fā)生的一些重要的歷史事件記錄下來(lái)。例如,記錄在程序執(zhí)行過(guò)程中某些變量值的變化情況,變化的范圍等。這些插入的語(yǔ)句常常被稱為“探測(cè)器”或者“探測(cè)點(diǎn)”。

總結(jié)

  • 白盒測(cè)試方法基于被測(cè)程序的源代碼開(kāi)發(fā)測(cè)試用例。常見(jiàn)的白盒測(cè)試方法有邏輯覆蓋、數(shù)據(jù)流測(cè)試、路徑分析以及程序插裝等。

  • 邏輯覆蓋以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例,要求對(duì)被測(cè)程序的結(jié)構(gòu)作到一定程度的覆蓋,如語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋及路徑覆蓋。路徑覆蓋是最強(qiáng)的邏輯覆蓋準(zhǔn)則,實(shí)際上我們只能有選擇地測(cè)試程序中某些有代表的性路徑。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年3月29日 下午1:12
下一篇 2024年3月29日 下午1:26

相關(guān)推薦