黑盒測試:也稱爲功能測試、數據驅動測試、或者基於規格說明的測試,測試這不須要了解程序內部狀況,只知道程序的輸入和輸出和系統的功能,這是從用戶角度對程序進行的測試。算法
白盒測試:也稱爲結構性測試、邏輯驅動測試或者基於程序本省的測試,它重於程序內部結構和算法,一般不包括功能和性能指標,白盒測試是一種基於對源碼的控制結構、處理過程等進行分析,檢查程序內部處理是否正確,包括異常處理、語句結果,分支,循環結構等,白盒測試通常是以單元或者模塊爲基礎;
白盒測試主要測試方法爲:
一、語句覆蓋:使程序中的每一個語句至少都被覆蓋一次
二、斷定覆蓋:使程序中每一個斷定至少爲真或者爲假各一次
三、條件覆蓋:使斷定中每一個條件得到各類可能的結果
四、斷定/條件覆蓋:同時知足判斷覆蓋和條件覆蓋
五、條件組合覆蓋:使的每一個斷定中條件的各類可能組合至少出現一次。ide
灰盒測試:
是基於程序運行時外部表現同時又結合程序內部邏輯結果來設計用例,執行程序並採集程序執行信息和外部用戶外部接口結果的測試技術,這種測試技術介於黑盒測試和白盒測試之間,灰盒測試由方法和工具組成,這些方法和工具取材於應用程序的內部知識和與之交互的環境,可以用於黑盒測試以加強測試效率,錯誤發現和錯誤案例分析的效率(接口測試屬於灰盒測試)。函數
靜態測試:不運行代碼,靜態的檢查程序代碼、界面或者文檔可能存在的錯誤過程,包括代碼評審、UI界面檢查、需求規則說明書,用戶手冊檢查。
動態測試:運行被測試的代碼,輸入相應的測試數據,檢查輸出結果是否和預期結果一致。工具
單元測試:
對被測軟件的函數,模塊進行測試,是測試的最少粒度。性能
集成測試:
主要測試軟件結構的問題,測試是創建在模塊接口上的,因此多爲接口測試輔以白盒測試,集成測試是組裝軟件的系統測試技術,按照設計要求把經過單元測試的各個模塊組裝在一塊兒,進行綜合測試以便發現發現與接口相關的各類錯誤。
執行集成測試應該遵循下面的方法:
一、確認組成一個完整系統模塊之間的關係。
二、評審模塊之間交互和通訊需求,確認出模塊間的接口。
三、使用上述信息產生一套測試用例。
四、採用增量式測試,依次將模塊加入到系統,並測試新合併後的系統,這個過程以一個邏輯/功能順序重複進行,直至全部模塊被功能集成進來造成完整的系統爲止。
集成測試遵循的原則:
集成測試很很差把握,應針對整體設計儘早開始籌劃
一、全部公共接口都要被測試到。
二、關鍵模塊必須進行充分測試。
三、集成測試應當按照必定的層次進行。
四、集成測試的策略選擇應當綜合考慮質量,成本和進度之間的關係。
五、集成測試應當儘早開始,並以整體設計爲基礎。
六、在模塊與接口劃分上,測試人員應當和開發人員進行充分溝通。
七、當接口發生修改時,涉及的相關接口必須進行再次測試。
八、測試執行結果應當如實記錄。單元測試
系統測試:
集成測試經過後,軟件組裝成了一個完整的軟件包,這時就要進行系統測試,系統測試徹底採用黑盒測試技術,系統測試採用的數據儘量模擬真實數據同樣準確和有表明性。測試
驗收測試:
系統測試完成之後,軟件已徹底組裝起來,這時能夠開始對軟件進行最後的確認測試,確認測試主要檢查軟件可否按合同要求進行工做,便是否知足軟件需求規則說明書的中的要求。
驗收測試着重考慮軟件是否知足合同規定的全部功能和性能,文檔資料是否完整,準確,人機界面和其餘方面(例如:可移植性,兼容性,錯誤恢復能力和可維護性)是否知足客戶要求。
驗收測試能夠採用α,β測試。設計
迴歸測試:在對軟件新版本測試,重複執行上一個版本測試時使用的測試用例。接口
冒煙測試:對每個新編譯的須要正式測試的軟件確認軟件基本功能正常,冒煙執行人員通常爲版本編譯人員或其餘研發人員。開發
隨機測試:在測試中,測試數據是隨機產生的,也叫猴子測試(monkey test)。隨機測試的一些缺點:一、測試每每不太真實。二、不能達到必定的覆蓋率。三、許多測試都是冗餘的。四、須要使用一樣的隨機種子才能重建測試。這種隨機測試在不少時候沒有多大的用處,每每被用來做爲「防崩潰」的手段,或者被用來驗證系統在遭受到不利影響時的可否保持正常,能夠以此方法來考察系統的健壯性,防止生成大量垃圾數據等手段。--摘錄自《精通軟件性能測試與loadrunner最佳實戰》