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

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

例题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(闰年) -对应于第四列
}
相关推荐
Wpa.wk15 小时前
自动化测试-自动化测试用例流程设计
运维·经验分享·自动化·测试用例·测试流程·测试流程设计
卓码软件测评1 天前
第三方APP软件测试机构:【Gatling如何测试移动应用后端API移动网络特性和用户行为模拟】
网络·测试工具·单元测试·测试用例
qq_白羊座2 天前
测试用例(设计、实现、执行)分析与策略制定
测试用例
JoelyGo2 天前
软件验收文档和测试用例文档的区别
测试用例·验收文档
我一定会有钱2 天前
pytest基础
python·测试工具·测试用例·pytest
西游音月2 天前
(6)pytest+Selenium自动化测试-测试用例编写
selenium·测试用例·pytest
卓码软件测评3 天前
CMA/CNAS软件测评机构:【Gatling数据库性能关联测试JDBC连接和SQL执行时间监控】
数据库·sql·测试工具·性能优化·测试用例
qq_白羊座3 天前
XMind 用于编写测试用例的核心优势
测试用例·xmind
qq_白羊座3 天前
测试用例合适的粒度
测试用例
测试人社区-千羽3 天前
AR/VR应用测试核心要点与实施策略
人工智能·安全·职场和发展·自动驾驶·测试用例·ar·vr