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

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

例题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(闰年) -对应于第四列
}
相关推荐
测试19988 小时前
Python接口测试之requests库安装和导入
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
鱼日先生3 天前
Dify 高级实验(09):测试用例生成——如何让 AI 自动产出测试用例?
人工智能·测试用例·工作流·dify·ai agent·大模型应用·ai 训练
lsz1525904 天前
数据库系统测试方案中测试用例原则
测试用例·性能测试·软件开发·数据库设计·测试原则
不言而喻i4 天前
Excel测试用例文档文档转换亿图xmind工具
测试用例·亿图图示
程序员杰哥4 天前
依赖于第三方接口时,如何进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试19986 天前
2026全新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
姚青&8 天前
测试流程管理
测试用例