等价类划分例题

1.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
  1)划分等价类并编号,下表等价类划分的结果

输入等价类

有效等价类

无效等价类

日期的类型及长度

①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

年份范围

⑤在1990~2049之间

⑥小于1990

⑦大于2049

月份范围

⑧在01~12之间

⑨等于00

⑩大于12

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
   测试数据   期望结果     覆盖的有效等价类
    200211     输入有效     ①、⑤、⑧
  3)为每一个无效等价类设计一个测试用例,设计结果如下:
   测试数据  期望结果    覆盖的无效等价类
    95June    无效输入         ②
    20036     无效输入          ③
    2001006   无效输入         ④
    198912    无效输入         ⑥
    200401    无效输入         ⑦
    200100    无效输入         ⑨
    200113    无效输入         ⑩
   
2.NextDate函数包含三个变量:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日。要求输入变量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年6月16日
 强一般等价类测试用例同弱一般等价类测试用例
 注:弱--有单缺陷假设;健壮--考虑了无效值
 
  (一)弱健壮等价类测试
 用例ID  月份 日期   年         预期输出
  WR1      6      15    1912      1912年6月16日
  WR2     -1     15    1912      月份不在1~12中
  WR3     13     15    1912     月份不在1~12中
  WR4      6      -1    1912     日期不在1~31中
  WR5      6      32    1912     日期不在1~31中
  WR6      6      15    1811      年份不在1812~2012中
  WR7      6      15    2013     年份不在1812~2012中

  (二)强健壮等价类测试
 用例ID  月份   日期     年         预期输出
  SR1       -1      15       1912     月份不在1~12中
  SR2        6      -1        1912     日期不在1~31中
  SR3        6      15       1811     年份不在1812~2012中
  SR4       -1      -1       1912     两个无效一个有效
  SR5        6      -1        1811     两个无效一个有效
  SR6       -1      15       1811     两个无效一个有效
  SR7       -1      -1       1811     三个无效


3.“6到18个字符,可以使用字母、数字、下划线,需已字母开头”。那么有效等价类就应该是

输入条件

有效等价类

无效等价类

符合要求的邮件地址

6---18个字符           (1)

小于6个字符          (6)

大于18个字符         (7)

字母                  (2)

不是字母、数字和下划线 (8)

数字                  (3)

下划线                (4)

首位是字母            (5)

首位不是字母          (9)

那么测试用例就出来了吧

序号

输入

覆盖等价类

输出

1

Nick_mail01

1,2,3,4,5

正确

2

nick

2,5,6

错误

3

qwertyuiopasdfghjklzxc

2,5,7

错误

4

Nick+mail?

1,2,5,8

错误

5

5683_mail

1,2,3,4,9

错误


  • 28
    点赞
  • 162
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
等价类划分软件测试中常用的一种测试设计方法,通过将测试用例分为不同的等价类,以确保测试用例的全面性和有效性。等价类划分的基本原则是将输入空间划分为有限数量的等价类,使得每个等价类中的测试用例具有相同的测试效果,即如果一个测试用例能够代表某个等价类的情况,那么其他测试用例也能够代表该等价类的情况。 等价类划分的步骤如下: 1. 理解需求:首先要对软件系统的需求和功能有一个清晰的理解,以确保能够准确的划分等价类。 2. 识别输入域:确定待测试的输入域,即需要进行等价类划分的输入数据。 3. 划分等价类:根据输入域的特征和功能需求,将输入域划分为一组等价类。每个等价类都应具有相同的测试效果,并尽量确保划分的等价类数量尽可能少。 4. 选择测试用例:从划分的等价类中选择一组测试用例进行测试。通常,每个等价类应至少包含一个测试用例,以确保能够覆盖该等价类的所有可能情况。 5. 执行测试用例:按照测试用例进行测试,记录测试结果,并进行缺陷的修复和验证。 等价类划分的好处是可以通过有限数量的测试用例来覆盖大部分输入情况,从而节省测试时间和成本。同时,等价类划分也能够发现输入域中的边界问题和异常情况,提高测试的全面性和准确性。 总之,等价类划分是一种简单有效的测试设计方法,能够帮助测试人员合理划分测试用例,提高测试的效率和有效性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值