【软件测试】通过决策表例题学会使用决策表

【软件测试】通过决策表例题学会使用决策表

例题1

有一个程序可以计算某年某月有多少天,请依照决策表测试技术产生测试用例。

要求:

1.每个条件的取值有多种选择,而不再是简单的Yes/No。

  1. 需要写出合并后的决策表

  2. 需要写出测试用例。

答案

条件部分

年份Y:

  • Y1:{year:year是闰年}
  • Y2:{year:不是闰年}

月份M:

  • M1:{month:2月}
  • M2:{month:是1、3、5、7、8、10、12月}
  • M3:{month:是4、6、9、11月}

结果部分

  • D1:28天
  • D2:29天
  • D3:30天
  • D4:31天

合并后的决策表:

条件 取值
Y Y1 ,Y2
M M1 , M2
行动
D1 28 DAYS
D2 29 DAYS
D3 30 DAYS
D4 31 DAYS
检验和 6

测试用例

  1. 2024,2 输出:有29天
  2. 2022,7 输出:有31天
  3. 2021,11 输出:有30天
  4. 2023,2 输出:有28天

例题2

以下是闰年的判定准则:

⑴请给出一个判定函数is_leap(int year)用来判定给定的年份是否为闰年。

⑵设计该函数的黑盒测试用例(决策表方法)

⑶请对照决策表重新写is_leap判定函数,将每一列改写写成一行条件语句。

答案

1、

c 复制代码
function is_leap(int year){
 if (year mod 4 != 0) then
  output("平年")
 else if (year mod 100 = 0) and (year mod 400 !=0) then 
  output("平年")
 else 
  output("闰年")
}

2、决策表设计测试用例结果如下:

年份能否被4整除 年份能否被100整除 年份能否被400整除 结果
1 Y Y Y 闰年
2 N - - 平年
3 N Y Y 闰年
4 Y Y N 平年
校验和 8 4 1 1

测试用例:

  1. 1995,平年
  2. 2000,闰年
  3. 1900,平年
  4. 2020,闰年

3、按照决策表,每一列写成一个条件语句,结果如下:

c 复制代码
is_leap(int year){
 	if year mod 4 != 0 then output(平年) - 对应于第一列
 	if year mod 400 = 0 then output(闰年) - 对应于第二列
 	if year mod 100 = 0 and year mod 400 !=0 then output(平年) -对应于第三列
 	if year mod 4 and year mod 100 != 0 then output(闰年) -对应于第四列
}
相关推荐
天才测试猿1 天前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
测试工程喵2 天前
如何高效定位Bug:测试工程师的问题诊断艺术
功能测试·测试用例·bug·模块测试·缺陷管理·bug定位
车载测试工程师2 天前
车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】
功能测试·安全·车载系统·测试用例·测试覆盖率
程序员三藏2 天前
Python+Selenium的自动化测试框架详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
小突突突4 天前
总结设计测试用例的万能公式
测试用例
岁月_流沙4 天前
BR_初始载波频率容限(RF/TRM/CA/BV-08-C [Initial Carrier Frequency Tolerance])
测试用例·模块测试
测试工程喵4 天前
测试用例书写规范详解:构建高效测试体系的基础
功能测试·测试用例·模块测试·测试覆盖率·用例规范
胆大的5 天前
怎样才能设计好的自动化测试用例
自动化·测试用例·pytest
tt5555555555555 天前
每日一题——最小测试用例集覆盖问题
测试用例·c
hyhrosewind5 天前
基础(测试用例:介绍,测试用例格式,案例)
测试用例·测试基础·测试用例格式·测试用例案例