石 家 庄 铁 道 大 学
实 验 报 告
实验项目名称:实验一
一、 实验目的
- 掌握黑盒测试的基础知识;
- 掌握黑盒测试的检查内容及测试目的;
- 掌握黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法和决策表法;
二、 实验内容
1、 设计函数实现输入日期显示星期几,并用等价类及边界值法测试
2、 找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
3、有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
假设一个中国的航空公司规定:
① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。
② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。
③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影
④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。
三、 实验步骤及结果
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
实验步骤:
① 设计程序
源程序见学习通平台
② 划分等价类,得到等价类表。等价类表格式如下:
|
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
|
日期格式 |
格式为YYYY-MM-DD |
1 |
格式不为YYYY-MM-DD |
2 |
|
日期范围 |
日期在1900-01-01到2099-12-31之间 |
3 |
日期小于1900-01-01或大于2099-12-31 |
4 |
|
日期有效性 |
日期有效 |
5 |
日期无效 |
6 |
|
月份有效性 |
月份在01到12之间 |
7 |
月份小于01或大于12 |
8 |
|
日期有效性 |
日期符合月份的天数 |
9 |
日期不符合月份的天数 |
10 |
|
闰年二月 |
闰年二月有29天 |
11 |
非闰年二月有28天 |
12 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
|
序号 |
输入数据 |
覆盖等价类 |
输出 |
|
1 |
2023-10-01 |
1,3,5,7,9 |
Sunday |
|
2 |
2023-13-01 |
2,8 |
无效日期 |
|
3 |
abc |
2 |
无效日期 |
|
4 |
1899-12-31 |
4 |
无效日期 |
|
5 |
2100-01-01 |
4 |
无效日期 |
|
6 |
2023-02-28 |
1,3,5,7,9 |
Tuesday |
|
7 |
2024-02-29 |
1,3,5,7,11 |
Thursday |
|
8 |
2023-02-29 |
1, 3, 5, 7, 12 |
无效日期 |
|
9 |
2023-04-31 |
1, 3, 5, 7, 10 |
无效日期 |
|
10 |
2023-06-30 |
1, 3, 5, 7, 9 |
Friday |
|
11 |
2023-07-31 |
1, 3, 5, 7, 9 |
Monday |
|
12 |
2023-11-30 |
1, 3, 5, 7, 9 |
Thursday |
④ 运用边界值法设计测试用例。
|
序号
|
输入数据 |
覆盖边界值 |
预期输出 |
|
1 |
1900-01-01 |
最小日期 |
Monday |
|
2 |
2099-12-31 |
最大日期 |
Wednesday |
|
3 |
2023-01-31 |
1月最大天数 |
Tuesday |
|
4 |
2023-02-28 |
非闰年2月 |
Tuesday |
|
5 |
2024-02-29 |
闰年2月 |
Thursday |
|
6 |
2023-04-30 |
4月最大天数 |
Sunday |
|
7 |
2023-06-30 |
6月最大天数 |
Friday |
|
8 |
2023-09-30 |
9月最大天数 |
Saturday |
|
9 |
2023-11-30 |
11月最大天数 |
Thursday |
2、找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
实验步骤:
① 设计程序
源程序见学习通平台
② 划分等价类,得到等价类表。等价类表格式如下:
|
输入条件
|
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
|
货品价格(R) |
0 < R ≤ 100,且为整数 |
1 |
R ≤ 0 或 R > 100,或 R 不是整数 |
2 |
|
顾客付款(P) |
R ≤ P ≤ 100,且为整数 |
3 |
P < R 或 P > 100,或 P 不是整数 |
4 |
|
找零金额(P-R) |
0 ≤ (P - R) ≤ 100,且为整数 |
5 |
(P - R) < 0 或 (P - R) > 100,或 (P - R) 不是整数 |
6 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
|
序号
|
输入数据 (R, P)
|
覆盖等价类 |
输出 (N50, N10, N5, N1) |
|
1 |
(50, 100) |
1, 3, 5 |
(1, 0, 0, 0) |
|
2 |
(99, 100) |
1, 3, 5 |
(0, 0, 0, 1) |
|
3 |
(0, 100) |
2 |
无效输入 |
|
4 |
(101, 100) |
2 |
无效输入 |
|
5 |
(50, 49) |
4 |
无效输入 |
|
6 |
(50, 101) |
4 |
无效输入 |
|
7 |
(50.5, 100) |
2 |
无效输入 |
|
8 |
(50, 100.5) |
4 |
无效输入 |
④ 运用边界值法设计测试用例。
|
序号 |
输入数据 (R, P) |
覆盖边界值 |
预期输出 (N50, N10, N5, N1) |
|
1 |
(1, 1) |
R=1, P=1 |
(0, 0, 0, 0) |
|
2 |
(100, 100) |
R=100, P=100 |
(0, 0, 0, 0) |
|
3 |
(0, 100) |
R=0 |
无效输入 |
|
4 |
(101, 100) |
R=101 |
无效输入 |
|
5 |
(50, 49) |
P=R-1 |
无效输入 |
|
6 |
(50, 101) |
P=101 |
无效输入 |
|
7 |
(50, 50) |
P=R |
(0, 0, 0, 0) |
|
8 |
(50, 150) |
P=150 |
无效输入 |
3、有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
模拟程序如下:
用因果图法测试该程序,并撰写实验报告。
实验步骤:
① 编写程序
源程序见学习通平台
②分析原因与结果
原因:
投入5角钱
投入1元钱
选择橙汁
选择啤酒
结果:
送出橙汁
送出啤酒
找零5角钱
③画出因果图
⑤ 转化为决策表
|
C1 (5角) |
C2 (1元) |
C3 (橙汁)
|
C4 (啤酒) |
E1 (送出橙汁) |
E2 (送出啤酒) |
E3 (找零5角) |
|
T |
F |
T |
F |
T |
F |
F |
|
T |
F |
F |
T |
F |
T |
F |
|
F |
T |
T |
F |
T |
F |
T |
|
F |
T |
F |
T |
F |
T |
T |
⑥ 根据决策表设计测试用例,得到测试用例表
|
序号 |
输入数据 (投入金额, 选择饮料) |
预期输出 |
|
1 |
(0.5, 橙汁) |
送出橙汁 |
|
2 |
(0.5, 啤酒) |
送出啤酒 |
|
3 |
(1.0, 橙汁) |
|
|
4 |
(1.0, 啤酒) |
送出啤酒,找零5角 |
|
5 |
(0.3, 橙汁) |
请投入至少5角钱 |
|
6 |
(1.5, 橙汁) |
请投入5角或1元 |
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
假设一个中国的航空公司规定:
① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。
② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。
③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影
④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。
请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。
实验步骤:
① 编写程序
源程序见学习通平台
② 构造决策表
|
条件
|
规则 1 |
规则 2 |
规则 3 |
规则 4 |
规则 5 |
规则 6 |
|
航线 |
中国去欧美 |
中国去欧美 |
中国去欧美 |
中国去欧美 |
中国国内 |
中国国内 |
|
舱位 |
商务舱 |
经济舱 |
商务舱 |
经济舱 |
商务舱 |
经济舱 |
|
飞行时间 > 2 小时 |
- |
- |
- |
- |
- |
是 |
|
食物供应 |
有 |
有 |
有 |
有 |
有 |
有 |
|
播放电影 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
③ 根据决策表设计测试用例,得到测试用例表
|
序号 |
输入数据 (航线, 舱位, 飞行时间) |
预期输出 |
结果 |
|
1 |
(中国去欧美, 商务舱, 3) |
有食物供应, 可以播放电影 |
通过 |
|
2 |
(中国去欧美, 经济舱, 3) |
有食物供应, 可以播放电影 |
通过 |
|
3 |
(中国去非欧美, 商务舱, 3) |
有食物供应, 可以播放电影 |
通过 |
|
4 |
(中国去非欧美, 经济舱, 3) |
有食物供应, 不可以播放电影 |
通过 |
|
5 |
(中国国内, 商务舱, 3) |
有食物供应, 不可以播放电影 |
通过 |
|
6 |
(中国国内, 经济舱, 1) |
无食物供应, 不可以播放电影 |
通过 |
|
7 |
(中国国内, 经济舱, 3) |
有食物供应, 不可以播放电影 |
通过 |
5、旅馆住宿系统中,旅馆业主可进行添加房间操作。
–旅馆业主登录旅馆住宿系统后,可以请求添加房间;
–待进入“房间管理”对话框,单击“添加”按钮可进行添加房间操作;
–添加房间时,可以设定房间的房间编号、房间类型、房间描述信息;
–添加房间信息不能缺失,若某一项未填写,要给出提示信息;
–房间编号长度不超过5个字符;
–房间描述长度不超过1000个字符;
–房间信息不能重复,成功填写后,可进行保存或取消操作,之后返回“房间管理”对话框,结束添加房间流程。
|
用例ID |
测试场景 |
输入数据 |
预期结果 |
|
TC-001 |
正常添加 |
所有字段有效 |
添加成功,返回管理界面 |
|
TC-002 |
缺失必填 |
各字段分别缺失 |
对应字段错误提示 |
|
TC-003 |
编号超长 |
编号6字符 |
提示长度超限 |
|
TC-004 |
描述超长 |
描述1001字符 |
提示长度超限 |
|
TC-005 |
重复编号 |
使用已存在编号 |
提示编号重复 |
|
TC-006 |
编号边界 |
5字符/6字符 |
接受/拒绝 |
|
TC-007 |
描述边界 |
1000/1001字符 |
接受/拒绝 |
|
TC-008 |
取消操作 |
填写后取消 |
不保存返回 |
|
TC-009 |
添加后验证 |
成功添加后查看列表 |
新房间正确显示 |
|
TC-0010 |
特殊字符 |
编号含@# |
根据需求提示 |
|
TC-0011 |
非法类型 |
未定义类型 |
提示无效类型 |
四、 个人体会
① 在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;
等价类划分法:将输入域划分为若干等价类,每个等价类中的输入数据具有相同的测试效果。通过选择代表性的测试用例,可以减少测试用例的数量。
边界值分析法:重点关注输入域的边界值,因为边界值往往是错误的高发区。通过测试边界值,可以有效发现潜在的缺陷。
决策表法:通过分析输入条件与输出结果之间的逻辑关系,设计出覆盖所有可能情况的测试用例,确保测试的全面性。
② 在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;
充分性:确保测试用例覆盖了所有的功能需求和业务逻辑,尤其是边界条件和异常情况。通过等价类划分、边界值分析等方法,确保测试用例的全面性。
减少冗余:避免设计重复的测试用例,确保每个测试用例都有其独特的测试目的。可以通过合并相似的测试用例,或者使用参数化测试来减少冗余。
浙公网安备 33010602011771号