软件测试– Assignment8

Assignment8

问题

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

问题: 是整型变量, 和 的函数,输入 年期间的某一日期的 , 和 的值,输出这一天的下一天的日期的 , 和 值。

背景知识(摘自Lec16)

什么是等价类

一个输入等价类是指程序输入域的某个子集,在该子集中,各个输入数据对于揭露程序中的错误时等效的

弱等价类

单缺陷:选取用例时,仅仅使得一个变量取极值,其他变量取正常值

强等价类

多缺陷:选取用例时,同时让多个变量取极值

一般等价类

只覆盖有效等价类

健壮等价类

同时覆盖有效等价类和无效等价类

解答

三个变量的取值范围

  1. C1: 1 ≤ m o n t h ≤ 12 1 le month le 12 1month12
  2. C2: 1 ≤ d a y ≤ 31 1 le day le 31 1day31
  3. C3: 1812 ≤ y e a r ≤ 2012 1812 le year le 2012 1812year2012

划分等价类

输入条件 有效等价类 无效等价类
year Leap year (1)
normal year (2)
Year < 1812 (3)
year > 2012 (4)
year is not integer (5)
Month February (6)
December (7)
Big month with 31 days (8)
small month with 30 days (9)
Month > 12 (10)
month < 1 (11)
month is not integer (12)
day Day is 28 (13)
day is 29 (14)
day is 30 (15)
day is 31 (16)
day is others(17)
day > 31 (18)
day < 1 (19)
day is not integer (20)
day > 28 when it is February and not Leap year(21)
day > 29 when it is February and leap year(22)
day > 30 when it is small month(22)

测试用例构造

方法:
  • 为每一个等价类规定一个唯一编
  • 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类。重复这一步,直到所有的有效等价类都被覆盖为止
  • 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止
用例:

弱一般等价类测例,无需考虑无效等价类

Test case y m d excepted output cover
WN1 2020 2 28 2020.2.29 (1)(6)(13)
WN2 2020 2 29 2020.3.1 (1)(6)(14)
WN3 2020 2 12 2020.2.13 (1)(6)(17)
WN4 2020 12 30 2021.1.1 (1)(7)(15)
WN5 2020 12 12 2020.12.13 (1)(7)(17)
WN6 2020 1 31 2021.2.1 (1)(8)(16)
WN7 2020 1 12 2020.1.13 (1)(8)(17)
WN8 2020 4 30 2021.5.1 (1)(9)(15)
WN9 2020 4 12 2020.4.13 (1)(9)(17)
WN10 2021 2 28 2021.3.1 (2)(6)(13)
WN11 2021 2 12 2021.2.13 (2)(6)(17)
WN12 2021 12 30 2022.1.1 (2)(7)(15)
WN13 2021 12 12 2021.12.13 (2)(7)(17)
WN14 2021 1 31 2021.2.1 (2)(8)(16)
WN15 2021 1 12 2021.1.13 (2)(8)(17)
WN16 2021 4 30 2021.5.1 (2)(9)(15)
WN17 2021 4 12 2021.4.13 (2)(9)(17)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月16日
下一篇 2019年5月16日

相关推荐