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

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

例题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(闰年) -对应于第四列
}
相关推荐
草履虫建模4 小时前
Postman - API 调试与开发工具 - 标准使用流程
java·测试工具·spring·json·测试用例·postman·集成学习
小叶爱吃鱼5 小时前
软件测试-测试用例,举例说明
功能测试·测试用例
测试者家园6 小时前
基于DeepSeek和crewAI构建测试用例脚本生成器
人工智能·python·测试用例·智能体·智能化测试·crewai
lovingsoft11 天前
编写测试用例:提升软件测试质量与效率的关键
测试用例
天才测试猿11 天前
2025最新软件测试面试题总结【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
天才测试猿13 天前
软件测试环境搭建及测试过程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
Tom Boom14 天前
2. 如何理解互联网七层模型?深度解析。
网络·自动化测试·测试开发·测试用例·自动化测试框架开发
MrGaomq16 天前
软件测试用例(二)
linux·c语言·c++·经验分享·笔记·测试用例
天才测试猿17 天前
Postman中变量的使用
自动化测试·软件测试·selenium·测试工具·职场和发展·测试用例·postman