tft每日頭條

 > 生活

 > 黑盒測試與白盒測試的最大區别

黑盒測試與白盒測試的最大區别

生活 更新时间:2024-11-19 22:51:15

1.6軟件測試的分類

黑盒測試與白盒測試的最大區别(黑盒測試與白盒測試的區别)1

  軟件測試技術最普遍采用的劃分即是黑盒測試技術和白盒測試技術以及灰盒測試技術。三者說明如下:

  黑盒測試:已知産品的用戶需求規格,可以通過測試證明整個軟件系統是否符合用戶的最終需求,

  白盒測試:已知産品的詳細設計過程,可以通過測試證明每種内部操作是否符合設計規格要求,所有内部成分是否已經通過檢查。

  灰盒測試:已知産品的接口文檔,可以通過接口來驗證軟件給服務器發送的各項請求和返回值的正确性,可以脫離可視化界面進行測試,大大提高工作效率。

  黑盒測試與白盒測試各自不同的優缺點,使得它們對于軟件測試都是非常重要,都是不可或缺的 下面我們還把黑盒測試與白盒測試做一做對比:

黑盒測試

白盒測試

測試依據 根據用戶能看到的規格說明,即針對命令、信息、 根據程序的内部結構,比如語句的控制結構,模場

報表等用戶界面及體現它們的輸入數據與輸出數 對控制結構以及内部數據結構等進行測試

據之間的對應關系,特别是針對功能進行測試。

0 站在用戶立場上進行測試 能夠對程序内部的特定部位進行覆蓋測試

不能測試程序内部特定部位 無法檢驗程序的外部特性

指吸 如果規格說明有誤,則無法發現。 無法對未實現規格說明的程序内部欠缺部分進行

方法舉例 等價類劃分 語句覆蓋

邊值分析 判定覆蓋

因果圖 條件覆蓋

數據準确性 判定/條件覆蓋

路徑覆蓋

場景法

從上面的對比可以看出,黑盒測試出發點是用戶需求,而白盒測試出發點是程序實現。所以,最好

獨立的組織來做黑盒測試,這樣結果會更客觀;白盒測試一般由開發人員完成,因為開發人員更熟悉編程

内部實現

下面我們會對黑盒測試和白盒測試分别介紹;

1.6.1

黑盒測試與白盒測試的最大區别(黑盒測試與白盒測試的區别)2

  黑盒測試技術

  黑盒測試是指不基于内部設計和代碼的任何知識,而基于需求和功能性的測試,黑盒測試也稱功能測試或數據驅動測試,它是在已知産品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時。程序看作一個不能打開的黑盒子,在能過時來和内部特性的情況下,測試者在程序口行測試它隻檢查程序功能是否按照需求規精速明字内結常使用,程序是否能适當地接收輸入數據而産生正确的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。

  “黑盒”着眼于程序外部結構、不考慮内部邏輯結構、針對軟件界面和軟件功能進行測試。“黑盒法是窮舉輸入測試,隻有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試,

  黑盒測試的檢查點一般包括:

  根據需求說明書,檢查是否有不正确或遺漏了的功能?是否忽略了用戶的隐含需求?

  在軟件外部接口上,輸入能否正确地被接受?能否輸出正确的結果?

  是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?

  性能上是否能夠滿足要求?

  易用性和其他功能特性是否能夠得到滿足?

  是否有初始化或終止性缺陷?是否會出現用戶不能接受的缺陷?

白盒測試技術

  白盒測試也稱結構測試或邏輯驅動測試,是指基于一個應用代碼的内部邏輯知識,即基于覆蓋全部代碼

1.6.2

黑盒測試與白盒測試的最大區别(黑盒測試與白盒測試的區别)3

  代碼、分支、路徑、條件的測試,它是知道産品内部工作過程,可通過測試來檢測産品内部動作是否按照規格說明書的規定正常進行,按照程序内部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正确工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。

  “白盒”法全面了解程序内部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的内部結構,從檢查程序的邏輯着手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。

  第一:窮舉路徑測試決不能查出程序違反了設計規範,即程序本身是個錯誤的程序。

第二:窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。

  第三:窮舉路徑測試可能發現不了一些與數據相關的錯誤。

  執行白盒測試時,一般要:

  對程序模塊的所有獨立的執行路徑至少測試一次;

  對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測試一次;

  在循環的邊界和運行界限内執行循環體;

  測試内部數據結構的有效性,等等。

  1.6.3

黑盒測試與白盒測試的最大區别(黑盒測試與白盒測試的區别)4

  灰盒測試技術

  灰盒測試,是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關注輸出、輸入的正确性,同時也關注程序内部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的内部邏輯,常常是通過一些表征性的現象、事件、标志來判斷内部的運行狀态。

  灰盒測試由方法和工具組成,這些方法和工具取材于應用程序的内部知識和與之交互的環境,能夠用于黑盒測試以增強測試效率、錯誤發現和錯誤分析的效率。

  灰盒(Gray Box)是一種程序或系統上的工作過程被局部認知的裝置。灰盒測試,也稱作灰盒分析,是基于對程序内部細節有限認知上的軟件調試方法。測試者可能知道系統組件之間是如何互相作用的,但缺乏對内部程序功能和運作的詳細了解。對于内部過程,灰盒測試把程序看作一個必須從外面進行分析的黑盒。

  灰盒測試相對白盒測試更加難以發現并解決潛在問題,尤其在一個單一的應用中,白盒測試的内部細節可以完全掌握。灰盒測試結合了白盒測試和黑盒測試的要素。它考慮了用戶端、特定的系統知識和操作環境。它在系統組件的協同性環境中評價應用軟件的設計。灰盒測試由方法和工具組成,這些方法和工具取材于應用程序的内部知識和與之交互的環境,能夠用于黑盒測試以增強測試效率、錯誤發現和錯誤分析的效率。灰盒測試涉及輸入和輸出,但使用關于代碼和程序操作等通常在接口層面體現。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved