本文主要是介绍【软件测试】通过决策表例题学会使用决策表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【软件测试】通过决策表例题学会使用决策表
- 例题1
- 答案
- 例题2
- 答案
例题1
有一个程序可以计算某年某月有多少天,请依照决策表测试技术产生测试用例。
要求:
1.每个条件的取值有多种选择,而不再是简单的Yes/No。
2. 需要写出合并后的决策表
3. 需要写出测试用例。
答案
条件部分:
年份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 |
测试用例
- 2024,2 输出:有29天
- 2022,7 输出:有31天
- 2021,11 输出:有30天
- 2023,2 输出:有28天
例题2
以下是闰年的判定准则:
⑴请给出一个判定函数is_leap(int year)用来判定给定的年份是否为闰年。
⑵设计该函数的黑盒测试用例(决策表方法)
⑶请对照决策表重新写is_leap判定函数,将每一列改写写成一行条件语句。
答案
1、
function is_leap(int year){if (year mod 4 != 0) thenoutput(“平年”)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 |
测试用例:
- 1995,平年
- 2000,闰年
- 1900,平年
- 2020,闰年
3、按照决策表,每一列写成一个条件语句,结果如下:
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(闰年) -对应于第四列
}
这篇关于【软件测试】通过决策表例题学会使用决策表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!