1、等價類划分法
(1)簡介
- 等價類就是某個輸入域的子集。
- 等價類划分法是把所有可能的輸入數據集合划分成若干個子集,每個子集內的元素對於揭露程序中的錯誤都是等效的,在每個等價類中取一兩個數據作為測試的輸入數據即可,這樣就可以用少量代表性的測試數據取得較好的測試效果。
- 等價類又划分為 “有效等價類” 和 “無效等價類”。
- 有效等價類,就是符合需求規格說明書要求的合理、有意義的輸入數據集合。利用有效等價類可檢驗程序是否完整實現了需求所規定的功能以及功能的實現是否正確符合預期。(簡言之,有效等價類校驗功能是否做完了且做得是否正確。)
- 無效等價類,與有效等價類恰好相反。無效等價類是指那些不合理的、無意義的輸入數據所構成的集合。這類測試數據可反向驗證功能的正確性和程序的容錯處理。
(2)設計用例步驟
- 第一步、依據需求規格說明書,確定輸入數據的范圍。
- 第二步、將輸入數據的范圍划分成若干個互無交集的有效等價類。接着確定無效等價類包含的輸入數據。
- 第三步、分別從每個等價類中提取一兩個有代表性的數據作為測試數據。一般的,每提取出一個數據就可設計一條測試用例,或根據實際業務需求用最少數量的用例覆蓋最多的測試場景。
(3)舉例
- 例子1、測試聊天功能的內容輸入框:可輸入文本,最多只能輸入100個字符。
- 第一步、確定輸入數據的范圍:文本。
- 第二步、划分等價類。
- 有效等價類
編號 | 等價類 | 取值 |
1 | 數字 | 正數、負數、整數、小數、零 |
2 | 漢字 | 簡體、繁體 |
3 | 字母 | 大寫、小寫 |
4 | 符號 | 中文符號、英文符號 |
5 | 表情 | 符號表情、圖像表情 |
6 | 他國語言 | 韓語、日語、英語 |
-
- 無效等價類
編號 | 等價類 | 取值 |
1 | 特殊符號 | 空格、回車 |
2 | 超過100個字符 | 200個字符 |
- 第三步、根據划分的等價類編寫測試
- (說明:以下測試用例只是為了快速示意,並不是標准的測試用例書寫方式。)
編號 | 輸入數據 | 預期結果 |
case1 | 正數 | 發送者:可輸入和發送成功 |
case2 | 負數 | |
case3 | 整數 | |
case4 | 小數 | |
case5 | 零 | |
case6 | 簡體 | |
case7 | 繁體 | |
case8 | 大寫 | |
case9 | 小寫 | |
case10 | 中文符合 | |
case11 | 英文符合 | |
case12 | 符號表情 | |
case13 | 圖片表情 | |
case14 | 韓語 | |
case15 | 日語 | |
case16 | 空格 | 發送者:發送失敗並提示 |
case17 | 回車 | |
case18 | 輸入超出長度:200 | 超出的字符自動屏蔽輸入 |
2、邊界值分析法
(1)簡介
- 邊界值分析是通過選取指定數據域的“上點”“內點”“離點”來測試輸入或輸出的邊界。
- 上點:就是邊界上的點,無論域是開區間還是閉區間。若是開區間,上點在域外;若是閉區間,上點就在域內。
- 離點:是指離“上點”最近得點,這里跟待測數據域是閉區間還是開區間有關系。如果是開區間,那么離點就在域內;如果是閉區間,那么離點就在域外。
- 內點:域內的任意點都是內點。
(2)設計用例步驟
- 第一步、確定測試域。
- 第二步、選取“上點”“內點”“離點”。
- 第三步、每個“上點”和“離點”就是一條用例,“內點”可選取代表性的中點創建一條用例。
(3)舉例
- 例子1、測試聊天功能的內容輸入框:可輸入文本,最多只能輸入100個字符。
- (我們繼續使用“例子1”來說明,對其補充測試點。)
- 第一步、“最多只能輸入100個字符”可確定輸入的長度范圍,用閉區間[1,100] 或 半開區間(0,100]表示。
- 第二步、[1,100]的上點:1、100,內點:50,離點:0,101;
- (0,100]的上點:0,100,內點:50,離點:1,101。
- 可以看到兩種不同的區間表示方式,最終取到的測試數據都是一樣的。
- 第三步、根據選取的點編寫測試用例。
編號 | 輸入數據 | 預期結果 |
case19 | 1個字符 | 發送者:可輸入和發送成功 接收者:可接收和顯示正確 |
case20 | 100個字符 | |
case21 | 50個字符 | |
case22 | 0(什么也不輸入) | 發送者:發送失敗並提示 |
case23 | 101個字符 | 超出的字符自動屏蔽輸入 |