[软件测试] Assignment8

本文探讨了NextDate问题的弱一般等价类测试用例构造方法,NextDate函数接收month, day, year参数并返回次日日期。文章详细划分了输入输出的等价类,并设计了覆盖每个变量一种有效取值的测试案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[软件测试] Assignment8

课程名称软件测试任课老师蔡国扬
年级大三专业(方向)计应
学号16340015姓名陈彬彬
专业(方向)软件工程(计应)Email944131226@qq.com

0.问题描述

构造NextDate问题的弱一般的等价类测试用例。

  • NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函 数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的值,输出这一天的下一天的日期的 month, day 和 year 值。

1. 等价类测试用例的类别

健壮性测试包含两层含义:

  • 容错能力
  • 恢复能力

根据测试用例的完整性可以划分为:

  • 弱等价类测试
  1. 弱一般等价类:遵循单缺陷原则,要求用例覆盖每一个变量的一种取值即可,取值为有效值。
  2. 弱健壮等价类:在弱一般等价类的基础上,增加取值为无效值的情况。
  • 强等价类测试
  1. 强一般等价类:遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的迪卡尔乘积,即所有变量所有取值的所有组合,取值为有效值。
  2. 强健壮等价类:在强一般等价类的基础上,增加取值为无效值的情况。

2. 问题回答

我们可以将三个输入值划分为以下等价类:

M1 = {month: month has 30 days}

M2 = {month: month has 31 days except December}

M3 = {month: month is December}

M4 = {month: month is February}

D1 = {day: 1 ≤ day ≤ 27}

D2 = {day: day = 28}

D3 = {day: day = 29}

D4 = {day: day = 30}

D5 = {day: day = 31}

Y1 = {year: year is a leap year}

Y2 = {year: year is a common year}

将输出值划分为以下等价类:

A1 = {Impossible}

A2 = {Increment day}

A3 = {Reset day to 1}

A4 = {Increment month}

A5 = {Reset month to 1}

A6 = {Increment year}

构造弱一般等价类测试用例

要求变量取值为有效值,遵循单缺陷原则,用例覆盖每一个变量的一种取值即可

Test CasemonthdayyearExpected Output (month,day,year)
WN14 (M1)1 (D1|D2|D3)1998 (Y1|Y2)4,2,1998 (A2)
WN24 (M1)30 (D4)1998 (Y1|Y2)5,1,1998 (A3&A4)
WN34 (M1)31 (D5)1998 (Y1|Y2)Impossible (A1)
WN45 (M2)30 (D1|D2|D3|D4)1998 (Y1|Y2)5,31,1998 (A2)
WN55 (M2)31 (D5)1998 (Y1|Y2)6,1,1998 (A3&A4)
WN612 (M3)30 (D1|D2|D3|D4)1998 (Y1|Y2)12,31,1998 (A2)
WN712 (M3)31 (D5)1998 (Y1|Y2)1,1,1999 (A3&A5&A6)
WN82 (M4)1 (D1)1998 (Y1|Y2)2,2,1998 (A2)
WN92 (M4)28 (D2)1996 (Y1)2,29,1996 (A2)
WN102 (M4)28 (D2)1998 (Y2)3,1,1996 (A3&A4)
WN112 (M4)29 (D3)1996 (Y1)3,1,1996 (A3&A4)
WN122 (M4)29 (D3)1998 (Y2)Impossible (A1)
WN132 (M4)30 (D4|D5)1998 (Y1|Y2)Impossible (A1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值