按測試手段來分類
測試時對象可見度:黑盒測試、白盒測試
根據狀態:靜態測試、動態測試
測試執行的方式:手工測試、自動化測試
黑盒測試
在測試中把我們被測試的系統或者軟體看成一個不能打開的盒子,在完全不考慮程序內部結構和內部特性的情況下,通過相關暴露出來的接口來對程序進行測試,黑盒測試只檢查程序的功能是否按照我們需求規格說明的規定能夠正常的使用,程序是否能夠適當的接收數據並產生正確的輸出信息。
黑盒測試著眼於程序的外部結構不考慮內部的邏輯。一般來說針對軟體外面的界面或者可見的功能來進行測試。
黑盒測試更多的從用戶的視角通過不同的數據和事件驅動我們的系統,並通過輸出結果進行判斷。
黑盒測試的優缺點
優點:
1、 容易實施,不需要關注內部的實現2、 更貼近用戶的使用角度
缺點:
1、 測試覆蓋率較低,一般只能覆蓋到代碼量的不到40%(系統不可見,因為不了解內部的實現,很多邏輯分支我們不清楚,所以測試很難覆蓋到這些分支)2、 針對黑盒的自動化測試,復用率較低,維護成本較高(黑盒測試最關注的功能,軟體產品在研發的迭代時期最經常變化的是功能,重複的利用率比較低,經常變化腳本的維護成本比較高)
黑盒測試的主要設計方法
等價類劃分法:針對程序有很對的輸入條件,把所有的輸入當中等價的歸為一類,這樣最後會形成若干典型的代表性的輸入,通過這些典型的數據進行測試用例的設計。
邊界值分析法:對輸入或輸出的邊界值進行測試
錯誤推測法:基於經驗或者直覺來判斷程序中可能出現錯誤的地方,從而針對性的設計用例的方法。
因果圖法: 拿到程序的需求規格說明書,針對每一種輸入和輸出在因果圖中看成原因和結果,對輸入和輸出賦以特定的標識符,然後將這些情況形成因果圖。
白盒測試
測試人員對內部結構非常了解,邏輯結構對測試人員是透明的,又稱為結構化測試和透明盒測試,針對程序的邏輯結構設計測試用例,用邏輯的覆蓋率衡量測試的完整性。
主要的邏輯單元:語句,條件,條件組合,分支,路徑
白盒測試的優缺點:
優點:
1、 迫使測試人員去仔細思考軟體的實現,理解原理2、 可以檢測代碼中的每條分支和路徑3、 揭示隱藏在代碼中的錯誤4、 對代碼的測試比較徹底
缺點:
1、 昂貴(較高的覆蓋率,工作量大)2、 無法檢測代碼中遺漏的路徑和數據敏感性錯誤(無法發現少寫的邏輯)3、不能直接驗證需求的正確性(針對代碼層次)
白盒測試的主要測試方法
代碼檢測法:主要包括桌面檢查、代碼審查,主要檢查代碼和設計的一致性。
靜態結構分析法:測試者通過使用測試工具來分析原始碼的系統結構、數據結構,內部的控制邏輯。通過內部的結構設計測試用例
靜態質量度量法:根據標準的質量模型,構造質量的度量模型用以評估軟體的各個方面的要素
邏輯覆蓋法:語句覆蓋,條件覆蓋,條件組合覆蓋,分支覆蓋(判定覆蓋),路徑覆蓋,條件和判定的組合覆蓋
基本路徑測試法:白盒測試中非常主要的測試方法,在程序控制流圖的基礎上通過分析控制構造的圈複雜度(在軟體測試的概念裡,圈複雜度用來衡量一個模塊判定結構的複雜程度,數量上表現為獨立線性路徑條數,即合理的預防錯誤所需測試的最少路徑條數。圈複雜度大說明程序代碼可能質量低且難於測試和維護,根據經驗,程序的可能錯誤和高的圈複雜度有著很大關係。)找出基本可執行的路徑的集合進而設計測試用例的方法
灰盒測試
介於黑、白測試之間的,關注輸出對於輸入的正確性,同時也關注內部表現
靜態測試
靜態測試是指無須執行被測程序,而是通過評審軟體文檔或代碼,度量程序靜態複雜度,檢查軟體是否符合編程標準,藉以發現編寫的程序的不足之處,減少錯誤出現的概率。
方法:互相審查,走查,會議
動態測試
動態測試是指通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率、正確性和健壯性等。
手工測試
由專門的測試人員從用戶視角來驗證軟體是否滿足設計要求的行為。更適合針對深度的測試和強調主觀判斷的測試。
自動化測試
使用單獨的測試工具軟體控制測試的自動化執行以及對預期和結果進行自動檢查。
單元測試、接口測試、性能測試等
作者:折翼的天使zyz
來源:慕課網
著作權歸原作者所有,如有侵權請立即與我們聯繫,我們將及時處理。