歡迎訪問 中國軟件工程網 http://www.rjgc.net
第一次聽說灰盒測試,是在金蝶上班的時候,那時候老大讓我們研究灰盒測試,當時一頭霧水。來阿里工作一年多自己感覺現在做的工作有點像灰盒測試,于是總結了一下,拿出來給大家分享。
MILY: 宋體; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋體; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在測試領域眾所周知存在黑盒測試和白盒測試,黑盒測試更多是在集成測試階段進行只關注應用是否符合需求,而不關心代碼設計的結構,方式,方法。而白盒測試是針對黑盒測試提出的,前提是知道軟件產品內部工作過程。通過測試來檢測軟件產品內部動作是否按照規格說明書的規定正常進行,通常是在單元測試階段進行。那么做了這兩種測試是否覆蓋了軟件測試的全部內容,即是否就能保證產品的質量呢。其實是不一定的,或者說如果靠這兩種方法來覆蓋,投入的代價是比較大的。譬如目前很火的OPEN API的測試,譬如對具備軟件平臺性質產品的測試。因為通過黑盒手工測試是很難完成的,而白盒測試是在單元測試進行的,顯然對產品的測試帶來很大的局限性,它也無法測試到產品在集成過程中帶來的問題。那么灰盒測試就有它出現的必然性,這就是所謂存在就是合理的。
灰盒測試的特性:
1. 灰盒測試通常是在集成測試前期進行的;液袦y試通常在程序員做完白盒測試之后(有些書上認為白盒測試是由測試人員進行的,我覺得純屬理想主義),在功能測試人員進行大規模集成測試之前進行的。
2. 灰盒測試是需要了解代碼工程的實現的
3. 灰盒測試是通過類似白盒測試的方法進行的,也就是說和白盒測試的方法是相同的,是通過編寫代碼,調用函數或者封裝好的接口進行的。
4. 灰盒測試是由測試人員進行測試的。
灰盒測試和白盒測試的區別
1. 測試的時段不同,白盒測試在單元測試階段進行,灰盒測試在集成測試前期進行
2. 測試的關注對象不同,白盒測試更關注內部實現是否按照規格說明書進行,灰盒測試除了需要關注白盒測試關注的內容還更多從業務層面去考慮問題,考慮更多的組合測試業務場景。
3. 范圍不同,白盒測試更關注單個代碼段,函數的正確性,灰盒測試的對象已經基本能完成一個完整的業務功能。
4. 灰盒測試的代碼比較獨立,不像白盒測試基本上和程序代碼需要做到一一對應。
灰盒測試和白盒測試的相同點
1. 目的相同
2. 方法相同,都是需要通過代碼來實現
3. 對測試人員素質要求相同
灰盒測試和黑盒測試的不同點
1. 測試的方法不同。
2. 對測試人員要求不同;液袦y試要求比較強的編程能力。
3. 測試范圍不同,關注的對象不同,黑盒測試是覆蓋產品范圍最廣的測試,是灰盒測試無法取代的。但是灰盒測試是可以被黑盒替代的,只是代價比較大,需要很多的測試用例。
灰盒測試和黑盒測試的相同點
1. 目的相同
2. 測試所處的時間段相近。