標籤:style blog http color strong 資料 2014 問題
軟體測試方法
軟體測試方法種類繁多,從不同的角度上去劃分,可以劃分為以下常用方法:
一、軟體測試分類
下面我本文主要談論的是白盒測試、黑箱測試盒和灰盒測試。
二、軟體測試定義
白盒測試:在測試類別書籍中,白盒測試有多種稱法,如玻璃盒測試,透明盒測試,開放盒測試,結構化測試,基於代碼的測試,邏輯驅動測試等。白盒測試是一種測試案例設計方法,在這裡盒子指的是被測試的軟體,白盒,顧名思義即盒子是可視的,你可以清楚盒子內部的東西以及裡面是如何運作的,因此白盒測試需要你對系統內部的結構和工作原理有一個清楚的瞭解,並且基於這個知識來設計你的用例。
黑箱測試:又叫功能測試,這是因為在黑箱測試中,主要關注於被測軟體的功能實現,而不是內部邏輯。
黑箱測試發現以下類型的錯誤:
1)功能錯誤或遺漏
2)介面錯誤
3)資料結構或外部資料庫訪問錯誤
4)效能錯誤
5)初始化和終止錯誤。
灰盒測試:介於白盒和灰盒之間的測試。最常見的灰盒測試時整合測試。
(1)白盒測試和黑箱測試的優缺點比較:
比較 |
優點 |
缺點 |
白盒測試 |
迫使測試人員仔細的思考軟體的實現。 可以檢測代碼中的每條分支和路徑。 揭示隱藏在代碼中的錯誤。 對代碼的測試比較徹底。 最佳化。 |
昂貴。 無法測試代碼中遺漏的路徑和資料敏感性錯誤。 不驗證規格的正確性。 |
黑箱測試 |
測試效率高。 測試人員不需要瞭解詳細的細節,包括特定的程式設計語言。 測試人員和編碼人員是彼此獨立的。 從使用者的視角進行測試,很容易被大家理解和接受。 有助於暴露任何規格不一致或有歧義的問題。 測試案例可以在規格完成之後馬上進行。 |
只有一小部分可能的輸入被測試到,要測試每個可能的資料流幾乎是不可能的。 沒有清晰和簡明的規格,測試案例是很難設計的。 如何測試人員不被告知開發人員已經執行過的用例,在測試資料上會存在不必要的重複。 會有很多程式路徑沒有被測試到。 不能直接針對特定的程式段,這些程式可能非常複雜(因此可能隱藏更多的問題)。 |
通過白盒測試與黑箱測試的比較,可以看出,白盒和黑盒這兩類測試的出發點是不同的:
白盒測試考慮的是測試軟體的代碼,它不保證完整的需求規格是否被滿足。
而黑箱測試只考慮需求規格,它不保證實現的所有部分是否被測試到。黑箱測試會發現遺漏的缺陷,指出規格的部分沒有被完成。
(2)黑盒和白盒測試的常用技術
黑盒和白盒測試的常用技術,參考下面的圖中內容。
三、參考資料:
我推薦2篇部落格:個人看來後覺得人家總結的更專業,更好,值得我去學習,在這裡分享給大家。
軟體測試方法大匯總——小坦克:http://www.cnblogs.com/TankXiao/archive/2012/02/20/2347016.html#undefined
軟體測試方法匯總:http://www.360doc.com/content/11/0613/14/54470_126627944.shtml