实验项目名称:实验一 黑盒测试
一、 实验目的
1、 掌握黑盒测试的基础知识;
2、 掌握黑盒测试的检查内容及测试目的;
3、 掌握黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法、决策表法和场景法;
二、 实验内容
实验题目:
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
2、找零钱最佳组合
3、饮料自动售货机控制处理软件
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
5、旅馆住宿系统中,旅馆业主可进行添加房间操作。
三、 实验步骤及结果
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
实验步骤:
设计程序
划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
年 |
年>0 |
1 |
年<=0 |
7 |
月 |
1<=月<=12 |
2 |
月<1 |
8 |
|
|
|
月>12 |
9 |
日 |
月=1/3/5/7/8/10/12 1<=日<=31 |
3 |
月=1/3/5/7/8/10/12 日<1 日>31 |
10 11 |
|
月=4/6/9/11 1<=日<=30 |
4 |
月=4/6/9/11 日<1 日>30 |
12 13 |
|
闰年 月=2 1<=日<=29 |
5 |
闰年 月=2 日<1 日>29 |
14 15 |
|
平年 月=2 1<=日<=28 |
6 |
平年 月=2 日<1 日>28 |
16 17 |
运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
2022,5,31 |
1,2,3 |
星期二 |
2 |
2020,4,30 |
1,2,4 |
星期四 |
3 |
2000,2,29 |
1,2,5 |
星期二 |
4 |
1999,2,28 |
1,2,6 |
星期日 |
5 |
0000,12,20 |
7,2,3 |
错误 |
6 |
1988,0,4 |
1,8 |
错误 |
7 |
2024,13,10 |
1,9 |
错误 |
8 |
2020-7-0 |
1,2,10 |
错误 |
9 |
2021,5,32 |
1,2,11 |
错误 |
10 |
1999,4,0 |
1,2,12 |
错误 |
11 |
2023,9,31 |
1,2,13 |
错误 |
12 |
2004,2,0 |
1,2,14 |
错误 |
13 |
2008,2,30 |
1,2,15 |
错误 |
14 |
1999,2,0 |
1,2,16 |
错误 |
15 |
2023,2,29 |
1,2,17 |
错误 |
运用边界值法设计测试用例。
{<1,6,23>,<2,6,23>,<2000,1,23>,<2000,2,23>,<2000,11,23>,<2000,12,23>,<2000,6,23>,<2000,6,1>,<2000,6,2>,<2000,5,30>,<2000,5,31>,<2000,6,29>,<2000,6,30>,<2000,2,28>,<2000,2,29>,<1999,2,27>,<1999,2,28>}
2、找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
实验步骤:
设计程序
划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
商品价格 |
0<=R<=100 |
1 |
R<0或R>100 |
3 |
|
|
|
R非数字 |
4 |
顾客付款 |
0<=P<=100 |
2 |
P<0或P>100 |
5 |
|
|
|
P非数字 |
6 |
|
|
|
R>P |
7 |
运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
R=50,P=60 |
1,2 |
10元一张 |
2 |
R=110,P=20 |
2,3 |
输入价格无效 |
3 |
R=d,P=20 |
2,4 |
输入价格无效 |
4 |
R=50,P=120 |
1,5 |
输入支付金额无效 |
5 |
R=20,P=d |
1,6 |
输入支付金额无效 |
6 |
R=60,P=20 |
1,7 |
顾客付款小于商品价格 |
运用边界值法设计测试用例。
{<1,1>,<2,2>,<99,50>,<100,50>,<60,50>,<60,1>,<60,2>,<100,99>,<100,100> }
7 |
R=99,P=100 |
1,2 |
一元一张 |
8 |
R=101,P=102 |
3,5 |
无效输入 |
9 |
R=-1,P=1 |
2,3 |
无效输入 |
3、有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
模拟程序如下:
用因果图法测试该程序,并撰写实验报告。
实验步骤:
①编写程序
②分析原因与结果,与同学交换程序测试。
原因:1.售货机有零钱
2.投入1元硬币
3.投入5角硬币
4.按下橙汁按钮
5.按下啤酒按钮
结果:21.售货机【零钱找完】灯亮
22.退还1元硬币
23.退还5角硬币
24.送出橙汁
25.送出啤酒
③画出因果图
④转化为决策表
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
条件桩 |
五角硬币 |
1 |
1 |
0 |
0 |
1 |
0 |
- |
- |
|
一元硬币 |
0 |
0 |
1 |
1 |
0 |
1 |
- |
- |
|
橙汁按钮 |
1 |
0 |
1 |
0 |
- |
- |
1 |
0 |
|
啤酒按钮 |
0 |
1 |
0 |
1 |
- |
- |
0 |
1 |
动作桩 |
出啤酒 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
出橙汁 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
找五角钱 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
⑤根据决策表设计测试用例,得到测试用例表
一元硬币1,五角硬币2;啤酒按钮1,橙汁按钮2
序号 |
输入数据 |
期望输出 |
实际输出 |
1 |
1,1 |
出啤酒,找回五角硬币 |
出啤酒,找回五角硬币 |
2 |
2,1 |
出啤酒 |
出啤酒 |
3 |
3,1 |
无效数据 |
无效数据 |
4 |
1,5 |
无效数据 |
无效数据 |
5 |
2,2 |
出橙汁,找回五角硬币 |
出橙汁,找回五角硬币 |
6 |
2,1 |
出橙汁 |
出橙汁 |
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
假设一个中国的航空公司规定:
① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。
② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。
③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影
④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。
请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。
实验步骤:
① 编写程序,与同学交换程序测试。
② 构造决策表
|
|
1 |
2 |
3 |
4 |
5 |
6 |
条件桩 |
欧美 |
1 |
0 |
0 |
0 |
0 |
0 |
|
国外非欧美 |
0 |
1 |
1 |
0 |
0 |
0 |
|
国内 |
0 |
0 |
0 |
1 |
1 |
1 |
|
商务舱 |
- |
1 |
0 |
1 |
0 |
0 |
|
经济舱 |
- |
0 |
1 |
0 |
1 |
1 |
|
飞行时间两小时以内 |
- |
- |
- |
- |
0 |
1 |
|
飞行时间超过两小时 |
- |
- |
- |
- |
1 |
0 |
动作桩 |
播放电影 |
1 |
1 |
0 |
0 |
0 |
0 |
|
食物供应 |
1 |
1 |
1 |
1 |
1 |
0 |
|
找五角钱 |
0 |
0 |
1 |
1 |
0 |
0 |
③ 根据决策表设计测试用例,得到测试用例表
欧美1,国外非欧美2,国内3;商务舱1,经济舱2;飞行时间两小时以内1,飞行时间超过两小时2
序号 |
输入数据 |
输出 |
1 |
1,1,2 |
食物供应,播放电影 |
2 |
1,1,1 |
食物供应,播放电影 |
3 |
2,1,2 |
播放电影 |
4 |
2,2,1 |
食物供应 |
5 |
3,1,2 |
食物供应 |
6 |
3,2,1 |
无 |
5、旅馆住宿系统中,旅馆业主可进行添加房间操作。
– 旅馆业主登录旅馆住宿系统后,可以请求添加房间;
– 待进入“房间管理”对话框,单击“添加”按钮可进行添加房间操作;
– 添加房间时,可以设定房间的房间编号、房间类型、房间描述信息;
– 添加房间信息不能缺失,若某一项未填写,要给出提示信息;
– 房间编号长度不超过5个字符;
– 房间描述长度不超过1000个字符;
– 房间信息不能重复,成功填写后,可进行保存或取消操作,之后返回“房间管理”对话框,结束添加房间流程。
实验步骤:
利用黑盒测试策略编写添加房间功能的测试用例。
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
房间编号 |
1-5个字符的有效字符串 |
1 |
空字符串 |
4 |
|
|
|
超过5个字符的字符串 |
5 |
房间类型 |
有效的房间类型 |
2 |
空 |
6 |
|
|
|
无效的房间类型 |
7 |
房间描述信息 |
1-1000个字符的有效描述信息 |
3 |
空 |
8 |
|
|
|
超过1000个字符的字符串 |
9 |
运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
房间编号: "101",房间类型: "单人间",房间描述信息: "舒适的单人间" |
1,2,3 |
房间成功添加并保存 |
2 |
房间编号: "",房间类型: "双人间",房间描述信息: "宽敞的双人间" |
4,2,3 |
添加失败,提示缺失房间编号 |
3 |
房间编号: "",房间类型: "双人间",房间描述信息: "宽敞的双人间" |
5,2,3 |
添加失败,提示房间编号超出长度限制 |
4 |
房间编号: "10001",房间类型: "",房间描述信息: "豪华套房" |
1,3,6 |
添加失败,提示缺失房间类型 |
5 |
房间编号: "10001",房间类型: "&&",房间描述信息: "豪华套房" |
1,7,6 |
添加失败,提示无效房间类型 |
6 |
房间编号: "102",房间类型: "单人间",房间描述信息: "" |
1,2,8 |
添加失败,提示无房间描述信息 |
7 |
房间编号: "102",房间类型: "单人间",房间描述信息: "超级豪华大床房,设施齐全,景观无敌..." |
1,2,9 |
添加失败,提示房间描述信息过长 |
四、 个人体会
1、在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;
(1)使用等价类划分和边界值分析等技术,识别关键的输入领域和边界条件。
(2)优先选择具有代表性的测试用例,以覆盖不同的等价类和边界情况,从而最大限度地检测缺陷。
(3)利用因果图和状态图等技术,识别功能之间的关联,从而设计具有高效覆盖率的测试用例。
2、在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;
(1)确保测试用例覆盖了所有预期的功能需求和非功能需求,包括正常情况和异常情况。
(2)避免重复测试相同功能或路径,通过设计测试用例时的巧妙组合和排列,减少测试用例的冗余性。
(3)使用测试用例评估工具和技术,如覆盖率分析和配对测试,确保测试用例集合既充分又高效。
3、本次实验遇到的难点、如何解决的及体会。
难点:测试用例设计困难
解决:使用测试技术,采用等价类划分、边界值分析、因果图等测试技术来指导测试用例的设计,确保覆盖功能的关键方面。
体会:黑盒测试虽然具有挑战,但通过有效的测试技术和适当的工具支持,可以克服难点并设计出高质量的测试用例,从而提高软件的质量和可靠性。
标签:黑盒,硬币,房间,等价,测试用例,测试,添加 From: https://www.cnblogs.com/lzs666/p/18139880