代码改变世界

软件测试-nextDate问题

2014-01-13 02:32  youxin  阅读(10544)  评论(0编辑  收藏  举报

NextDate 函数包含三个变量:month  day  year ,函数的输出为输入日期后一天的日期。 例如,输入为 20063 7日,则函数的输出为 200638 。要求输入变量 month  day  year 均为整数值,并且满足下列条件:
  
1≤month≤12
  
1≤day≤31
  
1920≤year≤2050  
  1)
有效等价类为:
    M1
{月份:1≤月份≤12}
    D1
{日期:1≤日期≤31}
    Y1
{年:1812≤≤2012}
  2)
若条件  ~ 中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如 "month 的值不在 1-12 范围当中 " 。显然还存在着大量的 year  month  day 的无效组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等价类为:
    M2
{月份:月份<1}
    M3
{月份:月份>12}
    D2
{日期:日期<1}
    D3
{日期:日期>31}
    Y2
{年:年<1812}
    Y3
{年:年>2012}
  
弱一般等价类测试用例
  
月份    日期                      预期输出
   6       15        1912           1912
616
  
强一般等价类测试用例同弱一般等价类测试用例


  
注:弱--有单缺陷假设;健壮--考虑了无效值 

  ()弱健壮等价类测试
  
用例ID   月份  日期              预期输出
  WR1      6      15    1912      1912
616
  WR2     -1     15    1912      
月份不在112
  WR3     13     15    1912      
月份不在112
  WR4      6      -1    1912      
日期不在131
  WR5      6      32    1912      
日期不在131
  WR6      6      15    1811      
年份不在18122012
  WR7      6      15    2013      
年份不在18122012

  ()强健壮等价类测试

强健性等价类测试用例可以包含多个无效值,即含有多个缺陷假设。因为nextdate有3个变量,所有对应的强健壮性等价类测试用例可以包含一个无效值,2个无效值或3个无效值。
  
用例ID   月份    日期                预期输出
  SR1       -1      15       1912      
月份不在112
  SR2        6      -1        1912      
日期不在131
  SR3        6      15       1811      
年份不在18122012
  SR4       -1      -1       1912      
两个无效一个有效
  SR5        6      -1        1811      
两个无效一个有效
  SR6       -1      15       1811      
两个无效一个有效
  SR7       -1      -1       1811      
三个无

 

 

http://book.51cto.com/art/201102/246063.htm

http://wenku.baidu.com/view/aaed8e63783e0912a2162ace.html