Assignment
Assignment 8.
- 构造NextDate问题的弱一般的等价类测试用例。
- NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的值,输出这一天的下一天的日期的 month, day 和 year 值。
Resource
等价类划分法
- 弱/强、一般/健壮的等价类测试分类
- 弱 (weak) 等价类测试
- 针对单缺陷的等价类测试用例设计。
- 单缺陷:在同一输入条件下失效大概率由单个缺陷引起。
- 强 (strong) 等价类测试
- 针对多缺陷的等价类测试用例设计。
- 一般 (normal) 等价类测试
- 只覆盖有效等价类的测试用例设计。
- 健壮 (robust) 等价类测试
- 同时覆盖有效等价类和无效等价类的测试用例设计。
- 健壮性:在异常情况下软件还能正常运行的能力。健壮性包括容错能力和异常恢复能力。容错性测试通常构造一些不合理的输入来诱导软件出错。
- 弱 (weak) 等价类测试
Answer
假设下面的等价类:
M1={month: month has 30 days}
M2={month: month has 31 days }
M3={month: month is February}
D1={day: 1≤day≤28}
D2={day: day=29}
D3={day: day=30}
D4={day: day=31}
Y1={year: year=2000}
Y2={year: year is a leap year}
Y3={year: year is a common year}
弱一般等价类测试用例覆盖
- 针对单缺陷,只覆盖有效等价类。
使用最少测试用例覆盖每个有效等价类,所以有$max $ s i z e { M , D , Y } = s i z e { D } = 4 size\{M,D,Y\}=size\{D\}=4 size{M,D,Y}=size{D}=4个弱一般等价类。
测试用例 | month | day | year | 预期输出 |
---|---|---|---|---|
WN1 | 4 (M1) | 30 (D3) | 2000 (Y1) | 5/1/2000 |
WN2 | 5 (M2) | 31 (D4) | 2004 (Y2) | 6/1/2004 |
WN3 | 2 (M3) | 12 (D1) | 1999 (Y3) | 2/13/1999 |
WN4 | 8 (M2) | 29 (D2) | 1900 (Y3) | 8/30/1900 |