第三章 黑盒测试
1. 分析黑盒测试方法的特点。
黑盒测试又称为功能测试或数据驱动测试,主要针对软件界面、软件功能、外部数据库访问以及软件初始化等方面进行测试。
优点:
- 比较简单,不需要了解程序内部的代码及实现;
- 与软件的内部实现无关;
- 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
- 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
- 在做软件自动化测试时较为方便。
缺点:
- 不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
- 自动化测试的复用性较低。
2. 健壮等价类测试与标准等价类测试的主要区别是什么?
主要区别在于健壮等价类测试在标准等价类的基础上还要进行有效取值范围之外的输入(无效输入)的测试。
3. 试用等价分类法测试党政管理系统中党员出生年月的输入设计是否符合要求,假设出生年月格式为 yyyymmdd。
输入数据 | 有效等价类 | 无效等价类 |
出生年月日 | ①8位数字字符 | ②有非数字字符 ③少于8个数字符 ④多于8个数字符 |
对应数值 | ⑤在-之间 | ⑥< ⑦> |
月份对应数值 | ⑧在1-12之间 | ⑨等于"00 " ⑩>12 |
日期对应值 | 111,3,5,7,8,10,12月在1-31之间 124,6,9,11月在1-30之间 13闰年2月在1-29之间 14非闰年2月在1-28之间 | 15等于"00 " 16>31 172,4,6,9,11月等于"31 " 182月等于"30 " 19非闰年2月等于"29" |
4. 找零钱最佳组合:假设商店货品价格(R)皆不大于 100 元(且为整数),若顾客付款在 100 元内(P),求找给顾客之最少货币个(张)数?(货币面值 50 元(N50),10 元(N10),5 元(N5),1 元(N1)四种。试根据边界值法设计测试用例。
1)分析输入的边界情况:
R > 100 0 < R < = 100 R <= 0
P > 100 R<= P <= 100 P < R
2)分析零钱最佳组合的输出情况:
N50 = 1 N50 = 0
4>N10>= 1 N10 = 0
N5 = 1 N5 = 0
4>N1>= 1 N1 = 0
3)分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时的剩余金额。
R > 100 R <= 0
P > 100 P < R
RR1 >= 50 RR2 >= 10 RR3 >= 5
4)根据上述的输入/输出条件组合出可能的情况:
R > 100
R <= 0
0 < R <= 100, P > 100
0 < R <= 100, P < R
0 < R <= 100, R <= P <= 100, RR = 50
0 < R <= 100, R <= P <= 100, RR = 49
0 < R <= 100, R <= P <= 100, RR = 10
0 < R <= 100, R <= P <= 100, RR = 9
0 < R <= 100, R <= P <= 100, RR = 5
0 < R <= 100, R <= P <= 100, RR = 4
0 < R <= 100, R <= P <= 100, RR = 1
0 < R <= 100, R <= P <= 100, RR = 0
5)为满足以上各种情形,测试用例设计如下:
测试用例 | 货品价格R | 付款金额P |
test1 | 101 | - |
test2 | 0 | - |
test3 | -1 | - |
test4 | 100 | 101 |
test5 | 100 | 99 |
test6 | 50 | 100 |
test7 | 51 | 100 |
test8 | 90 | 100 |
test9 | 91 | 100 |
test10 | 95 | 100 |
test11 | 96 | 100 |
test12 | 99 | 100 |
test13 | 100 | 100 |
5. 试为三角形问题中的直角三角形开发一个决策表和相应的测试用例。注意,会有等腰直角三角形。
c1:a<b+c? | F | T | T | T | T | T | T | T | T | T | T |
c2:b<a+c? | - | F | T | T | T | T | T | T | T | T | T |
c3:c<a+b? | - | - | F | T | T | T | T | T | T | T | T |
c4:a2+b2=c2? | - | - | - | T | T | T | T | F | F | F | F |
c5: a2+c2=b2? | - | - | - | T | T | F | F | T | T | F | F |
c6: b2+c2=a2? | - | - | - | T | F | T | F | T | F | T | F |
a1:非三角形 | X | X | X | ||||||||
a2:直角三角形 | X | X | X | ||||||||
a3:非直角三角形 | X | ||||||||||
a4:不可能 | X | X | X | X |
用例ID | a | b | c | 预期输出 |
DT1 | 4 | 1 | 2 | 非三角形 |
DT2 | 1 | 4 | 2 | 非三角形 |
DT3 | 1 | 2 | 4 | 非三角形 |
DT4 | ? | ? | ? | 不可能 |
DT5 | ? | ? | ? | 不可能 |
DT6 | ? | ? | ? | 不可能 |
DT7 | 3 | 4 | 5 | 直角三角形 |
DT8 | ? | ? | ? | 不可能 |
DT9 | 3 | 5 | 4 | 直角三角形 |
DT10 | 5 | 3 | 4 | 直角三角形 |
DT11 | 2 | 3 | 4 | 非直角三角形 |
6. 现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有 80 个字符的记录组成,所有记录分为 3 组,如图:
(1)标题:该组只有一个记录,其内容是成绩报告的名字。
(2)各题的标准答案:每个记录均在第 80 个字符处标以数字 2。该组的记录:
第一个记录:第 1~3 个字符为试题数(1~999)。第 10~59 个字符是 1~50 题的标准答案(每个合法字符表示一个答案)。
第二个记录:是第 51~100 题的标准答案。
…….
(3)学生的答案:每个记录均在第 80 个字符处标以数字 3。每个学生的答卷在若干个记录中给出。
学号:1~9 个字符
1~50 题的答案:10~59。当大于 50 题时,在第二、三、……个记录中给出。
学生人数不超过 200,试题数不超过 999。
程序的输出有 4 个报告:
a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告。
d)试题分析报告。按试题号排序,列出各题学生答对的百分比。
采用边界值分析方法,分析和设计测试用例。分别考虑输入条件和输出条件,以及边界条件。采用错误推测法补充设计一些测试用例。