一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
等价类表:
输入条件 |
有效等价类 |
编号 | 无效等价类 | 编号 | |
年 | 1912~2050 | 1 | 非整数 | 7 | |
小于1912 | 8 | ||||
大于2050 | 9 | ||||
月 | 1~12 | 2 | 非整数 | 10 | |
小于1 | 11 | ||||
大于12 | 12 | ||||
日 | 1,3,5,7,8,10,12 |
1~31 |
3 | 非整数 | 13 |
大于31 | 14 | ||||
4,6,9,11 |
1~30 |
4 | 小于1 | 15 | |
大于30 | 16 | ||||
闰年2月 |
1~29 |
5 | 大于29 | 17 | |
非闰年2月 |
1~28 | 6 | 大于28 | 18 |
测试用例表:
编号 | 涵盖条件 | 输入 | 预期输出 | 实际输出 | 测试结果 | ||||||
年 | 月 | 日 | 这天 | 下一天 | 上一天 | 这天 | 下一天 | 上一天 | |||
1 | 1,2,3 | 2001 | 3 | 31 | 星期六 | 2001年04月01日 | 2001年03月30日 | 星期六 | 2001年04月01日 | 2001年03月30日 | 通过 |
2 | 1,2,4 | 2013 | 4 | 30 | 星期二 | 2013年05月01日 | 2013年04月29日 | 星期二 | 2013年05月01日 | 2013年04月29日 | 通过 |
3 | 1,2,5 | 2020 | 2 | 29 | 星期六 | 2020年03月01日 | 2020年02月28日 | 星期六 | 2020年03月01日 | 2020年02月28日 | 通过 |
4 | 1,2,6 | 2001 | 2 | 28 | 星期三 | 2001年03月01日 | 2001年02月27日 | 星期三 | 2001年03月01日 | 2001年02月27日 | 通过 |
5 | 7 | a | 1 | 12 | 输入有误,请重新输入 | 无反应 | 不通过 | ||||
6 | 8 | 1911 | 7 | 21 | 输入有误,请重新输入 | 年份超出范围 | 不通过 | ||||
7 | 9 | 2051 | 2 | 11 | 输入有误,请重新输入 | 年份超出范围 | 不通过 | ||||
8 | 10 | 1997 | 0.1 | 24 | 输入有误,请重新输入 | 无反应 | 不通过 | ||||
9 | 11 | 1976 | 0 | 17 | 输入有误,请重新输入 | 月份超出范围 | 不通过 | ||||
10 | 12 | 1986 | 16 | 21 | 输入有误,请重新输入 | 月份超出范围 | 不通过 | ||||
11 | 13 | 2022 | 11 | c | 输入有误,请重新输入 | 无反应 | 不通过 | ||||
12 | 14 | 1955 | 5 | -2 | 输入有误,请重新输入 | 日期超出范围 | 不通过 | ||||
13 | 15 | 1943 | 8 | 33 | 输入有误,请重新输入 | 日期超出范围 | 不通过 | ||||
14 | 16 | 1989 | 6 | 31 | 输入有误,请重新输入 | 星期六 | 1989年07月02日 | 1989年06月30日 | 不通过 | ||
15 | 17 | 1996 | 2 | 30 | 输入有误,请重新输入 | 星期五 | 1996年03月02日 | 1996年02月29日 | 不通过 | ||
16 | 18 | 2003 | 2 | 29 | 输入有误,请重新输入 | 星期六 | 2003年03月02日 | 2003年02月28日 | 不通过 |
2、边界值
边界值表:
输入条件 | 边界值 | 编号 | |
年 | 1912 | 1 | |
2050 | 2 | ||
月 | 1 | 3 | |
12 | 4 | ||
日 | 1 | 5 | |
1,3,5,7,8,10,12 | 31 | 6 | |
4,6,9,11 | 30 | 7 | |
闰年2月 | 29 | 8 | |
非闰年2月 | 28 | 9 |
测试用例表:
编号 | 覆盖条件 | 输入 | 预计输出 | 实际输出 | 测试结果 | ||
1 | 1 | 1911 | 6 | 8 | 输入有误,请重新输入 | 年份超出范围 | 不通过 |
2 | 1 | 1912 | 6 | 8 | 星期六 1912年06月09日 1912年06月07日 | 星期六 1912年06月09日 1912年06月07日 | 通过 |
3 | 2 | 2050 | 6 | 8 | 星期三 2050年06月09日 2050年06月07日 | 星期三 1912年06月09日 1912年06月07日 | 通过 |
4 | 2 | 2051 | 6 | 8 | 输入有误,请重新输入 | 年份超出范围 | 不通过 |
5 | 3 | 2000 | 0 | 8 | 输入有误,请重新输入 | 月份超出范围 | 不通过 |
6 | 3 | 2000 | 1 | 8 | 星期六 2000年01月09日 2000年01月07日 | 星期六 2000年01月09日 2000年01月07日 | 通过 |
7 | 4 | 2000 | 12 | 8 | 星期五 2000年12月09日 2000年12月07日 | 星期五 2000年12月09日 2000年12月07日 | 通过 |
8 | 4 | 2000 | 13 | 8 | 输入有误,请重新输入 | 月份超出范围 | 不通过 |
9 | 5 | 2000 | 6 | 0 | 输入有误,请重新输入 | 日期超出范围 | 不通过 |
10 | 5 | 2000 | 6 | 1 | 星期四 2000年06月02日 2000年05月31日 | 星期四 2000年06月02日 2000年05月31日 | 通过 |
11 | 6 | 2000 | 7 | 31 | 星期一 2000年08月01日 2000年07月30日 | 星期一 2000年08月01日 2000年07月30日 | 通过 |
12 | 6 | 2000 | 7 | 32 | 输入有误,请重新输入 | 日期超出范围 | 不通过 |
13 | 7 | 2000 | 6 | 30 | 星期五 2000年07月01日 2000年06月29日 | 星期五 2000年07月01日 2000年06月29日 | 通过 |
14 | 7 | 2000 | 6 | 31 | 输入有误,请重新输入 | 星期六 2000年07月02日 2000年06月30日 | 不通过 |
15 | 8 | 2000 | 2 | 29 | 星期二 2000年03月01日 2000年02月28日 | 星期二 2000年03月01日 2000年02月28日 | 通过 |
16 | 8 | 2000 | 2 | 30 | 输入有误,请重新输入 | 星期三 2000年03月02日 2000年02月29日 | 不通过 |
17 | 9 | 2001 | 2 | 28 | 星期三 2001年03月01日 2001年02月27日 | 星期三 2001年03月01日 2001年02月27日 | 通过 |
18 | 9 | 2001 | 2 | 29 | 输入有误,请重新输入 | 星期四 2001年03月02日 2001年02月28日 | 不通过 |
3、决策表
M1={month=1,3,5,7,8,10}
M2={month=4,6,9,11}
M3={month=12}
M4={month=2}
D1={1<=day<=27}
D2={day=28}
D3={day=29}
D4={day=30}
D5={day=31}
Y1={year是闰年}
Y2={year不是闰年}
决策表:
规则\选项 |
1~3 | 4 | 5 | 6~9 | 10 | 11~14 | 15 | 16 | 17 | 18 | 19 | 20 | 21,22 | ||
条 件 |
C1:month在 C2:day在 C3:year在 |
M1 D1 D2 D3 -- |
M1 D4 -- |
M1 D5 -- |
M2 D1 D2 D3 D4 -- |
M2 D5 -- |
M3 D1 D2 D3 D4 -- |
M3 D5 -- |
M4 D1 -- |
M4 D2 Y1 |
M4 D2 Y2 |
M4 D3 Y1 |
M4 D3 Y2 |
M4 D4 D5 -- |
|
动 作 |
A1:不可能 | Y | Y | Y | |||||||||||
A2:day加1 | Y | Y | Y | Y | Y | ||||||||||
A3:day复位 | Y | Y | Y | Y | Y | ||||||||||
A4:month加1 | Y | Y | Y | Y | |||||||||||
A5:month复位 | Y | ||||||||||||||
A6:year加1 | Y |
测试用例表:
编号 | 输入 | 预期输出 | 实际输出 | 测试结果 | ||||||
年 | 月 | 日 | 这天 | 下一天 | 上一天 | 这天 | 下一天 | 上一天 | ||
1~3 | 2001 | 4 | 11 | 星期三 | 2001年04月12日 | 2001年04月10日 | 星期三 | 2001年04月12日 | 2001年04月10日 | 通过 |
4 | 2013 | 4 | 30 | 星期二 | 2013年05月01日 | 2013年04月29日 | 星期二 | 2013年05月01日 | 2013年04月29日 | 通过 |
5 | 2014 | 4 | 31 | 输入有误,请重新输入 | 星期四 | 2014年05月02日 | 2014年04月30日 | 不通过 | ||
6~9 | 2001 | 3 | 28 | 星期三 | 2001年03月29日 | 2001年03月27日 | 星期三 | 2001年03月29日 | 2001年03月27日 | 通过 |
10 | 2001 | 3 | 31 | 星期六 | 2001年04月01日 | 2001年03月30日 | 星期六 | 2001年04月01日 | 2001年03月30日 | 通过 |
11~14 | 1934 | 12 | 21 | 星期五 | 1934年12月22日 | 1934年12月20日 | 星期五 | 1934年12月22日 | 1934年12月20日 | 通过 |
15 | 1934 | 12 | 31 | 星期一 | 1935年01月01日 | 1934年12月30日 | 星期一 | 1935年01月01日 | 1934年12月30日 | 通过 |
16 | 1997 | 2 | 24 | 星期一 | 1997年02月25日 | 1997年02月23日 | 星期一 | 1997年02月25日 | 1997年02月23日 | 通过 |
17 | 2000 | 2 | 28 | 星期一 | 2000年02月29日 | 2000年02月28日 | 星期一 | 2000年02月29日 | 2000年02月28日 | 通过 |
18 | 1986 | 2 | 28 | 星期五 | 1986年03月01日 | 1986年02月27日 | 星期五 | 1986年03月01日 | 1986年02月27日 | 通过 |
19 | 2020 | 2 | 29 | 星期六 | 2020年03月01日 | 2020年02月28日 | 星期六 | 2020年03月01日 | 2020年02月28日 | 通过 |
20 | 1955 | 2 | 29 | 输入有误,请重新输入 | 星期二 | 1955年03月02日 | 1955年02月28日 | 不通过 | ||
21,22 | 1943 | 2 | 30 | 输入有误,请重新输入 | 星期二 | 1943年03月03日 | 1943年03月01日 | 不通过 |
3)测试结论
用等价类表可能测不出的问题用边界和测试用例可以,三种方法互有长短,能测出不同的错误。如等价类可能取值不同会忽略的小于31在2月小月的边界值问题,在另外两种方法就一点能被测出;输入值错误而输出不符合要求这一项在决策表中无法测出只能用其他两种方法。所以就像老师说的要说测完一个程序是不可能的,所以要尽可能选择合适的方法多的用例尽可能的测出程序更多的bug。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
博客
本次实验20分满分
标题:实验三+学号(后3位)+姓名
打分原则: 1)用例设计的合理性及完成情况 8分
2)对音乐软件测试的完成情况 12分