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

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

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

用例标识

月份

日期

预期输出

WN1SN1

6

15

1912

1912616

 

(2)WR

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

用例标识

月份

日期

预期输出

WR1

6

15

1912

1912616

WR2

-1

15

1912

月份超出范围

WR3

13

15

1912

月份超出范围

WR4

6

-1

1912

日期超出范围

WR5

6

32

1912

日期超出范围

WR6

6

15

1811

年超出范围

WR7

6

15

2013

年超出范围

 

(3)SR

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

三维立方的一个"角"

用例标识

月份

日期

预期输出

SR1

-1

15

1912

月份超出范围

SR2

6

-1

1912

日期超出范围

SR3

6

15

1811

年超出范围

SR4

-1

-1

1912

月份、日期超出范围

SR5

6

-1

1811

日期、年超出范围

SR6

-1

15

1811

月份、年超出范围

SR7

-1

-1

1811

月份、日期、年超出范围

 

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

用例标识

月份

日期

预期输出

WN1

6

14

1925

1925616

WN2

7

29

1900

1900730

WN3

2

30

2004

不正确的日期

WN4

6

31

2000

不正确的日期

此种等价类和测试用例的选择为机械的选择,不考虑领域知识,领域知识不能通过等价类获得。

(2)SN

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

用例标识

月份

日期

预期输出

SN1

6

14

1925

1925615

SN2

6

14

1900

1900615

SN3

6

14

2004

2004615

SN4

6

14

2000

2000615

SN5

6

29

1925

1925630

SN6

6

29

1900

1900630

SN7

6

29

2004

2004630

SN8

6

29

2000

2000630

SN9

6

30

1925

192571

SN10

6

30

1900

190071

SN11

6

30

2004

200471

SN12

6

30

2000

200071

SN13

6

31

1925

不正确的日期

SN14

6

31

1900

不正确的日期

SN15

6

31

2004

不正确的日期

SN16

6

31

2000

不正确的日期

SN17

7

14

1925

1925715

SN18

7

14

1900

1900715

SN19

7

14

2004

2004715

SN20

7

14

2000

2000715

SN21

7

29

1925

1925730

SN22

7

29

1900

1900730

SN23

7

29

2004

2004730

SN24

7

29

2000

2000730

SN25

7

30

1925

1925731

SN26

7

30

1900

1900731

SN27

7

30

2004

2004731

SN28

7

30

2000

2000731

SN29

7

31

1925

192581

SN30

7

31

1900

190081

SN31

7

31

2004

200481

SN32

7

31

2000

200081

SN33

2

14

1925

1925215

SN34

2

14

1900

1900215

SN35

2

14

2004

2004215

SN36

2

14

2000

2000215

SN37

2

29

1925

不正确的日期

SN38

2

29

1900

不正确的日期

SN39

2

29

2004

200431

SN40

2

29

2000

200031

SN42

2

30

1925

不正确的日期

SN42

2

30

1900

不正确的日期

SN43

2

30

2004

不正确的日期

SN44

2

30

2000

不正确的日期

SN45

2

31

1925

不正确的日期

SN46

2

31

1900

不正确的日期

SN47

2

31

2004

不正确的日期

SN48

2

31

2000

不正确的日期

 

(3)SR

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

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值