參數類的測試是很常見的測試點,如何利用四步走完成參數類測試設計呢?
1.建模--使用“輸入輸出表”,分析一個測試點:在某種條件下,特定的輸入會有怎樣的輸出。
條件 | 輸入 | 輸出 | ||||
測試點1 | 測試點2 | |||||
條件1 |
參數1 | 參數2 | 參數3 | 參數4 | 參數5 | 輸出1 |
條件2 | 參數6 | 參數7 | 參數8 | 參數9 | 參數10 | 輸出2 |
...... |
“輸入輸出表”適合測試點的多個參數之間存在相互關係,需要對這些參數進行“組合”分析的情況。
舉例看一下:
參數 | 參數值1 | 參數值2 |
認證方式(用戶) | PAP | CHAP |
認證方式(L1) | PAP | CHAP |
認證方式(L2) | PAP | CHAP |
認證規則(用戶和L2) | 強制CHAP | 重認證 |
約束條件:
- 用戶,L1,L2的認證方式一致,才能認證通過;
- 用戶和L2如果爲強制CHAP,用戶必須爲CHAP;
- 認證順序:用戶-->L1->L2,只要有一個認證失敗,整個認證都失敗,失敗後不會進行後續的認證。
排列組合得到結果:
輸入 | 輸出 | 說明 | ||||
認證方式(用戶) | 認證方式(L1) | 認證方式(L2) | 認證規則(用戶-L2) | |||
1 | PAP | PAP | PAP | 強制CHAP | 不通過 | 用戶和L2認證規則,因L1是PAP,所以強制CHAP失敗 |
2 | PAP | PAP | CHAP | 強制CHAP | 不通過 | L2的認證方式和L1的不同,所以失敗 |
3 | PAP | CHAP | PAP | 強制CHAP | 不通過 | L1的認證方式和用戶的不同,所以失敗 |
4 | PAP | CHAP | CHAP | 強制CHAP | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
5 | CHAP | PAP | PAP | 強制CHAP | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
6 | CHAP | PAP | CHAP | 強制CHAP | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
7 | CHAP | CHAP | PAP | 強制CHAP | 不通過 | L2的認證方式和L1的不同,所以失敗,和2重複 |
8 | CHAP | CHAP | CHAP | 強制CHAP | 通過 | |
9 | PAP | PAP | PAP | 重認證 | 通過 | |
10 | PAP | PAP | CHAP | 重認證 | 不通過 | L2的認證方式和L1的不同,所以失敗,和2重複 |
11 | PAP | CHAP | PAP | 重認證 | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
12 | PAP | CHAP | CHAP | 重認證 | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
13 | CHAP | PAP | PAP | 重認證 | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
14 | CHAP | PAP | CHAP | 重認證 | 不通過 | L1的認證方式和用戶的不同,所以失敗,和3重複 |
15 | CHAP | CHAP | PAP | 重認證 | 不通過 | L2的認證方式和L1的不同,所以失敗,和2重複 |
16 | CHAP | CHAP | CHAP | 重認證 | 通過 |
整理表格,去掉重複的內容,可以得到最終的“輸入-輸出表”
輸入 | 輸出 | 說明 | ||||
認證方式(用戶) | 認證方式(L1) | 認證方式(L2) | 認證規則(用戶-L2) | |||
1 | PAP | PAP | PAP | 強制CHAP | 不通過 | 用戶和L2認證規則,因L1是PAP,所以強制CHAP失敗 |
2 | PAP | PAP | CHAP | 強制CHAP | 不通過 | L2的認證方式和L1的不同,所以失敗 |
3 | PAP | CHAP | PAP | 強制CHAP | 不通過 | L1的認證方式和用戶的不同,所以失敗 |
4 | CHAP | CHAP | CHAP | 強制CHAP | 通過 | |
5 | PAP | PAP | PAP | 重認證 | 通過 | |
6 | CHAP | CHAP | CHAP | 重認證 | 通過 |
2.覆蓋“輸入-輸出表”完成測試用例
我們在建立“輸入-輸出表”的時候,會充分考慮各個參數之間的關係和它們的約束條件,並逐一的分析,做到了1000%的覆蓋,所以,表中的每一行都作爲一個測試用例。
3.根據經驗補充測試用例
哪裏容易出問題,是否有需要注意補充的點。
這裏的內容我自己消化了好久才消化掉,整理了以上的內容。想最大程度的讓它更易懂和可用~~
一定要自己懂,才能說才能寫~