首页
/
每日頭條
/
科技
/
黑盒測試和白盒測試的基本原理
黑盒測試和白盒測試的基本原理
更新时间:2024-10-13 20:50:36
1.白盒測試

白盒測試,又稱結構測試,主要用于單元測試階段。它的前提是可以把程序看成裝在一個透明的白箱子裡,測試者完全知道程序的結構和處理算法。這種方法按照程序内部邏輯設計測試用例,檢測程序中的主要執行通路是否都能按預定要求正常工作。

白盒測試根據軟件的内部邏輯設計測試用例,常用的技術是邏輯覆蓋,主要的覆蓋标準有 6 種:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合條件覆蓋和路徑覆蓋。

(1)語句覆蓋。語句覆蓋是指選擇足夠多的測試用例,使得運行這些測試用例時,被測程序的每個語句至少執行一次。 很顯然,語句覆蓋是一種很弱的覆蓋标準。

(2)判定覆蓋。判定覆蓋又稱分支覆蓋,它的含義是,不僅每個語句至少執行一次,而且每個判定的每種可能的結果(分支)都至少執行一次。判定覆蓋比語句覆蓋強,但對程序邏輯的覆蓋程度仍然不高。

(3)條件覆蓋。條件覆蓋的含義是,不僅每個語句至少執行一次,而且使判定表達式中的每個條件都取得各種可能的結果。條件覆蓋不一定包含判定覆蓋,判定覆蓋也不一定包含條件覆蓋。

(4)判定/條件覆蓋。同時滿足判定覆蓋和條件覆蓋的邏輯覆蓋稱為判定/條件覆蓋。

它的含義是,選取足夠的測試用例,使得判定表達式中每個條件的所有可能結果至少出現一

次,而且每個判定本身的所有可能結果也至少出現一次。

(5)條件組合覆蓋。條件組合覆蓋的含義是,選取足夠的測試用例,使得每個判定表達式中條件結果的所有可能組合至少出現一次。

顯然,滿足條件組合覆蓋的測試用例,也一定滿足判定/條件覆蓋。因此,條件組合覆蓋是上述 5 種覆蓋标準中最強的一種。然而,條件組合覆蓋還不能保證程序中所有可能的路徑都至少經過一次。

(6)路徑覆蓋。路徑覆蓋的含義是,選取足夠的測試用例,使得程序的每條可能執行到的路徑都至少經過一次(如果程序中有環路,則要求每條環路路徑至少經過一次)。

2.黑盒測試

黑盒測試,又稱功能測試,主要用于集成測試和确認測試階段。它把軟件看作一個不透明的黑箱子,完全不考慮(或不了解)軟件的内部結構和處理算法,它隻檢查軟件功能是否能按照軟件需求說明書的要求正常使用,軟件是否能适當地接收輸入數據并産生正确的輸出信息,軟件運行過程中能否保持外部信息(例如文件和數據庫)的完整性等。

黑盒測試根據軟件需求說明書所規定的功能來設計測試用例,它不考慮軟件的内部結構和處理算法。

黑盒測試和白盒測試的基本原理(軟件測試的種類)1

常用的黑盒測試技術包括等價類劃分、邊值分析、錯誤推測和因果圖等。

(1)等價類劃分

在設計測試用例時,等價類劃分是用得最多的一種黑盒測試方法。

所謂等價類就是某個輸入域的集合,對于一個等價類中的輸入值來說,它們揭示程序中錯誤

的作用是等效的。也就是說,如果等價類中的一個輸入數據能檢測出一個錯誤,那麼等價類

中的其他輸入數據也能檢測出同一個錯誤;反之,如果等價類中的一個輸入數據不能檢測出

某個錯誤,那麼等價類中的其他輸入數據也不能檢測出這一錯誤(除非這個等價類的某個子

集還屬于另一等價類)。

無效等價類是用來測試非正常的輸入數據的,因此每個無效等價類

都有可能查出軟件中的錯誤,所以要為每個無效等價類設計一個測試用例。

(2)邊值分析

經驗表明,軟件在處理邊界情況時最容易出錯。設計一些測試用例,使軟件恰好運行在邊界附近,暴露出軟件錯誤的可能性會更大一些。

通常,每一個等價類的邊界,都應該着重測試,選取的測試數據應該恰好等于、稍小于或稍大于邊界值。

(3)錯誤推測

錯誤推測法主要依靠測試人員的經驗和直覺,從各種可能的測試方案中選出一些最可能引起程序出錯的方案。

(4)因果圖

因果圖法是根據輸入條件與輸出結果之間的因果關系來設計測試用例的,它首先檢查輸入條件的各種組合情況,并找出輸出結果對輸入條件的依賴關系,然後為每種輸出條件的組合設計測試用例。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
地下城與勇士60版本區别
地下城與勇士60版本區别
《地下城與勇士》60版本時間太長了,長到鬼泣應該多次調整。以前60版本玩的可開心了,打僵屍轉職都是給3000金币請等級高的幫忙刷圖。我當時玩的鬼劍士,同學都是選的劍魂和狂戰,我就不想跟風,玩了鬼泣,然後發現刷圖是真慢啊。打天空之城的時候,噬...
2024-10-13
重慶公交站可以掃碼支付嗎
重慶公交站可以掃碼支付嗎
相信最近很多親坐公交刷卡的時候都被公交車上突然改變的刷卡機器弄糊塗了可能刷了半天都刷不起因為錯了地方這時候司機師傅就會提示公交卡刷上邊那很多小夥伴兒就會疑問了上邊兒刷公交卡中間顯示刷卡金額和卡内餘額那下面半截是幹嘛的呀?答案是:刷手機的!在...
2024-10-13
麥迪運動手環大的
麥迪運動手環大的
一代籃球迷們的青春回憶麥迪最近又來中國了,退役之後麥迪是一年兩趟中國行,基本上把這當成自己第二個故鄉。也許是因為在火箭隊長時間和姚明搭檔,共同創造過隊史22連勝,也許是因為在12-13賽季加盟過CBA,中國球迷對麥迪總有一種“自己人”的感情...
2024-10-13
電腦的配置基本知識及參數
電腦的配置基本知識及參數
本文從CPU、顯卡、内存、主闆、硬盤等電腦硬件進行介紹,其中包括各種品牌、參數及性能等方面進行比較。小編帶你了解最全的電腦配置知識,對電腦不熟悉的網友們注意了,電腦知識掌握其實很簡單哦。一、處理器CPU知識①CPU的分類CPU品牌有兩大陣營...
2024-10-13
excel裡自己怎麼制作二維碼
excel裡自己怎麼制作二維碼
現在我們的日常生活和工作當中可能都少不了微信,到街上買東西都有可能是使用在線支付,今天小編想跟大家分享的是在Excel表格中如何制作專屬自己的頭條号的二維碼:一、制作普通二維碼(帶顯示文字、網頁)1、點擊開發工具—插入—其他控件2、找到Mi...
2024-10-13
Copyright 2023-2024 - www.tftnews.com All Rights Reserved