黑盒测试 白盒测试 题
习题1
为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。
语句覆盖
原则覆盖程序中所有可执行的语句
设计的测试用例如下
| 编号 | 输入项 | 执行语句 | 
|---|---|---|
| ① | 执行语句3 | |
| ② | 执行语句2 | |
| ③ | 执行语句1 | 
判定覆盖
覆盖所有的路径
设计的测试用例如下
| 编号 | 输入项 | 覆盖的分支 | 
|---|---|---|
| ① | b->f | |
| ② | y->e | |
| ③ | a->d | |
| ④ | a->c | 
条件覆盖
判定的每个条件的可能值至少满足一次
对取值进行标记
| 判定 | 条件 | 取值标记 (true) | 取值标记(false) | 
|---|---|---|---|
| x>8 and y>5 | x > 8 | T1 | -T1 | 
| y>5 | T2 | -T2 | |
| x>16 or y > 10 | x > 16 | T3 | -T3 | 
| y > 10 | T4 | -T4 | |
| x > 0 or y > 0 | x > 0 | T5 | -T5 | 
| y > 0 | T6 | -T6 | 
产生测试用例
原则 对产生的的判定中的每个原则都要满足
| 测试用例 | 执行路径 | 覆盖条件 | 覆盖分支 | 
|---|---|---|---|
| b->f | T1 T2 T3 T4 | b分支 f分支 | |
| b->e | T1 T2 -T3 -T4 | b分支 e分支 | |
| a->d | -T1 -T2 T5 T6 | a分支 d分支 | |
| a->c | -T1 -T2 -T5 -T6 | a分支 c分支 | 
判定条件覆盖
将判定覆盖和条件覆盖结合,使得判定中的每个条件的所有取值至少满足一次。同时每个判定的结果至少出现一次。将判定覆盖和条件覆盖相结合
结果如下;
| 测试用例 | 执行路径 | 覆盖条件 | 覆盖分支 | 
|---|---|---|---|
| b->f | T1 T2 T3 T4 | b分支 f分支 | |
| b->e | T1 T2 -T3 -T4 | b分支 e分支 | |
| a->d | -T1 -T2 T5 T6 | a分支 d分支 | |
| a->c | -T1 -T2 -T5 -T6 | a分支 c分支 | 
组合覆盖
每一个判定的所有可能的条件取值的组合
取值标记
| 判定 | 条件 | 取值标记 (true) | 取值标记(false) | 
|---|---|---|---|
| x>8 and y>5 | x > 8 | T1 | -T1 | 
| y>5 | T2 | -T2 | |
| x>16 or y > 10 | x > 16 | T3 | -T3 | 
| y > 10 | T4 | -T4 | |
| x > 0 or y > 0 | x > 0 | T5 | -T5 | 
| y > 0 | T6 | -T6 | 
取分支
| 序号 | 条件 | 取的分支 | 
|---|---|---|
| ① | T1 T2 | 第一个分支取真 | 
| ② | T1 -T2 | 第一个分支取假 | 
| ③ | -T1 T2 | 第一个分支取假 | 
| ④ | -T1 -T2 | 第一个分支取假 | 
| ⑤ | T3 T4 | 第二个分支取真 | 
| ⑥ | T3 -T4 | 第二个分支取真 | 
| ⑦ | -T3 T4 | 第二个分支取真 | 
| ⑧ | -T3 -T4 | 第二个分支取假 | 
| ⑨ | T5 T6 | 第三个分支取真 | 
| ⑩ | T5 -T6 | 第三个分支取真 | 
| 十一 | -T5 T6 | 第三个分支取真 | 
| 十二 | -T5 -T6 | 第三个分支取假 | 
生成测试用例
| 测试用例 | 覆盖组合号 | 覆盖的路径 | 
|---|---|---|
| 1 and 5 | b->f | |
| 1 and 6 | b -> f | |
| 1 and 7 | b -> f | |
| 1 and 8 | b -> e | |
| 2 and 9 | a -> d | |
| 3 and 10 | a -> d | |
| 4 and 11 | a -> d | |
| 4 and 12 | a -> c | 
路径覆盖
要求路径全部覆盖
| 测试用例 | 覆盖组合号 | 覆盖的路径 | 
|---|---|---|
| 1 and 5 | b->f | |
| 1 and 8 | b -> e | |
| 2 and 9 | a -> d | |
| 4 and 12 | a -> c | 
习题2
某城市电话号码由三部分组成,分别是:
地区码—— 空白或三位数字;
前 缀—— 非‘0’或‘1’开头的三位数字;
后 缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。
请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。
选用的测试
准备选择场景发进行测试,理由如下
- 该软件是采用事件触发用来控制流程
- 使用场景法较为简单
- 该软件逻辑清晰,备选分支不是很多
绘制场景图

编写测试用例
地区码测试
| 编号 | 输入 | 说明 | 
|---|---|---|
| 1 | 空 | 对应输入地区码为空 | 
| 2 | 000 | 对应数字输入3位数字地区码 | 
| 3 | www | 对应输入非数字地区码 | 
前缀测试
| 编号 | 输入 | 说明 | 
|---|---|---|
| 1 | 222 | 非0 1 开头的三位数字 | 
| 2 | 022 | 0开头三位数字 | 
| 3 | 122 | 1开头三位数字 | 
| 4 | 0222 | 0开头非三位数字 | 
| 5 | 1 | 1开头的非三位数字 | 
| 6 | 1w | 1开头非数字内容 | 
| 7 | 0w | 0开头非数字内容 | 
| 8 | 34324 | 非0 1 开头的非三位数字 | 
| 9 | w | 非0 1 开头的非数字 | 
后缀测试
| 编号 | 输入 | 说明 | 
|---|---|---|
| 1 | 0000 | 4位后缀数字 | 
| 2 | 0 | 非4位数字 | 
| 3 | 空 | 非数字内容 | 

www.iming.info
    在无知的道路上缓步前行
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号