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

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

例题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 天前
【个人项目】跑者天地—测试用例
测试用例
中草药z4 天前
【测试】Bug+设计测试用例
功能测试·测试工具·测试用例·bug·压力测试·测试
@Aurora.5 天前
【接口自动化测试】---YAML、JSON Schema
selenium·单元测试·测试用例·压力测试·postman·ab测试·测试覆盖率
测试19987 天前
Pytest中实现自动生成测试用例脚本代码
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
lovingsoft9 天前
测试场景和测试用例应该如何选择?
测试用例
天才测试猿10 天前
什么是单元测试?
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
程序员三藏11 天前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
zzywxc78713 天前
利用AI生成测试用例、优化测试执行、自我修复测试脚本,提升测试覆盖率和效率。
人工智能·测试用例·测试覆盖率