您的位置:首页 > 其它

软件测试(第2版)_Paul学习06_03——Ch6等价类测试_03

2016-11-26 11:06 344 查看

6.3 NextDate函数的等价类测试用例

6.3.1 简单的等价类划分

有效等价类:

M1 = {1≤月份≤12}

D1={1≤日期≤31}

Y1={1812≤年≤2012}

无效等价类:

M2 = {月份<1}

M3 = {月份>12}

D2={日期<1}

D1={日期>31}

Y2={年<1812}

Y3={年>2012}

(1)WN、SN

由于有效等价类的数量等于独立变量的个数,因此只有弱一般等价类测试用例出现,且与强一般等价类测试用例相同

用例标识月份日期预期输出
WN1,SN161519121912年6月16日
 
(2)WR

每个无效等价类生成1个测试用例

用例标识
月份日期预期输出
WR1
61519121912年6月16日
WR2
-1151912月份超出范围
WR3
13151912月份超出范围
WR4
6-11912日期超出范围
WR5
6321912日期超出范围
WR6
6151811年超出范围
WR7
6152013年超出范围
 
(3)SR

无效等价类之间要进行组合,先是单个组合,之后是两个组合,再之后是3个组合,……

三维立方的一个"角"

用例标识
月份日期预期输出
SR1
-1151912月份超出范围
SR2
6-11912日期超出范围
SR3
6151811年超出范围
SR4
-1-11912月份、日期超出范围
SR5
6-11811日期、年超出范围
SR6
-1151811月份、年超出范围
SR7
-1-11811月份、日期、年超出范围
 

6.3.2 进一步分析等价类

有效等价类:

M1 = {每月有30天的月份:4、6、9、11}

M2 = {每月有31天的月份:1、3、5、7、8、10、12},12月还可以单独的分出来

M3 = {每月有28天的月份:2}

D1={1≤日期≤28}

D2={日期=29}

D3={日期=30}

D4={日期=31}

Y1={一般的平年}

Y2={能被100除的平年:1900}

Y3={一般的闰年}

Y4={能被400除的闰年:2000}

无效等价类:

M4= {月份<1}

M5 = {月份>12}

D5={日期<1}

D6={日期>31}

Y5={年<1812}

Y6={年>2012}

(1)WN

用例标识月份日期预期输出
WN161419251925年6月16日
WN272919001900年7月30日
WN32302004不正确的日期
WN46312000不正确的日期
此种等价类和测试用例的选择为机械的选择,不考虑领域知识,领域知识不能通过等价类获得。

(2)SN

用例个数:3×4×4 = 48

用例标识
月份日期预期输出
SN1
61419251925年6月15日
SN2
61419001900年6月15日
SN3
61420042004年6月15日
SN4
61420002000年6月15日
SN5
62919251925年6月30日
SN6
62919001900年6月30日
SN7
62920042004年6月30日
SN8
62920002000年6月30日
SN9
63019251925年7月1日
SN10
63019001900年7月1日
SN11
63020042004年7月1日
SN12
63020002000年7月1日
SN13
6311925不正确的日期
SN14
6311900不正确的日期
SN15
6312004不正确的日期
SN16
6312000不正确的日期
SN17
71419251925年7月15日
SN18
71419001900年7月15日
SN19
71420042004年7月15日
SN20
71420002000年7月15日
SN21
72919251925年7月30日
SN22
72919001900年7月30日
SN23
72920042004年7月30日
SN24
72920002000年7月30日
SN25
73019251925年7月31日
SN26
73019001900年7月31日
SN27
73020042004年7月31日
SN28
73020002000年7月31日
SN29
73119251925年8月1日
SN30
73119001900年8月1日
SN31
73120042004年8月1日
SN32
73120002000年8月1日
SN33
21419251925年2月15日
SN34
21419001900年2月15日
SN35
21420042004年2月15日
SN36
21420002000年2月15日
SN37
2291925不正确的日期
SN38
2291900不正确的日期
SN39
22920042004年3月1日
SN40
22920002000年3月1日
SN42
2301925不正确的日期
SN42
2301900不正确的日期
SN43
2302004不正确的日期
SN44
2302000不正确的日期
SN45
2311925不正确的日期
SN46
2311900不正确的日期
SN47
2312004不正确的日期
SN48
2312000不正确的日期
 
(3)SR

用例数量=(3+2)×(4+2)×(4+2)=5×6×6=180;不再一一列出。

更进一步:通过更仔细地研究年类,还可以精简测试用例集合,如果合并Y1和Y2,Y3和Y4,则48个用例将降低到24个。这样可能会遗漏1900和2000年2个闰年的特殊问题。具体看问题的需要和把握。更仔细地研究月份类,还可以将12月份单独划分出来,因为其与其他的不一样的地方是涉及到转下一年的问题。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: