软件测试 决策表Word格式.docx
- 文档编号:19161161
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:33.97KB
软件测试 决策表Word格式.docx
《软件测试 决策表Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试 决策表Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
(3)1912≤year≤2050
2、实验目的与要求
分别输入测试用例,判断期望输出与实际输出是否相等
3、实验环境
操作系统WIN10
测试工具VS2010
测试语言c++语言
4、设计思路分析(包括需求分析、整体设计思路、概要设计)
需求分析:
此函数的主要特点是输入变量之间的逻辑关系比较复杂。
复杂性的来源有两个:
一个是输入域的复杂性,另一个是指闰年的规则。
例如变量year和变量month取不同的值,对应的变量day会有不同的取值范围,day值的范围可能是1~30或1~31,也可能是1~28或1~29。
整体设计思路:
NextDate函数中包含了定义域各个变量之间的依赖问题。
等价类划分法和边界值分析法只能“独立地”选取各个输入值,不能体现出多个变量的依赖关系。
决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。
5、详细设计
NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)如下:
变量day加1操作;
变量day复位操作;
变量month加1操作;
变量month复位操作;
变量year加1操作。
根据上述动作桩发现NextDate函数的求解关键是日和月的问题,通常可以在下面等价类(条件桩)的基础上建立决策表:
M1={month:
month有30天}
M2={month:
month有31天,12月除外}
M3={month:
month是12月}
M4={month:
month是2月}
D1={day:
1≤day≤27}
D2={day:
day=28}
D3={day:
day=29}
D4={day:
day=30}
D5={day:
day=31}
Y1={year:
year是闰年}
Y2={year:
year不是闰年}
决策表共有22条规则:
第1~5条规则解决有30天的月份;
第6~10条规则解决有31天的月份(除12月份以外);
第11~15条规则解决12月份;
第16~22条规则解决2月份和闰年的问题。
不可能规则也在决策表中列出,比如第5条规则中在有30天的月份中也考虑了31日。
表1输入变量间存在大量逻辑关系的NextDate函数决策表
规则
选项
1
2
3
4
5
6
7
8
9
10
11
条件:
C1:
month在
M1
M2
M3
C2:
day在
D1
D2
D3
D4
D5
C3:
year在
-
动作:
A1:
不可能
√
A2:
day加1
A3:
day复位
A4:
month加1
A5:
month复位
12
13
14
15
16
17
18
19
20
21
22
M4
Y1
Y2
A6:
year加1
表2简化的NextDate函数决策表:
1,
2,
6,
7,
8,
11,
12,
13,
21,
D1,
D2,
D3,
D4,D5
6、实验结果与分析
表3NextDate函数的测试用例组
测试用例
Month
Day
Year
预期输出
实际输出
Testcase1-3
2015
2015年5月16日
Testcase4
30
2015年5月31日
Testcase5
31
2015年6月1日
Testcase6-9
2015年4月16日
Testcase10
2015年5月1日
Testcase11-14
2015年12月16日
Testcase15
2016年1月1日
Testcase16
2015年2月16日
Testcase17
28
2016
2016年2月29日
Testcase18
2015年3月1日
Testcase19
29
2016年3月1日
Testcase20
不可能!
Testcase21-22
7、实验体会与建议
程序的实际输出结果与预期结果不符合,但基本满足实验问题需求,基于决策表的测试对于某些应用程序(例如NextDate函数)很有效,但是对另外一些简单的应用程序就不值得使用决策表了。
附录代码
#include"
stdafx.h"
boolNextDate(inti,intj,intk)
{
if(i>
=1960&
&
i<
=2050&
j>
=1&
j<
=12&
k>
k<
=31)
{
if(k>
=27)
{k++;
}
else
{
switch(k)
{
case31:
{
if(j==1||j==3||j==5||j==7||j==8||j==10)
{
k=1;
j++;
}
elseif(j==12)
j=1;
i++;
else
{returnfalse;
break;
}
case30:
if(j==4||j==6||j==9||j==11)
elseif(j==2)
{k++;
case29:
if(j==2&
((i%4==0&
i%100!
=0)||i%400==0))
elseif(j!
=2)
case28:
k++;
}
}
}
else
returnfalse;
cout<
<
"
/"
endl;
intmain()
intday,month,year;
while
(1)
cout<
请输入年、月、日:
cin>
>
year>
month>
day;
NextDate(year,month,day);
if(NextDate(year,month,day)==false)
{cout<
system("
pause"
);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试 决策表 软件 测试 决策