1.被测项目界面
2.测试用例设计表
等价类测试:
等价类的划分的几个依据:1. 按照区间划分2. 按照数值划分3. 按照数值集合划分4. 按照限制条件或规格划分。
其中,按照限制条件和规格划分可分为四种:弱一般等价类测试,强一般等价类测试,弱健壮等价类测试,强健壮等价类测试。“弱”是指遵循单缺陷原则 ,“强”是指遵循多缺陷原则,”健壮”是指考虑无效值 。
弱一般等价类测试:考虑单缺陷假设 ,测试用例使用每个等价类中的一个值
强一般等价类测试:考虑多缺陷假设,测试用例集合为等价类笛卡儿积
弱健壮等价类测试:考虑单缺陷假设、无效值,对于有效输入,使用每个有效类的一个值,对于无效输入,使用一个无效值,并保持其余的值都有效的
强健壮等价类测试:考虑多缺陷假设、无效值,从所有等价类(包括若干无效等价类)笛卡儿乘积中选取
使用输出确定等价类:R1={等腰三角形},R2={等边三角形},R3={直角三角形},R4={一般三角形},R5{不构成三角形}。
弱一般等价类测试用例(强一般等价类)
测试用例 | a | b | c | 预期输出 | 实际输出 |
S1 | 2 | 2 | 3 | 等腰三角形 | 等腰三角形 |
S2 | 3 | 3 | 3 | 等边三角形 | 等腰三角形 |
S3 | 3 | 4 | 5 | 直角三角形 | 直角三角形 |
S4 | 3 | 4 | 6 | 一般三角形 | 一般三角形 |
S5 | 1 | 5 | 3 | 不构成三角形 | 不构成三角形 |
弱健壮等价类测试用例(考虑a,b,c的无效值)
测试用例 | a | b | c | 预期输出 | 实际输出 |
Q1 | -1 | 2 | 2 | 边的值不在范围内 | 边的值不在范围内 |
Q2 | 2 | -1 | 2 | 边的值不在范围内 | 边的值不在范围内 |
Q3 | 2 | 2 | -1 | 边的值不在范围内 | 边的值不在范围内 |
Q4 | 101 | 2 | 2 | 边的值不在范围内 | 边的值不在范围内 |
Q5 | 2 | 101 | 2 | 边的值不在范围内 | 边的值不在范围内 |
Q6 | 2 | 2 | 101 | 边的值不在范围内 | 边的值不在范围内 |
强健壮等价类测试的用例( 考虑a,b,c的组合无效值)
测试用例 | a | b | c | 预期输出 | 实际输出 |
X1 | -1 | 2 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X2 | 2 | -1 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X3 | 2 | 2 | -1 | 边的值不在范围内 | 边的值不在范围内 |
X4 | -1 | -1 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X5 | 2 | -1 | -1 | 边的值不在范围内 | 边的值不在范围内 |
X6 | -1 | 2 | -1 | 边的值不在范围内 | 边的值不在范围内 |
X7 | -1 | -1 | -1 | 边的值不在范围内 | 边的值不在范围内 |
X8 | 101 | 2 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X9 | 2 | 101 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X10 | 2 | 2 | 101 | 边的值不在范围内 | 边的值不在范围内 |
X11 | 101 | 101 | 2 | 边的值不在范围内 | 边的值不在范围内 |
X12 | 2 | 101 | 101 | 边的值不在范围内 | 边的值不在范围内 |
X13 | 101 | 2 | 101 | 边的值不在范围内 | 边的值不在范围内 |
X14 | 101 | 101 | 101 | 边的值不在范围内 | 边的值不在范围内 |
边界值测试:
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
测试用例 | a | b | c | 预期输出 | 实际输出 |
Z1 | 1 | 50 | 50 | 等腰三角形 | 等腰三角形 |
Z2 | 2 | 50 | 50 | 等腰三角形 | 等腰三角形 |
Z3 | 99 | 50 | 50 | 等腰三角形 | 等腰三角形 |
Z4 | 100 | 50 | 50 | 不构成三角形 | 不构成三角形 |
Z5 | 50 | 1 | 50 | 等腰三角形 | 等腰三角形 |
Z6 | 50 | 2 | 50 | 等腰三角形 | 等腰三角形 |
Z7 | 50 | 99 | 50 | 等腰三角形 | 等腰三角形 |
Z8 | 50 | 100 | 50 | 不构成三角形 | 不构成三角形 |
Z9 | 50 | 50 | 1 | 等腰三角形 | 等腰三角形 |
Z10 | 50 | 50 | 2 | 等腰三角形 | 等腰三角形 |
Z11 | 50 | 50 | 99 | 等腰三角形 | 等腰三角形 |
Z12 | 50 | 50 | 100 | 不构成三角形 | 不构成三角形 |
Z13 | 50 | 50 | 50 | 等边三角形 | 等腰三角形 |
基于决策表的测试:
也称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具,由条件桩,条件项,动作桩,动作项组成。
条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。
动作项:列出在条件项的各种取值情况下应该采取的动作。
规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。
将具有相同动作,并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则
1.列出条件桩:C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b? C5:a=c? C6:b=c?
2.列出动作桩: 等腰三角形 等边三角形 非等边三角形 不构成三角形 不可能
决策表:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
a+b>c? | F | T | T | T | T | T | T | T | T | T | T |
a+c>b? | - | F | T | T | T | T | T | T | T | T | T |
b+c>a? | - | - | F | T | T | T | T | T | T | T | T |
a=b? | - | - | - | T | T | T | F | T | F | F | F |
b=c? | - | - | - | T | T | F | T | F | F | T | F |
a=c? | - | - | - | T | F | T | T | F | T | F | F |
等腰三角形 |
|
|
|
| X | X | X |
|
|
|
|
等边三角形 |
|
|
| X |
|
|
|
|
|
|
|
非等边三角形 |
|
|
|
|
|
|
|
|
|
| X |
不构成三角形 | X | X | X |
|
|
|
|
|
|
|
|
不可能 |
|
|
|
|
|
|
| X | X | X |
|
测试用例表:
测试用例 | a | b | c | 预期输出 | 实际输出 |
J1 | 5 | 1 | 2 | 不构成三角形 | 不构成三角形 |
J2 | 1 | 5 | 2 | 不构成三角形 | 不构成三角形 |
J3 | 1 | 2 | 5 | 不构成三角形 | 不构成三角形 |
J4 | 5 | 5 | 5 | 等边三角形 | 等腰三角形 |
J5 | 2 | 2 | 3 | 等腰三角形 | 等腰三角形 |
J6 | 2 | 3 | 2 | 等腰三角形 | 等腰三角形 |
J7 | 3 | 2 | 2 | 等腰三角形 | 等腰三角形 |
J8 | ? | ? | ? | 不可能 | 不可能 |
J9 | ? | ? | ? | 不可能 | 不可能 |
J10 | ? | ? | ? | 不可能 | 不可能 |
J11 | 3 | 4 | 5 | 非等边三角形 | 非等边三角形 |
3.测试结论
输入值预期结果为等边三角形时总是输出等腰三角形
4.给开发同学的建议
判断等腰三角形条件改为(a-b)*(a-c)*(b-c)==0