实验2 黑盒测试方法:等价类划分法+边界值分析方法
一、实验目的
- 掌握等价类、有效等价类、无效等价类、边界值等概念。
- 掌握边界值分析法、等价类划分法的测试用例设计方法。
- 能够将这两种方法结合起来,灵活运用
二、实验任务
以下三个任务、至少完成一个
1、对三角问题综合运用边界值分析方法、等价类划分方法设计测试用例。
三角形问题:void Triangle (int a, int b, int c)函数规定输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出。1<=a,b,c<=200。
实验步骤:
输入变量 | 输出类型 | 有效等价类 | 无效等价类 | |
a,b,c | 不确定 |
| 一个边为非正整数 | (10)a为非正整数 |
(11)b为非正整数 | ||||
(12)c为非正整数 | ||||
两个边为非正整数 | (13)ab为非正整数 | |||
(14)ac为非正整数 | ||||
(15)bc为非正整数 | ||||
三个边都为非正整数 | (16)abc为非正整数 | |||
一般三角形 |
| (17)a+b<c | ||
| (18)a+c<b | |||
| (19)a>b+c | |||
等腰三角形 | (6)a=b!=c | |||
(7)a=c!=b | ||||
(8)b=c!=a | ||||
等边三角形 | (9)a=b=c |
- 划分等价类,得到等价类表。等价类表格式如下:
- 分析边界值:
边界值 | a | b | c |
[1,200] | [1,200] | [1,200] | [1,200] |
- 综合运用这两种方法设测试用例,得到测试用例表:
等价类测试用例ID | a | b | c | 预期输出 | 覆盖等价类 |
T1 | 5 | 5 | 9 | 一般三角形 | (1)(2)(3) |
T2 | 2 | 3 | 4 | 一般三角形 | (1)(2)(4) |
T3 | 5 | 3 | 4 | 一般三角形 | (1)(2)(5) |
T4 | 2 | 2 | 3 | 等腰三角形 | (1)(2)(6) |
T5 | 4 | 5 | 4 | 等腰三角形 | (1)(2)(7) |
T6 | 10 | 7 | 7 | 等腰三角形 | (1)(2)(8) |
T7 | 5 | 5 | 5 | 等边三角形 | (1)(2)(9) |
T8 | 0 | 1 | 1 | 输入无效 | (10) |
T9 | 1 | 0 | 1 | 输入无效 | (11) |
T10 | 1 | 1 | 0 | 输入无效 | (12) |
T11 | 0 | 0 | 2 | 输入无效 | (13) |
T12 | 0 | 2 | 0 | 输入无效 | (14) |
T13 | 2 | 0 | 0 | 输入无效 | (15) |
T14 | 0 | 0 | 0 | 输入无效 | (16) |
T15 | 1 | 1 | 3 | 构不成三角形 | (17) |
T16 | 1 | 5 | 3 | 构不成三角形 | (18) |
T17 | 6 | 2 | 3 | 构不成三角形 | (19) |
边界值测试用例ID | a | b | c | 预期输出 |
T1 | 1 | 1 | 1 | 等边三角形 |
T2 | 0 | 1 | 1 | 输入无效 |
T3 | 1 | 0 | 1 | 输入无效 |
T4 | 1 | 1 | 0 | 输入无效 |
T5 | 100 | 120 | 150 | 等腰三角形 |
T6 | 200 | 200 | 200 | 等边三角形 |
T7 | 201 | 200 | 200 | 输入无效 |
T8 | 200 | 201 | 200 | 输入无效 |
T9 | 200 | 200 | 201 | 输入无效 |
T10 | 201 | 201 | 201 | 输入无效 |
- 根据上述测试用例表,能否进行优化,获得最小测试用例集合:
测试用例ID | a | b | c | 预期输出 | 覆盖等价类 |
T1 | 5 | 5 | 9 | 一般三角形 | (1)(2)(3) |
T2 | 2 | 3 | 4 | 一般三角形 | (1)(2)(4) |
T3 | 5 | 3 | 4 | 一般三角形 | (1)(2)(5) |
T4 | 2 | 2 | 3 | 等腰三角形 | (1)(2)(6) |
T5 | 4 | 5 | 4 | 等腰三角形 | (1)(2)(7) |
T6 | 10 | 7 | 7 | 等腰三角形 | (1)(2)(8) |
T7 | 5 | 5 | 5 | 等边三角形 | (1)(2)(9) |
T8 | 0 | 1 | 1 | 输入无效 | (10) |
T9 | 1 | 0 | 1 | 输入无效 | (11) |
T10 | 1 | 1 | 0 | 输入无效 | (12) |
T11 | 0 | 0 | 2 | 输入无效 | (13) |
T12 | 0 | 2 | 0 | 输入无效 | (14) |
T13 | 2 | 0 | 0 | 输入无效 | (15) |
T14 | 0 | 0 | 0 | 输入无效 | (16) |
T15 | 1 | 1 | 3 | 构不成三角形 | (17) |
T16 | 1 | 5 | 3 | 构不成三角形 | (18) |
T17 | 6 | 2 | 3 | 构不成三角形 | (19) |
T18 | 201 | 200 | 200 | 输入无效 | \ |
T19 | 200 | 201 | 200 | 输入无效 | \ |
T20 | 200 | 200 | 201 | 输入无效 | \ |
T21 | 201 | 201 | 201 | 输入无效 | \ |
2、对于找零钱最佳组合问题运用边界值分析法设计测试用例。实验步骤:
- 分析边界值。
- 运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
- 执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
3、现有一个程序int CheckTel(char *rc, char *n)执行电话号码有效性检查功能,中国的固定电话号码由两部分组成。这两部分的名称和内容分别是:
- 地区码(rc):以0开头的三位或者四位数字(包括0)。
- 电话号码(n):以非0、非1开头的七位或者八位数字。
对该程序进行边界值分析,然后进行等价类划分,分别运用边界值条件、等价类划分的结果来设计测试用例,并尽可能优化所设计的测试用例。
实验步骤:同上,注意考虑内部边界值。