軟件測試的方法和技術是多種多樣的。
對于軟件測試技術,可以從不同的角度加以分類:
從是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試。
從測試是否針對系統(tǒng)的內部結構和具體實現(xiàn)算法的角度來看,可分為白盒測試和黑盒測試;
1、黑盒測試
黑盒測試也稱功能測試或數(shù)據(jù)驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)鋸而產生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用于軟件確認測試。 “黑盒”法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試!昂诤小狈ㄊ歉F舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
2、白盒測試
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。
“白盒”法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試!鞍缀小狈ㄊ歉F舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規(guī)范,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關的錯誤。
軟件人員使用白盒測試方法,主要想對程序模塊進行如下的檢查:
– 對程序模塊的所有獨立的執(zhí)行路徑至少測試一次;
– 對所有的邏輯判定,取 “ 真 ” 與取 “ 假 ” 的兩種情況都至少測試一次;
– 在循環(huán)的邊界和運行界限內執(zhí)行循環(huán)體;
– 測試內部數(shù)據(jù)結構的有效性,等。
具體包含的邏輯覆蓋有:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋以及路徑覆蓋。
3、灰盒測試
灰盒測試,確實是介于二者之間的,可以這樣理解,灰盒測試關注輸出對于輸入的正確性,同時也關注內部表現(xiàn),但這種關注不象白盒那樣詳細、完整,只是通過一些表征性的現(xiàn)象、事件、標志來判斷內部的運行狀態(tài),有時候輸出是正確的,但內部其實已經(jīng)錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。
灰盒測試結合了白盒測試盒黑盒測試的要素.它考慮了用戶端、特定的系統(tǒng)知識和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評價應用軟件的設計。
灰盒測試由方法和工具組成,這些方法和工具取材于應用程序的內部知識盒與之交互的環(huán)境,能夠用于黑盒測試以增強測試效率、錯誤發(fā)現(xiàn)和錯誤分析的效率。
灰盒測試涉及輸入和輸出,但使用關于代碼和程序操作等通常在測試人員視野之外的信息設計測試。
4、ALAC(Act-like-a-customer)測試
ALAC測試是一種基于客戶使用產品的知識開發(fā)出來的測試方法。ALAC測試是基于復雜的軟件產品有許多錯誤的原則。最大的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。
相關推薦:推薦:2010年計算機軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |