首页 > 代码库 > 实验三+030+路凯旋
实验三+030+路凯旋
一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
测试链接:http://www.cnblogs.com/hsy123/p/6803297.html
1.被测项目界面
2.测试用例设计表:
(1)等价类
输入条件 |
有效等价类 |
编号 |
无效等价类 |
编号 |
Month |
Month=1,3,5,7,8,10 |
1 |
Month<1 |
13 |
Month=4,6,8,9,11 |
2 |
Month>12 |
14 |
|
Month=2 |
3 |
Month为非整数 |
15 |
|
Month=12 |
4 |
|||
Date |
1<=Day<=27 |
5 |
Day<1 |
16 |
Day=28 |
6 |
Day为非整数 |
17
|
|
Day=29 |
7 |
|||
Day=30 |
8 |
|||
Day=31 |
9 |
Day>31 |
18 |
|
Year |
Year为闰年 |
10 |
Year<1912 |
19 |
Year非闰年 |
11 |
Year>2050 |
20 |
|
Year为整数 |
12 |
Year为非整数 |
21 |
等价类测试用例:
测试用例 |
输入 |
期望输出 |
实际输出 |
覆盖等价类 |
通过 |
||||||
年 |
月 |
日 |
上一天 |
下一天 |
星期几 |
上一天 |
下一天 |
星期几 |
|||
1 |
2017 |
2 |
20 |
2017年2月19日 |
2017年2月21日 |
一 |
2017年2月19日 |
2017年2月21日 |
一 |
3,5,11,12 |
√ |
2 |
2016 |
12 |
28 |
2016年12月27日 |
2016年12月29日 |
三 |
2016年12月27日 |
2016年12月29日 |
三 |
4,6,10,12 |
√ |
3 |
2017 |
5 |
29 |
2017年5月28日 |
2017年5月30日 |
一 |
2017年5月28日 |
2017年5月30日 |
一 |
1,7,11,12 |
√ |
4 |
2017 |
6 |
30 |
2017年6月29日 |
2017年7月1日 |
五 |
2017年6月29日 |
2017年7月1日 |
五 |
2,8,11,12 |
√ |
5 |
1911 |
-1 |
31 |
年份超出范围! |
年份超出范围! |
9,12,13,19 |
√ |
||||
6 |
2050.1 |
15.1 |
-1.1 |
输入有误,请重新输入! |
输入有误,请重新输入! |
14,15,16,17 |
√ |
||||
7 |
2011 |
12 |
51 |
月份超出范围! |
月份超出范围! |
4,11,12,18 |
√ |
||||
8 |
2017 |
2 |
29 |
日期不合法! |
日期不合法! |
3,7,11,12 |
√ |
||||
9 |
2017 |
12 |
32 |
日期超出范围! |
日期超出范围! |
4,11,12,18 |
√ |
(2)边界值:
变量month,day,year的取值范围为:
1<=month<=12
1<=day<=31
1912<=year<=2050
边界值测试用例:
测试用例 |
输入 |
期望输出 |
实际输出 |
通过 |
|||||||||
年 |
月 |
日 |
上一天 |
下一天 |
星期几 |
上一天 |
下一天 |
星期几 |
|||||
1 |
2017 |
-1 |
10 |
月份超出范围! |
月份超出范围! |
√ |
|||||||
2 |
2017 |
0 |
10 |
月份超出范围! |
月份超出范围! |
√ |
|||||||
3 |
2017 |
1 |
17 |
2017年1月16日 |
2017年1月18日 |
二 |
2017年1月16日 |
2017年1月18日 |
二 |
√ |
|||
4 |
2017 |
2 |
17 |
2017年2月16日 |
2017年2月18日 |
五 |
2017年2月16日 |
2017年2月18日 |
五 |
√ |
|||
5 |
2017 |
11 |
17 |
2017年11月16日 |
2017年11月18日 |
五 |
2017年11月16日 |
2017年11月18日 |
五 |
√ |
|||
6 |
2017 |
12 |
17 |
2017年12月16日 |
2017年12月18日 |
天 |
2017年12月16日 |
2017年12月18日 |
天 |
√ |
|||
7 |
2017 |
13 |
15 |
月份超出范围! |
月份超出范围! |
√ |
|||||||
8 |
2017 |
5 |
-1 |
日期超出范围! |
日期超出范围! |
√ |
|||||||
9 |
2017 |
5 |
0 |
日期超出范围! |
日期超出范围! |
√ |
|||||||
10 |
2017 |
5 |
1 |
2017年4月30日 |
2017年5月2日 |
一 |
2017年6月2日 |
2017年5月31日 |
一 |
√ |
|||
11 |
2017 |
5 |
2 |
2017年5月1日 |
2017年5月3日 |
二 |
2017年5月1日 |
2017年5月3日 |
二 |
√ |
|||
12 |
2017 |
5 |
30 |
2017年5月29日 |
2017年5月31日 |
二 |
2017年5月29日 |
2017年5月31日 |
二 |
√ |
|||
13 |
2017 |
6 |
31 |
日期不合法! |
日期不合法! |
√ |
|||||||
14 |
2017 |
6 |
32 |
日期超出范围! |
日期超出范围! |
√ |
|||||||
15 |
1911 |
6 |
10 |
年份超出范围! |
年份超出范围! |
√ |
|||||||
16 |
1912 |
6 |
10 |
1912年6月9日 |
1912年6月11日 |
一 |
1912年6月9日 |
1912年6月11日 |
一 |
√ |
|||
17 |
1913 |
5 |
10 |
1913年5月9日 |
1913年5月11日 |
六 |
1913年5月9日 |
1913年5月11日 |
六 |
√ |
|||
18 |
2049 |
5 |
10 |
2049年5月9日 |
2049年5月11日 |
一 |
2049年5月9日 |
2049年5月11日 |
一 |
√ |
|||
19 |
2050 |
5 |
10 |
2050年5月9日 |
2050年5月11日 |
二 |
2049年5月9日 |
2049年5月11日 |
二 |
√ |
|||
20 |
2051 |
5 |
10 |
年份超出范围! |
年份超出范围! |
√ |
(3)决策表:
NextDate:
条件桩如下:
M1={month:month=4,6,9,11}
M2={month:month=1,3,5,7,8,10,}
M3={month:month=12}
M4={month:month=2}
D1={day:1<=day<=27}
D2={day:day=28}
D3={day: day=29}
D4={day:day=30}
D5={day:day=31}
Y1={year: year为闰年}
Y2={year:year为非闰年}
动作桩如下:
R1:变量day加1操作;
R2:变量day复位操作;
R3:变量month加1操作;
R4:变量month复位操作;
R5:变量year加1操作;;
R6:日期不合法!
决策表:
选项规则 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
|
条件 |
C1=month在 |
M1 |
M1 |
M1 |
M1 |
M1 |
M2 |
M2 |
M2 |
M2 |
M2 |
M3 |
M3 |
M3 |
M3 |
M3 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
C2=day在 |
D1 |
D2 |
D3 |
D4 |
D5 |
D1 |
D2 |
D3 |
D4 |
D5 |
D1 |
D2 |
D3 |
D4 |
D5 |
D1 |
D2 |
D2 |
D3 |
D3 |
D4 |
D5 |
|
C3=year在 |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
-- |
Y1 |
Y2 |
Y1 |
Y2 |
-- |
-- |
|
动作 |
R1:day+1 |
√ |
√ |
√ |
|
|
√ |
√ |
√ |
√ |
|
√ |
√ |
√ |
√ |
|
√ |
√ |
|
|
|
|
|
R2:day复位 |
|
|
|
√ |
|
|
|
|
|
√ |
|
|
|
|
√ |
|
|
√ |
√ |
|
|
|
|
R3:month+1 |
|
|
|
√ |
|
|
|
|
|
√ |
|
|
|
|
|
|
|
√ |
√ |
|
|
|
|
R4:month复位 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
R5:yea+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R6:日期不合法! |
|
|
|
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
√ |
√ |
√ |
选项规则 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
|
条件 |
C1=month在 |
M5 |
M5 |
M5
|
M5 |
M5 |
M5 |
M6 |
M6 |
M6 |
M6 |
M6 |
M6
|
C2=day在 |
D2 |
D3 |
D3 |
D4 |
D5 |
D6 |
D1 |
D2 |
D2 |
D3 |
D4 |
D3 |
|
C3=year在 |
-- |
Y1 |
Y2 |
-- |
-- |
-- |
-- |
Y1 |
Y2 |
-- |
--
|
--- |
|
动作 |
R1:day-1;
|
|
√ |
|
|
|
|
√ |
|
|
√ |
√ |
√ |
R2:day=28;
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
R3:day=29;
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
R4:day=30;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R5:day=31;
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
R6:month-1;
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
R7:month=12;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R8:year-1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R9:日期不合法!
|
|
|
√ |
√ |
√ |
√ |
|
|
|
|
|
|
测试用例:
测试用例 |
输入 |
期望输出 |
实际输出 |
通过 |
||
年 |
月 |
日 |
上一天 |
上一天 |
||
1 |
2017 |
5 |
10 |
2017年5月9日 |
2017年5月9日 |
√ |
2 |
2017 |
5 |
1 |
2017年4月30日 |
2017年4月30日 |
√ |
3,4 |
2017 |
5 |
29 |
2017年5月28日 |
2017年5月28日 |
√ |
5 |
2017 |
5 |
31 |
2017年5月30日 |
2017年5月30日 |
√ |
6 |
2017 |
4 |
10 |
2017年4月9日 |
2017年4月9日 |
√ |
7 |
2017 |
4 |
1 |
2017年3月31日 |
2017年3月31日 |
√ |
8,9 |
2017 |
4 |
29 |
2017年4月28日 |
2017年4月28日 |
√ |
10 |
2017 |
4 |
31 |
2017年4月30日 |
2017年4月30日 |
√ |
11 |
2017 |
8 |
4 |
2004年8月3日 |
2004年8月3日 |
√ |
12 |
2017 |
8 |
1 |
2017年7月31日 |
2017年7月31日 |
√ |
13,14,15 |
2017 |
8 |
31 |
2017年8月30日 |
2017年8月30日 |
√ |
16 |
2017 |
1 |
4 |
2017年1月3日 |
2017年1月3日 |
√ |
17 |
2017 |
1 |
1 |
2016年12月31日 |
2016年12月31日 |
√ |
18~20 |
2017 |
1 |
29 |
2017年1月28日 |
2017年1月28日 |
√ |
21 |
2017 |
2 |
4 |
2017年2月4日 |
2017年2月4日 |
√ |
22 |
2017 |
2 |
1 |
2017年1月31日 |
2017年1月31日 |
√ |
23 |
2004 |
2 |
29 |
2017年2月28日 |
2017年2月28日 |
√ |
24 |
2017 |
2 |
29 |
日期不合法! |
日期不合法! |
√ |
25,26,27 |
2017 |
2 |
30 |
日期不合法! |
日期不合法! |
√ |
28 |
2017 |
3 |
4 |
2017年3月3日 |
2017年3月3日 |
√ |
29 |
2004 |
3 |
1 |
2004年2月29日 |
2004年2月29日 |
√ |
30 |
2005 |
3 |
1 |
2005年2月28日 |
2005年2月28日 |
√ |
31~33 |
2017 |
3 |
29 |
2017年3月28日 |
2017年3月28日 |
√ |
2.对apple music 进行黑盒测试
思维导图:
场景法:
基本流:播放音乐
备选流1:暂停播放
备选流2:继续播放
备选流3 :重复播放模式开
备选流4:重复播放模式关
备选流5:随机播放模式开
备选流6:随机播放模式关
序号 | 场景 | 流 | 预期结果 | 实际结果 | 是否通过 |
1 | 播放音乐 | 基本流 | 播放音乐 | 播放音乐 | √ |
2 | 音乐暂停 | 备选流1 | 音乐暂停 | 音乐暂停 | √ |
3 | 继续播放 | 备选流2 | 继续播放 | 继续播放 | √ |
4 | 重复播放模式开 | 备选流3 | 循环播放 | 循环播放 | √ |
5 | 重复播放模式关 | 备选流4 | 单曲循环 | 单曲循环 | √ |
6 | 随机播放模式开 | 备选流5 | 随机播放 | 随机播放 | √ |
7 | 随机播放模式关 | 备选流6 | 顺序播放 | 顺序播放 | √ |
状态法:
测试结果:结果与预期相符
测试小结:apple music 功能繁多,界面复杂,这里只列出了主要的功能界面并且测试了基本的播放功能,通过这次测试明白了app开发工作的不易,而且要掌握各种逻辑性,各功能之间独立而又紧密联系互相影响 。
实验三+030+路凯旋