4月16日

实验项目名称:实验一          

一、 实验目的

1、 掌握黑盒测试的基础知识;

2、 掌握黑盒测试的检查内容及测试目的;

3、 掌握黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法和决策表法;

二、 实验内容

实验题目: 黑盒测试

三、 实验步骤及结果

1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试

 

实验步骤:

设计程序

源程序见学习通平台。

划分等价类,得到等价类表。等价类表格式如下:

输入条件

有效等价类

唯一标识

无效等价类

唯一标识

1900 ≤ year ≤ 2100

 

E1

 

year < 1900 或 year > 2100

 

I1

 

1 ≤ month ≤ 12

 

E2

 

month < 1 或 month > 12

 

I2

 

1 ≤ day ≤ max_day(max_day 由年、月决定,例如平年 2 月 28 天,闰年 29 天)

E3

 

day < 1 或 day > max_day

I3

 

 

运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:

 

序号

输入数据

覆盖等价类

输出

1

(2023, 10, 15)

E1, E2, E3

星期日

2

(1899, 5, 20)

I1

无效年份

3

(2023, 0, 10)

I2

无效月份

4

(2023, 2, 30)

I3

无效日期(2 月无 30 日)

5

(2020, 2, 29)

E1, E2, E3

星期六(闰年)

 

运用边界值法设计测试用例。

边界值分析关注输入范围的边界:

年:1900, 1901, 2099, 2100

月:1, 2, 11, 12

日:1, 2, max_day-1, max_daymax_day 取决于具体月份和年份)

序号

输入数据(年,月,日)

输出

1

(1900, 1, 1)

星期五

2

(2100, 12, 31)

星期二

3

(2023, 2, 28)

星期六

4

(2020, 2, 29)

星期六(闰年边界)

 

2、找零钱最佳组合

   假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50(N50)10(N10) 5(N5)1(N1) 四种。

   请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。

实验步骤:

设计程序

源程序见学习通平台。

②划分等价类

输入条件

有效等价类

唯一标识

无效等价类

唯一标识

R

0 ≤ R ≤ 100

E1

R < 0 或 R > 100

I1

P

0 ≤ P ≤ 100

E2

P < 0 或 P > 100

I2

P-R

P - R ≥ 0

E3

P - R < 0

I3

 

③等价类划分测试用例

序号

输入数据 (R, P)

覆盖等价类

输出 (N50, N10, N5, N1)

1

(30, 50)

E1, E2, E3

(0, 2, 0, 0)

2

(-1, 50)

I1

无效输入

3

(101, 50)

I1

无效输入

4

(20, 10)

I3

无效输入

④边界值法测试用例

边界值:R 和 P 的范围 (0, 1, 99, 100)。

序号

输入数据 (R, P)

输出 (N50, N10, N5, N1)

1

(0, 0)

(0, 0, 0, 0)

2

(100, 100)

(0, 0, 0, 0)

3

(1, 100)

(1, 4, 1, 4)

4

(99, 100)

(0, 0, 0, 1)

3、有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:

若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

模拟程序如下:

 

用因果图法测试该程序,并撰写实验报告。

实验步骤:

①编写程序

      源程序见学习通平台。

②分析原因与结果

原因:C1(投入 0.5 元)、C2(投入 1 元)、C3(按橙汁按钮)、C4(按啤酒按钮)

结果:E1(橙汁送出)、E2(啤酒送出)、E3(退回 0.5 元)

③画出因果图

 

④转化为决策表

条件

1

2

3

4

5

C1: 0.5元

Y

Y

N

N

N

C2: 1元

N

N

Y

Y

N

C3: 橙汁

Y

N

Y

N

N

C4: 啤酒

N

Y

N

Y

N

E1: 橙汁

Y

N

Y

N

N

E2: 啤酒

N

Y

N

Y

N

E3: 退0.5

N

N

Y

Y

N

测试用例表

序号

输入 (coin, button)

输出

1

(0.5, "橙汁")

橙汁

2

(0.5, "啤酒")

啤酒

3

(1.0, "橙汁")

橙汁, 退回0.5元

4

(1.0, "啤酒")

啤酒, 退回0.5元

5

(0.5, "可乐")

无效操作

4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。

假设一个中国的航空公司规定:

① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。

② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。

③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影

④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。

请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。

 

 

实验步骤:

① 编写程序

     源程序见学习通平台。

 

② 构造决策表

条件

1

2

3

4

5

6

中国-欧美

Y

N

N

N

N

N

中国-非欧美国外

N

Y

N

N

N

N

中国国内

N

N

Y

Y

Y

Y

商务仓

-

Y

N

Y

N

N

经济仓

-

N

Y

N

Y

Y

飞行时间 > 2小时

-

-

-

Y

Y

N

食物

Y

Y

N

Y

Y

N

电影

Y

Y

N

N

N

N

 

③ 根据决策表设计测试用例,得到测试用例表

序号

输入 (route, cabin, flight_time)

输出

1

