国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

軟件測試技術(shù)(四)白盒測試

這篇具有很好參考價值的文章主要介紹了軟件測試技術(shù)(四)白盒測試。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

白盒測試

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

白盒測試遵循的四大原則:

  1. 保證一個模塊中所有路徑至少被測試一次;
  2. 所有邏輯值都要測試真(true)和假(false)兩種情況
  3. 檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)是否有效;
  4. 檢查上、下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)

靜態(tài)白盒測試

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

  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. 非法計算類故障(Illegal Computing Fault ILCF)
  6. 死循環(huán)結(jié)構(gòu)(Dead Loop Fault DLF)
  7. 資源泄漏(RLF)
  8. 并發(fā)故障 (Concurrency Fault)
  9. 安全漏洞故障
  10. 疑問代碼故障

簡單來說,靜態(tài)白盒測試就是看代碼找bug

動態(tài)白盒測試

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

動態(tài)白盒測試流程:

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

邏輯覆蓋測試

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

代碼如圖所示:

軟件測試技術(shù)(四)白盒測試

?

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

軟件測試技術(shù)(四)白盒測試

?

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

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

覆蓋方法 介紹
語句覆蓋 選擇足夠多的測試用例,使得程序中的每個可執(zhí)行語句至少執(zhí)行一次。
判定覆蓋 通過執(zhí)行足夠的測試用例,使得程序中的每個判定至少都獲得一次“真”值和“假”值, 也就是使程序中的每個取“真”分支和取“假”分支至少均經(jīng)歷一次,也稱為“分支覆蓋”。
條件覆蓋 設(shè)計足夠多的測試用例,使得程序中每個判定包含的每個條件的可能取值(真/假)都至少滿足一次。
判定/條件覆蓋 設(shè)計足夠多的測試用例,使得程序中每個判定包含的每個條件的所有情況(真/假)至少出現(xiàn)一次,并且每個判定本身的判定結(jié)果(真/假)也至少出現(xiàn)一次。滿足判定/條件覆蓋的測試用例一定同時滿足判定覆蓋和條件覆蓋
條件組合覆蓋 通過執(zhí)行足夠的測試用例,使得程序中每個判定的所有可能的條件取值組合都至少出現(xiàn)一次。滿足組合覆蓋的測試用例一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋
路徑覆蓋 設(shè)計足夠多的測試用例,要求覆蓋程序中所有可能的路徑

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

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

各個覆蓋方法的優(yōu)缺點:

軟件測試技術(shù)(四)白盒測試

?

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

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

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

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

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

程序插樁

在程序的特定部位插入記錄動態(tài)特性的語句,最終是為了把程序執(zhí)行過程中發(fā)生的一些重要的歷史事件記錄下來。例如,記錄在程序執(zhí)行過程中某些變量值的變化情況,變化的范圍等。這些插入的語句常常被稱為“探測器”或者“探測點”。文章來源地址http://www.zghlxwxcb.cn/news/detail-434605.html

總結(jié)

  • 白盒測試方法基于被測程序的源代碼開發(fā)測試用例。常見的白盒測試方法有邏輯覆蓋、數(shù)據(jù)流測試、路徑分析以及程序插裝等。
  • 邏輯覆蓋以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計測試用例,要求對被測程序的結(jié)構(gòu)作到一定程度的覆蓋,如語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋及路徑覆蓋。路徑覆蓋是最強(qiáng)的邏輯覆蓋準(zhǔn)則,實際上我們只能有選擇地測試程序中某些有代表的性路徑。

