<small id="xllpy"></small>
<span id="xllpy"></span>
  • <span id="xllpy"><output id="xllpy"><b id="xllpy"></b></output></span>
    1. <optgroup id="xllpy"><li id="xllpy"><del id="xllpy"></del></li></optgroup>
      <span id="xllpy"><output id="xllpy"><nav id="xllpy"></nav></output></span>
      技術干貨 > 文章詳情

      黑盒測試和白盒測試的優劣勢分析

      葉丹3年前 軟件測試

          軟件測試是為了發現程序中的錯誤而執行程序的過程,常用黑盒功能測試法和白盒結構測試法進行測試,那黑盒功能測試法和白盒結構測試法到底是什么樣的測試方法?它們有哪些優劣勢呢?

      黑盒測試和白盒測試 - 麥子學院

      黑盒功能測試法

          所謂黑盒功能測試法,就是把要測試的軟件看成一個&ldquo;黑盒子&rdquo;, 不管其內部結構如何以及用什么算法實現需求提供的功能,而是按照需求的功能化要求,設計相應的測試用例(包括測試的輸入數據與條件設置和所預期的軟件運行輸出結果),通過軟件運行后所給出的輸出(包括字符形式的輸出與圖象輸出)與所預期的結果進行人工或者自動化比較,來驗證被測試軟件是否能給出正確的結果, 從而判斷該軟件是否滿足需求。

       

      優點:

      (1)  能最直觀、最直接地反映出所設計的軟件是否滿足需求;

      (2)  即使沒有任何測試工具支援,也能靠人工測試的方法完成;

       

      缺點:

      (1)  難以找出某些特殊類型的錯誤。例如: 當對應于某組輸入該被測軟件并不提供任何輸出信息時,可能只是改變了某種工作狀態,如果其中的源代碼處理部分有錯誤,就比較難找出來;

      (2)  無法確定哪些測試用例有效或者無效 (所謂無效, 并不是說單獨使用某個測試用例時不能收到任何測試效果,而是在于它和前面已經使用過的測試用例一起使用時,毫無貢獻, 只是重復了前面的測試用例已經完成的測試);

      (3)  具有無可避免的盲目性。當軟件被修改后, 由于不知道哪些測試用例能測試到被直接修改過的模塊或者受修改過的模塊影響的模塊, 于是只好將所有測試用例再從頭運行一遍,而且是動態運行,非常費時費力。

       

      白盒結構測試法

          與黑盒子功能測試方法相反,白盒結構測試法不管所被測試的軟件是否滿足需求,是否實現了所設計的功能,而只注重該軟件內部的結構, 以便設計足夠多的測試用例,使得百分百或者盡可能多的程序組成要素能被測試到最少一次, 從而盡可能地將其中的軟件錯誤暴露出來。

       

      優點:

      (1)  能夠找出許多用功能測試方法找不出來的軟件錯誤;

      (B)  可以在整個軟件系統還未完成之前就分別對各個單元進行測試;

      (C)  可以通過測試用例的有效性分析而實現測試用例的最小化,以便大大地縮短軟件修改后的回復測試時間和費用;

      (D)  可以同時進行內存泄漏分析;

      (E)   可以同時進行分支執行頻度分析;

      (F)   可以同時進行軟件復雜度分析;

      (G)  可以同時進行數據和變量分析;

      (H)  可以同時進行性能分析;

      (I)    可以同時進行動態運行錯誤定位與執行路徑追溯等。

       

      缺點:

      (1)必須通過專門的測試工具來進行,需要在用戶的軟件的拷貝上進行插樁(插入紀錄點)記錄各分支/條件是否被執行過或者執行過多少次的信息;

      (2)會使被測試的軟件的運行速度減慢;

      (3)需要增加被測試軟件運行時的資源開銷等。

       

           以上就是黑盒測試和白盒測試的一些優缺點,當然軟件測試中常用的技術遠不止這兩種,還有自動化測試、性能測試等等,其他的測試我們將在后面的文章中繼續與大家分享。

       

      推薦學習:《自動化測試實戰

       

      19

      登錄 后參與討論

      沒有更多評論了

      免費領取價值1888元求職寶典!

      客服熱線 400-862-8862

      回到頂部

      啪啪啪视频1000