黑盒測試與白盒測試區別

  黑盒測試

  黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,並且保持外部信息(如數據庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用於軟件確認測試。 “黑盒”法着眼於程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作爲測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
白盒測試

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

  “白盒”法全面瞭解程序內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯着手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規範,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。

軟件人員使用白盒測試方法,主要想對程序模塊進行如下的檢查: 
– 對程序模塊的所有獨立的執行路徑至少測試一次;
– 對所有的邏輯判定,取 “ 真 ” 與取 “ 假 ” 的兩種情況都至少測試一次; 
– 在循環的邊界和運行界限內執行循環體;
– 測試內部數據結構的有效性,等。 
具體包含的邏輯覆蓋有: – 語句覆蓋 – 判定覆蓋 – 條件覆蓋 – 判定-條件覆蓋 – 條件組合覆蓋 – 路徑覆蓋。

白盒測試技術 (White Box Testing) : 深入到代碼一級的測試,使用這種技術發現問題最早,效果也是最好的。該技術主要的特徵是測試對象進入了代碼內部,根據開發人員對代碼和對程序的熟悉程度,對有需要的部分進行在軟件編碼階段,開發人員根據自己對代碼的理解和接觸所進行的軟件測試叫做白盒測試。這一階段測試以軟件開發人員爲主,在 JAVA 平臺使用 Xunit 系列工具進行測試, Xunit 測試工具是類一級的測試工具對每一個類和該類的方法進行測試。 

黑盒測試技術( Black Box Testing ):黑盒測試的內容主要有以下幾個方面,但是主要還是功能部分。主要是覆蓋全部的功能,可以結合兼容,性能測試等方面進行,根據軟件需求,設計文檔,模擬客戶場景隨系統進行實際的測試,這種測試技術是使用最多的測試技術涵蓋了測試的方方面面,可以考慮以下方面 

c正確性 (Correctness) :計算結果,命名等方面。 

d可用性 (Usability) :是否可以滿足軟件的需求說明。 

e邊界條件 (Boundary Condition) :輸入部分的邊界值,就是使用一般書中說的等價類劃分,試試最大最小和非法數據等等。 

f性能 (Performance) : 正常使用的時間內系統完成一個任務需要的時間,多人同時使用的時候響應時間在可以接受範圍內。 J2EE 技術實現的系統在性能方面更是需要照顧的,一般原則是 3 秒以下接受, 3-5 秒可以接受, 5 秒以上就影響易用性了。如果在測試過程中發現性能問題,修復起來是非常艱難的,因爲這常常意味着程序的算法不好,結構不好,或者設計有問題。因此在產品開發的開始階段,就要考慮到軟件的性能問題 

g壓力測試 (Stress) : 多用戶情況可以考慮使用壓力測試工具,建議將壓力和性能測試結合起來進行。如果有負載平衡的話還要在服務器端打開監測工具 , 查看服務器 CPU 使用率,內存佔用情況,如果有必要可以模擬大量數據輸入,對硬盤的影響等等信息。如果有必要的話必須進行性能優化 ( 軟硬件都可以 ) 。這裏的壓力測試針對的是某幾項功能。 

h錯誤恢復 (Error Recovery) :錯誤處理,頁面數據驗證,包括突然間斷電,輸入髒數據等。 

i安全性測試 (Security) :這個領域正在研究中,防火牆、補丁包、殺毒軟件等的就不必說了,不過可以考慮。破壞性測試時任意看了一些資料後得知 , 這裏面設計到的知識 \ 內容可以寫本書了 , 不是一兩句可以說清的,特別是一些商務網站,或者跟錢有關,或者和公司祕密有關的 web 更是需要這方面的測試,在外國有一種專門幹這一行的人叫安全顧問,可以審覈代碼,提出安全建議,出現緊急事件時的處理辦法等,在國內沒有聽說哪裏有專門搞安全技術測試的內容。 

j 兼容性 (Compatibility) :不同瀏覽器,不同應用程序版本在實現功能時的表現不同的上網方式,如果你測試的是一個公共網站的話。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章