("中国-欧美", "商务仓", 3)

食物: True, 电影: True

2

("中国-非欧美国外", "商务仓", 1)

食物: True, 电影: True

3

("中国-非欧美国外", "经济仓", 1)

食物: True, 电影: False

4

("中国国内", "商务仓", 1)

食物: True, 电影: False

5

("中国国内", "经济仓", 3)

食物: True, 电影: False

6

("中国国内", "经济仓", 1)

食物: False, 电影: False

 

5、旅馆住宿系统中,旅馆业主可进行添加房间操作。

– 旅馆业主登录旅馆住宿系统后,可以请求添加房间;

– 待进入“房间管理”对话框,单击“添加”按钮可进行添加房间操作;

– 添加房间时,可以设定房间的房间编号、房间类型、房间描述信息;

– 添加房间信息不能缺失,若某一项未填写,要给出提示信息;

– 房间编号长度不超过5个字符;

– 房间描述长度不超过1000个字符;

– 房间信息不能重复,成功填写后,可进行保存或取消操作,之后返回“房间管理”对话框,结束添加房间流程。

实验步骤:

利用黑盒测试策略编写添加房间功能的测试用例。

① 设计添加房间用例流

基本流

进入系统

打开“房间管理”页面,单击“添加”按钮

输入房间编号

设置房间类型

设置房间描述信息

保存或取消

返回“房间管理”页面

备选流1

登录失败

备选流2

房间信息填写不全

备选流3

房间编号长度超过5个字符

备选流4

房间描述长度超过1000个字符

备选流5

房间信息重复

备选流6

用户取消操作

 

场景设计

场景描述

基本流

备选流

场景1-成功添加房间

基本流

 

场景2-登录失败

基本流

备选流1

场景3-缺失房间信息

基本流

备选流2

场景4-编号长度过长

基本流

备选流3

场景5-房间描述过长

基本流

备选流4

场景6-房间信息重复

基本流

备选流5

场景7-用户取消操作

基本流

备选流6

 

创建场景用例表

用例编号

  场景

登录

房间编号

房间类型

房间描述

保存

取消

预期结果

1

场景1-成功添加房间

V

V

V

V

V

N/A

成功添加房间

2

场景2-登录失败

I

N/A

N/A

N/A

N/A

N/A

提示登录失败,请重新登录”

3

场景3-缺失房间信息

V

I

I

I

V

N/A

提示“请完善房间信息”

4

场景4-编号长度超限

V

I

V

V

V

N/A

提示“房间编号长度超过5个字符”

5

场景5-房间描述超限

V

V

V

I

V

N/A

提示“房间描述长度超过1000个字符”

6

场景6-房间信息重复

V

I

I

I

V

N/A

提示“房间信息重复,请重新输入”

7

场景7-取消操作

V

V

V

V

N/A

I

取消添加房间

 

建立测试用例数据库

用例编号

  场景

登录

房间编号

房间类型

房间描述

保存

取消

预期结果

1

场景1-成功添加房间

userId:123

password:123

1234

 大床房

空调免费,独立卫浴,客房WiFi

点击保存

N/A

成功添加房间

2

场景2-登录失败

userId123

password12

N/A

N/A

N/A

N/A

N/A

提示登录失败,请重新登录”

3

场景3-缺失房间信息

userId:123

password:123

148

 

 

点击保存

N/A

提示“请完善房间信息”

4

场景4-编号长度超限

userId:123

password:123

123456

大床房

空调免费,独立卫浴,

点击保存

N/A

提示“房间编号长度超过5个字符”

5

场景5-房间描述超限

userId:123

password:123

 134

大床房

空调免费,独立卫浴.....

点击保存

N/A

提示“房间描述长度超过1000个字符”

6

场景6-房间信息重复

userId:123

password:123

 1234

大床房

空调免费,独立卫浴,客房WiFi

点击保存

N/A

提示“房间信息重复,请重新输入

7

场景7-取消操作

userId:123

password:123

123

大床房

空调免费,独立卫浴,客房WiFi

N/A

点击取消

取消添加房间

 

四、 个人体会

通过这次黑盒测试实验,我对软件测试的理论和实践有了更深的认识。设计日期计算和找零钱程序时,我发现等价类划分和边界值分析能快速锁定问题点,比如闰年边界或最大值处理,而因果图和决策表则让我在复杂逻辑中理清头绪,像饮料售货机和航空服务查询的测试就变得更有条理。实践过程中,我体会到测试用例设计既要全面覆盖又要避免冗余,比如航空服务的 6 个用例就简洁高效地验证了所有规则。这让我意识到测试不仅是技术活,更需要动脑筋去平衡效率和效果。实验还让我看到程序健壮性的重要性,比如如何处理“无效输入”,这点启发很大。今后我会更注重用例优化,把这些方法用在实际项目里。这次经历不仅提升了我的能力,也让我对软件测试越来越感兴趣。

 

posted @ 2025-04-16 12:43  序章0  阅读(4)  评论(0)    收藏  举报