到了這里,關(guān)于軟件測試技術(shù)(四)白盒測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 軟件測試之白盒測試

    軟件測試之白盒測試

    1.語句覆蓋 定義:設(shè)計測試用例,使得程序中每條 語句 至少被執(zhí)行一次。 理解:如上圖,只需滿足語句塊1、2、3、4均被至少執(zhí)行一次即可 測試用例 缺點 2.判定覆蓋(分支覆蓋) 定義:設(shè)計測試用例,使得程序中的每個判斷的“真\\\"和“假\\\"都至少被執(zhí)行一次。 理解:每個 菱形

    2024年02月03日
    瀏覽(25)
  • [軟件測試] 03 白盒 基本路徑測試 習(xí)題

    軟件測試期末復(fù)習(xí)系列 課件知識點整合 : 軟件測試基礎(chǔ) 白盒測試 黑盒測試 PTA習(xí)題匯總 : 軟件測試基礎(chǔ) 白盒測試-邏輯覆蓋測試 白盒測試-基本路徑測試 白盒測試-靜態(tài)測試 黑盒測試-等價類劃分 黑盒測試-邊界值測試 黑盒測試-場景法 提示 : 篇幅較長,可以使用 Ctrl+F ,在

    2024年02月04日
    瀏覽(27)
  • [軟件測試] 第二部分 白盒測試

    軟件測試期末復(fù)習(xí)系列 課件知識點整合 : 軟件測試基礎(chǔ) 白盒測試 黑盒測試 PTA習(xí)題匯總 : 軟件測試基礎(chǔ) 白盒測試-邏輯覆蓋測試 白盒測試-基本路徑測試 白盒測試-靜態(tài)測試 黑盒測試-等價類劃分 黑盒測試-邊界值測試 黑盒測試-場景法 白盒測試:側(cè)重于系統(tǒng)或部件 內(nèi)部機(jī)制

    2024年02月04日
    瀏覽(39)
  • [軟件測試] 02 白盒 邏輯覆蓋測試 習(xí)題

    軟件測試期末復(fù)習(xí)系列 課件知識點整合 : 軟件測試基礎(chǔ) 白盒測試 黑盒測試 PTA習(xí)題匯總 : 軟件測試基礎(chǔ) 白盒測試-邏輯覆蓋測試 白盒測試-基本路徑測試 白盒測試-靜態(tài)測試 黑盒測試-等價類劃分 黑盒測試-邊界值測試 黑盒測試-場景法 提示 : 篇幅較長,可以使用 Ctrl+F ,在

    2024年02月04日
    瀏覽(18)
  • 【軟件構(gòu)造】黑盒測試與白盒測試

    按照 是否需要知道程序內(nèi)部是如何實現(xiàn) 的,將測試分為 黑盒測試 與 白盒測試 。 需要知道程序內(nèi)部是如何實現(xiàn)的—— 白盒測試 不需要知道程序內(nèi)部是如何實現(xiàn)的—— 黑盒測試 白盒測試一般是 內(nèi)部人員 即程序員進(jìn)行測試 黑盒測試一般是 外部人員 如專門的測試人員和用戶

    2023年04月15日
    瀏覽(27)
  • 軟件工程導(dǎo)論 黑盒測試、白盒測試

    軟件工程導(dǎo)論 黑盒測試、白盒測試

    集中檢測軟件設(shè)計的最小單元(即 模塊 )。 模塊接口 局部數(shù)據(jù)結(jié)構(gòu) 重要執(zhí)行通路 出錯處理通路 邊界條件 一次審查可以發(fā)現(xiàn)多個錯誤,可以減少系統(tǒng)驗證的總工作量。 將程序作為一個 整體 ,對錯誤的定位和改正十分困難。 自頂向下集成 從主控程序模塊開始,沿著程序控制

    2023年04月22日
    瀏覽(31)
  • 軟件測試中如何編寫單元測試用例(白盒測試)

    目錄 前言: 一、 單元測試的概念 二、開始測試前的準(zhǔn)備 三、開始測試 四、完成測試 前言: 單元測試是軟件測試中一種重要的測試方法,它是在代碼級別進(jìn)行測試,通過對每個模塊或功能進(jìn)行獨立測試來保障代碼的正確性和可靠性。單元測試可以有效地避免產(chǎn)生隱藏的代

    2024年02月09日
    瀏覽(20)
  • 軟件測試——測試的分類(重點:黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試)

    軟件測試——測試的分類(重點:黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試)

    界面是直接和用戶進(jìn)行交互的,界面設(shè)計的好壞決定了用戶使用軟件的直觀感受 界面測試(UI 測試)一般包括以下內(nèi)容: 對比 UI 設(shè)計稿,驗證系統(tǒng)顯示界面的一致性和正確性 驗證界面上每個功能的正確性 驗證界面排版布局是否合理。字體大小、圖片排版、清晰程度等 驗證

    2024年02月09日
    瀏覽(25)
  • 軟件測試之測試的分類(重點:黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試)

    軟件測試之測試的分類(重點:黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試)

    界面是直接和用戶進(jìn)行交互的,界面設(shè)計的好壞決定了用戶使用軟件的直觀感受 界面測試(UI 測試)一般包括以下內(nèi)容: 對比 UI 設(shè)計稿,驗證系統(tǒng)顯示界面的一致性和正確性 驗證界面上每個功能的正確性 驗證界面排版布局是否合理。字體大小、圖片排版、清晰程度等 驗證

    2024年02月03日
    瀏覽(24)
  • 一個黑盒測試和白盒測試區(qū)別的軟件測試面試題,錯失15koffer

    一個黑盒測試和白盒測試區(qū)別的軟件測試面試題,錯失15koffer

    軟件測試是確保軟件質(zhì)量的重要環(huán)節(jié),而在軟件測試中,黑盒測試和白盒測試是兩種常見的測試方法。跟小一起學(xué)習(xí)黑盒測試和白盒測試區(qū)別: 它們在測試的角度和目標(biāo)上存在顯著區(qū)別,本文將深入探討這兩種測試方法的定義、特點、應(yīng)用場景以及區(qū)別,以幫助讀者更好地理

    2024年02月05日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包