参数类的测试是很常见的测试点,如何利用四步走完成参数类测试设计呢?
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.根据经验补充测试用例
哪里容易出问题,是否有需要注意补充的点。
这里的内容我自己消化了好久才消化掉,整理了以上的内容。想最大程度的让它更易懂和可用~~
一定要自己懂,才能说才能写~