基于逻辑覆盖的方法
白盒测试中,测试用例可以用基于逻辑覆盖的方法设计,即语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。花了不少时间弄清楚,mark,这里还是以三角形判断方法为例。
关于三角形判断方法的程序流程图
约定:为方便起见,每个语句以编号代替(如图)
编号 | 语句 | 说明 |
---|---|---|
J1 | a<0 || b<0 || c<0 | |
J2 | a>100 || b>100|| c>100 | |
J3 | a+b>c && b+c>a && a+c>b | |
J4 | a==b && b==c | |
J5 | a==b || b==c || c==a | |
S0 | 输入三角形三边abc | 程序开始 |
S1 | 非法输入 | 三角形类型值为-1 |
S2 | 非三角形 | 三角形类型值为0 |
S3 | 等边三角形 | 三角形类型值为3 |
S4 | 等腰三角形 | 三角形类型值为2 |
S5 | 普通三角形 | 三角形类型值为1 |
S6 | 输出三角行类型 | 程序结束 |
这里只列出有意义的测试用例。
语句覆盖
使每个语句都执行一次,即将三角形的类型值都输出一遍。
编号 | 测试用例 | 期望输出 | 覆盖语句 | |
---|---|---|---|---|
T1 | -1 5 5 | -1 | 非法输入 | S1 |
T2 | 12 5 5 | 0 | 非三角形 | S2 |
T3 | 5 5 5 | 3 | 等边三角形 | S3 |
T4 | 4 5 5 | 2 | 等腰三角形 | S4 |
T5 | 3 4 5 | 1 | 普通三角形 | S5 |
判定覆盖
测试用例使每个判定的所有可能结果至少执行一次。
编号 | 测试用例 | 输出 | J1 | J2 | J3 | J4 | J5 |
---|---|---|---|---|---|---|---|
T1</ |