模糊測試 黑盒測試 白盒測試 滲透測試

2021-09-25 05:59:45 字數 1825 閱讀 2392

模糊測試 (fuzz testing, fuzzing)是一種軟體測試技術。其核心思想是自動或半自動的生成隨機資料輸入到乙個程式中,並監視程式異常,如崩潰,斷言(assertion)失敗,以發現可能的程式錯誤,比如記憶體洩漏。模糊測試常常用於檢測軟體或計算機系統的安全漏洞。

模糊測試的實現是乙個非常簡單的過程:

1、準備乙份插入程式中的正確的檔案。

2、用隨機資料替換該檔案的某些部分。

3、用程式開啟檔案。

4、觀察破壞了什麼。

可以用任意多種方式改變該隨機資料。例如,可以將整個檔案打亂,而不是僅替換其中的一部分,也可以將該檔案限制為 ascii 文字或非零位元組。不管用什麼方式進行分割,關鍵是將大量隨機資料放入應用程式並觀察出故障的是什麼。

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑盒測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。

黑盒測試是以使用者的角度,從輸入資料與輸出資料的對應關係出發進行測試的。很明顯,如果外部特性本身設計有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。

以上是度娘的概念,簡單來說,黑盒測試就是在不知道程式具體內容的情況下,按規定內的資料(格式)輸入,檢查是否能達到預期的經過程式正常處理的效果,找到出現非預期結果的那些錯誤。(一般不會窮舉,所以沒找到並不等於完全安全)

黑盒測試的主要作用:

黑盒測試法注重於測試軟體的功能需求,主要試圖發現下列幾類錯誤。

1.功能不正確或遺漏;

2.介面錯誤;

3.輸入和輸出錯誤;

4.資料庫訪問錯誤;

5.效能錯誤;

6.初始化和終止錯誤等。

白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。"白盒"法全面了解程式內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。

滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網路系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從乙個攻擊者可能存在的位置來進行的,並且從這個位置有條件主動利用安全漏洞。

換句話來說,滲透測試是指滲透人員在不同的位置(比如從內網、從外網等位置)利用各種手段對某個特定網路進行測試,以期發現和挖掘系統中存在的漏洞,然後輸出滲透測試報告,並提交給網路所有者。網路所有者根據滲透人員提供的滲透測試報告,可以清晰知曉系統中存在的安全隱患和問題。

滲透測試方法分類

1、黑箱測試

黑箱測試又被稱為所謂的「zero-knowledge testing」,滲透者完全處於對系統一無所知的狀態,通常這型別測試,最初的資訊獲取來自於dns、web、email及各種公開對外的伺服器。

2、白盒測試

白盒測試與黑箱測試恰恰相反,測試者可以通過正常渠道向被測單位取得各種資料,包括網路拓撲、員工資料甚至**或其它程式的**片斷,也能夠與單位的其它員工(銷售、程式設計師、管理者……)進行面對面的溝通。這類測試的目的是模擬企業內部雇員的越權操作。

3、隱秘測試

隱秘測試是對被測單位而言的,通常情況下,接受滲透測試的單位網路管理部門會收到通知:在某些時段進行測試。因此能夠監測網路**現的變化。但隱秘測試則被測單位也僅有極少數人知曉測試的存在,因此能夠有效地檢驗單位中的資訊保安事件監控、響應、恢復做得是否到位。

黑盒測試 白盒測試

黑盒測試 black box testing,又稱為功能測試或資料驅動測試 是把測試物件看作乙個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟體產品的功能,不需測試軟體產品的內部結構和處理過程。黑盒測試注重於測試軟體的功能性需求,也即黑盒測試使軟體工程師派生出執行程式所有功能需求的輸入條件。黑盒測...

黑盒測試和白盒測試

任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟體的黑盒測試意味著測試要在軟體的介面...

白盒測試與黑盒測試

1白盒測試 定義 透明的,可以看見內部結構的,按照程式內部邏輯結構和編碼結構設計測試資料並完成測試的一種測試方法。分類 靜態測試和動態測試 邏輯覆蓋 語句覆蓋 每一條語句至少被執行一次 語句覆蓋是最弱的邏輯覆蓋 判定覆蓋 每乙個分支至少通過一次即每一條分支語句的 真 值和 假 值都至少執行一次。判定...