您好,登錄后才能下訂單哦!
大家好,我是十一。
今天我們聊聊測試的種類-黑白灰測試。那測試到底怎么分類呢?
直接上圖吧,我為大家精心準備了個大圖,要認真看哦~來之不易~
注:功能測試部分是按照重要程度以及先后順序做的排序。
乍一看,你的心情是不是這樣式兒的?
圖片來源:百度
莫方哈,其實這張圖只是按照不同緯度給測試分類而已,并不是說明有這么多種測試,重疊部分還是比較多的,但是這張圖呢需要大家理解并牢記的,因為面試、工作都是常用的呢~接下來我們會用豐富的例子帶大家一一理解這張圖。
如題:此篇呢我們講解黑盒、白盒、灰盒測試(所謂黑白灰)的含義以及區別
其他的呢我們都放在后續篇章,用例子一一為大家串講。
好了進入正題。
黑、白、灰三盒測試的含義及區別
根據上圖可以看出按照是否查看內部代碼/結構,我們將軟件測試分為黑盒測試、白盒測試、灰盒測試。
黑盒測試(Black-box Testing)
????黑盒測試又被稱為功能測試、數據驅動測試或基于需求規格說明書的測試,是通過使用整個軟件或某種軟件功能來嚴格地測試。測試中把被測的軟件當成一個黑盒子,不關心盒子的內部結構是什么,只關心軟件的輸入數據與輸出數據。主要針對軟件界面和軟件功能進行測試。
????在黑盒測試中,軟件測試工程師只需要知道軟件要做什么-而無法看到盒子里的軟件是如何運行的。只要進行一些輸入,就能得到某種輸出結果。來個例子:我們對QQ的登陸功能進行測試,那賬戶名輸入11,密碼輸入11(此用戶不存在),如下圖所示
然后點擊“登陸”按鈕,那么QQ彈出如下窗口:
這就是一個典型的黑盒測試,屬于黑盒測試中的業務邏輯測試,這個測試的輸入輸出如下:
|
通過輸入輸出消息來和需求說明書做對照,看是否一致,如果一致則通過,如果不一致則失敗。(當然登陸的測試不是這么簡單,我們這里只是以其中一個點舉例,不要著急哦,我會慢慢帶你學習的~)
白盒測試(White-box Testing)
????白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。白盒指的打開盒子,去研究里面的源代碼和程序結果。
無論是單元測試還是代碼檢查都不屬于初級測試工程師的工作范圍。這部分工作一般由軟件開發工程師來完成,由開發小組自行編寫單元測試、代碼檢查以及兩者的審查的工作。現在也有些工具可以做簡單的審查,比如sonar、go等等。總之,哪種情況都可以,只要適合自身情況即可。
在這里我們不做具體描述以及用例展示。
圖片來源:文庫
灰盒測試(Gray-Box Testing)
????灰盒測試,是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程序的內部邏輯,常常是通過一些表征性的現象、事件、標志來判斷內部的運行狀態。
那灰盒和白盒到底有啥不同?
測試的時段不同:白盒測試在單元測試階段進行,灰盒測試在集成測試前期進行
測試的關注對象不同:白盒測試更關注內部實現是否按照規格說明書進行,灰盒測試除了需要關注白盒測試關注的內容還更多從業務層面去考慮問題,考慮更多的組合測試業務場景。
范圍不同:白盒測試更關注單個代碼段,函數的正確性,灰盒測試的對象已經基本能完成一個完整的業務功能。
代碼是否獨立:灰盒測試的代碼比較獨立,不像白盒測試基本上和程序代碼需要做到一一對應。
這部分同樣也是做簡單了解即可。對于入門的人來說灰盒和白盒都還為時過早。只需要知道:
黑盒測試不需要關注代碼和程序內部結構,白盒和灰盒需要。
白盒關注單個代碼對,函數的正確性,需要和程序代碼做一一對應;而灰盒測試重點關注的還是整個的業務功能。
舉例
最后舉個簡單例子對黑盒測試、白盒測試、灰盒測試做對比說明。
寶寶玩兒機器人,玩兒的正高興,突然機器人不動了,怎么按也不動,于是: 寶貝:媽媽~我機器人不動了。 我:打開開關了嗎?自己反復打開開關,依然沒反應,于是得出結論,機器人壞了,需要買個新的機器人了。 這一幕剛好被爸爸聽到, 爸爸:我來看看,于是拿著工具箱,拆開電池部分, 1.嗯,換個新電池,還是不能工作 2.拆開機器人的螺絲部分,檢查線路,線路連接都好著呢,沒有松動呀 最終爸爸得出:嗯,是壞了,我們買個新的吧. 此時爺爺回來了,說我來看看吧,爺爺拿著他的電筆,開始一根根線路的檢測,終于哦,找到了,這個線接觸不好了,換個線吧,換個線后機器人終于開動了。 |
大家很明了了吧,如上故事里:
作為媽媽的我就是一個黑盒測試:打開電源,查看是否能工作;只根據輸入輸出進行表象測試
爸爸呢是灰盒測試:打開機器人,查看內部結構,但是只對線路連接部分進行了檢測
厲害的爺爺呢就是白盒測試了:打開機器人,查看每個線路連接、每個線路是否能正常工作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。