[软件测试] Assignment8
课程名称 | 软件测试 | 任课老师 | 蔡国扬 |
---|---|---|---|
年级 | 大三 | 专业(方向) | 计应 |
学号 | 16340015 | 姓名 | 陈彬彬 |
专业(方向) | 软件工程(计应) | 944131226@qq.com |
0.问题描述
构造NextDate问题的弱一般的等价类测试用例。
- NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函 数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的值,输出这一天的下一天的日期的 month, day 和 year 值。
1. 等价类测试用例的类别
健壮性测试包含两层含义:
- 容错能力
- 恢复能力
根据测试用例的完整性可以划分为:
- 弱等价类测试
- 弱一般等价类:遵循单缺陷原则,要求用例覆盖每一个变量的一种取值即可,取值为有效值。
- 弱健壮等价类:在弱一般等价类的基础上,增加取值为无效值的情况。
- 强等价类测试
- 强一般等价类:遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的迪卡尔乘积,即所有变量所有取值的所有组合,取值为有效值。
- 强健壮等价类:在强一般等价类的基础上,增加取值为无效值的情况。
2. 问题回答
我们可以将三个输入值划分为以下等价类:
M1 = {month: month has 30 days}
M2 = {month: month has 31 days except December}
M3 = {month: month is December}
M4 = {month: month is February}
D1 = {day: 1 ≤ day ≤ 27}
D2 = {day: day = 28}
D3 = {day: day = 29}
D4 = {day: day = 30}
D5 = {day: day = 31}
Y1 = {year: year is a leap year}
Y2 = {year: year is a common year}
将输出值划分为以下等价类:
A1 = {Impossible}
A2 = {Increment day}
A3 = {Reset day to 1}
A4 = {Increment month}
A5 = {Reset month to 1}
A6 = {Increment year}
构造弱一般等价类测试用例:
要求变量取值为有效值,遵循单缺陷原则,用例覆盖每一个变量的一种取值即可
Test Case | month | day | year | Expected Output (month,day,year) |
---|---|---|---|---|
WN1 | 4 (M1) | 1 (D1|D2|D3) | 1998 (Y1|Y2) | 4,2,1998 (A2) |
WN2 | 4 (M1) | 30 (D4) | 1998 (Y1|Y2) | 5,1,1998 (A3&A4) |
WN3 | 4 (M1) | 31 (D5) | 1998 (Y1|Y2) | Impossible (A1) |
WN4 | 5 (M2) | 30 (D1|D2|D3|D4) | 1998 (Y1|Y2) | 5,31,1998 (A2) |
WN5 | 5 (M2) | 31 (D5) | 1998 (Y1|Y2) | 6,1,1998 (A3&A4) |
WN6 | 12 (M3) | 30 (D1|D2|D3|D4) | 1998 (Y1|Y2) | 12,31,1998 (A2) |
WN7 | 12 (M3) | 31 (D5) | 1998 (Y1|Y2) | 1,1,1999 (A3&A5&A6) |
WN8 | 2 (M4) | 1 (D1) | 1998 (Y1|Y2) | 2,2,1998 (A2) |
WN9 | 2 (M4) | 28 (D2) | 1996 (Y1) | 2,29,1996 (A2) |
WN10 | 2 (M4) | 28 (D2) | 1998 (Y2) | 3,1,1996 (A3&A4) |
WN11 | 2 (M4) | 29 (D3) | 1996 (Y1) | 3,1,1996 (A3&A4) |
WN12 | 2 (M4) | 29 (D3) | 1998 (Y2) | Impossible (A1) |
WN13 | 2 (M4) | 30 (D4|D5) | 1998 (Y1|Y2) | Impossible (A1) |