軟件測試
介紹
黑盒測試
等價類劃分:
將輸入數據劃分為若干個等價類,每個等價類中的數據被認為是等效的。測試時,只需要從每個等價類中選取一個代表性的值進行測試,這樣可以減少測試用例的數量。等價類分為有效等價類和無效等價類,有效等價類是指符合程序規格說明的數據,而無效等價類則不符合。
邊界值分析:
用于補充等價類劃分的測試設計技術,它專注于測試輸入或輸出值的邊界條件。邊界值分析認為錯誤更可能發生在輸入或輸出值的邊界上,因此測試邊界值附近的數據。通常,邊界值分析會測試邊界值本身以及邊界值的兩側。
決策表:
一種表格化的測試設計技術,用于描述復雜的業務邏輯和規則。它列出了所有可能的條件組合和相應的動作,幫助測試者識別測試用例。決策表通常用于復雜的條件判斷和多條件組合的測試。
因果圖:
一種圖形化的測試設計技術,用于表示輸入條件(原因)和輸出結果(結果)之間的關系。它幫助測試者理解復雜的邏輯關系,并從中派生出測試用例。因果圖通過邏輯運算符(如AND、OR)來表示條件之間的邏輯關系。
正交測試:
一種系統化測試設計方法,用于生成測試用例,確保測試的全面性和有效性。它通過正交表來確定測試用例,每個測試用例覆蓋了所有因素的組合,但測試用例的數量遠少于全組合。正交測試可以有效地發現軟件中的錯誤。
場景測試:
一種基于用戶操作序列的測試設計技術,它模擬用戶的實際使用場景。場景測試關注于用戶與系統交互的流程,以及在這個過程中可能遇到的問題。它有助于發現界面和流程上的問題。
基于FSM(有限狀態機)模型的測試:
一種描述系統狀態和狀態之間轉換的模型。基于FSM模型的測試關注于系統的狀態轉換是否正確,以及在特定狀態下的行為是否符合預期。這種測試方法適用于那些具有明顯狀態和狀態轉換的系統。
白盒測試
語句覆蓋 判定覆蓋 條件覆蓋 判定條件覆蓋 條件組合覆蓋,這些都是覆蓋各類型的語句的測試方法
---------- 以下是路徑覆蓋 ----------
基路徑測試
圈復雜度=獨立路徑數=每個語句執行的上界
獨立路徑即每一次都有新的結點OR路徑加入 圈復雜度計算公式:
- 邊數-結點數+端點數(常為2,若頭尾相接則為1)
- 判定結點數+1
- 區域數(除全連接圖,圈外也是一個區域)
循環體測試
-
簡單
0,1,M(經典次數),N-1,N,N+1(健壯型,給出報錯信息)
-
嵌套
- 先最外層為最小(為0 OR 1具體情況具體分析,異常值也試)
- 從最內層開始(按簡單的套路來)
- 向外進行,外層保持最小,內層用經典值
-
獨立連續
每個獨立地測試
-
交叉連鎖
非結構,不能測試,建議重新設計程序結構
-
Z路徑測試
所有循環體視為有(1次)和無
數據流測試
- 設置符號,d k u
- 在控制流圖中標注變量
- 在路徑中寫出數據流:d->u->k