灰盒測試
按照測試技術來劃分軟件測試,可以分為白盒測試、黑盒測試,這常見的一種分法。當然也可以分為靜態(tài)測試(靜態(tài)分析技術)和動態(tài)測試。而我想引入的是灰盒測試,雖然在有些資料上已經引入了灰盒測試的概念,但是關于該測試如何實施、針對于特定的項目,如何來設計測試用例呢?好,我們先來看看白盒測試和黑盒測試的概念。
白盒測試(White-box test,有時被翻譯為"白箱測試",又稱"結構測試"):
通過對程序內部結構的分析,檢測來發(fā)現(xiàn)問題。白盒測試是基于程序的內部邏輯結構的測試,所以也被稱為"結構測試"。這種測試首先是拿到程序的源代碼,對源代碼中的控制結構、處理過程等進行分析,檢查程序內部處理是否正確、包括異常處理、語句結構、分支、循環(huán)結構等。很多控制軟件,還要考慮有無冗余的代碼,因為程序"跑飛",可能進入這些代碼而無法再進行正常的執(zhí)行。
黑盒測試(Black-box test,有時被翻譯為"黑箱測試"),原來曾經把黑盒測試也稱為功能測試,現(xiàn)在來看,這種說法已經過時了,因為黑盒測試包括了功能測試,還有其它的測試,例如,性能測試等。黑盒測試是通過軟件的外部表現(xiàn)來發(fā)現(xiàn)其缺陷和錯誤。在測試時,不用關心源代碼,也是不用關心程序內部的結構和處理過程,而是根據(jù)軟件提供我們的用戶接口來進行測試,往往是設計輸入和采集輸出結果,來檢查程序是否按照需求的要求來完成處理。
而如何給灰盒測試下一個定義呢?
灰盒測試是基于程序運行時刻的外部表現(xiàn)同時又結合程序內部邏輯結構來設計用例,執(zhí)行程序并采集程序路徑執(zhí)行信息和外部用戶接口結果的測試技術。
更多……
|