软件测试决策表.docx

上传人:b****1 文档编号:29130560 上传时间:2023-07-20 格式:DOCX 页数:14 大小:24.94KB
下载 相关 举报
软件测试决策表.docx_第1页
第1页 / 共14页
软件测试决策表.docx_第2页
第2页 / 共14页
软件测试决策表.docx_第3页
第3页 / 共14页
软件测试决策表.docx_第4页
第4页 / 共14页
软件测试决策表.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件测试决策表.docx

《软件测试决策表.docx》由会员分享,可在线阅读,更多相关《软件测试决策表.docx(14页珍藏版)》请在冰豆网上搜索。

软件测试决策表.docx

软件测试决策表

软件测试

实验报告

题目:

决策表法得使用

学号:

姓名:

教师:

东南大学成贤学院电子与计算机工程学院

2017年9月30日

方案30%

设计30%

文字表述20%

分析与总结20%

总分

实验题目

1、实验内容

NextDate函数包含三个变量:

month(月份)、day(口期)与veai(年),函数得输出为输入口期前一天得日期。

例如,输入为2007年9月9日,则函数得输出为2007年9月10日。

要求输入变量month、day与year均为整数值,并且满足下列条件:

(1)lWmonthW12

(2)lWdayW31

(3)1912

J

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函数得求解关键就是口与月得问题,通常可以在下面等价类

(条件桩)得基础上建立决策表:

Ml={month:

montli有30天}

M2={montli:

montli有31天,12月除外}

M3={month:

month就是12月}

M4={month:

montli就是2月}

Dl={dav:

lWdayW27}

D2={dav:

day=28}

D3={dav:

day=29}

D4={dav:

day=30}

D5={dav:

day=31}

Y1={year:

year就是闰年}

Y2={vear:

year不就是闰年}

决策表共有22条规则:

第1~5条规则解决有30天得月份;

第6~10条规则解决有31天得月份(除12月份以外);

第11-15条规则解决12月份;

第16〜22条规则解决2月份与闰年得问题。

不可能规则也在决策表中列出,比如第5条规则中在有30天得月份中也考虑了31口。

规则选项

1

2

3

4

5

6

7

8

9

10

11

条件:

C1:

month

Ml

Ml

Ml

Ml

Ml

M2

M2

M2

M2

M2

M3

C2:

day在

D1

D2

D3

D4

D5

DI

D2

D3

D4

D5

DI

C3:

year在

动作:

A1:

不可

J

7

A2:

day

加1

1

V

7

J

7

7

J

7

7

7

A3:

day复位

J

A4:

month

加1

J

7

A5:

month

复位

规则

选项

12

13

14

15

16

17

18

19

20

21

22

条件:

C1:

month

M3

M3

M3

M3

M4

M4

M4

M4

M4

M4

M4

C2:

day在

D2

D3

D4

D5

D1

D2

D2

D3

D3

D4

D5

C3:

year在

Y1

Y2

Y1

Y2

动作:

A1:

不可能

1

V

1y

A2:

day加

1

7

1

V

1

V

1

7

A3:

day复位

7

1

V

A4:

month

加1

7

1

V

A5:

month复位

7

A6:

year加

1

1

V

表2简化得NextDate函数决策表:

条件:

C1:

mon

th在

M

1

M

1

M

1

M

2

M

2

M

3

M

3

M

4

M

4

M

4

M

4

M

4

M4

C2:

day在

D1

D2

D3

D

4

D

5

D1

5

D2

5

D3

5

D4

D

5

D1

D2

D3

D4

D

5

D

1

D

2

D

2

D

3

D

3

D4Q

5

C3:

year在

Y

1

Y

2

Y

1

Y

2

动作:

A1:

不可能

J

7

1

7

1

V

A2:

day

加1

7

1

7

7

1

7

V

A3:

day复位

1

7

A4:

mon

th加1

1

7

1

7

7

1

7

A5:

month复位

1

7

A6:

year

加1

1

7

6、实验结果与分析

表3NextDate函数得测试用例组

测试用例

Month

Day

Year

预期输出

实际输出

Testcase1-3

5

15

2015

2015年5月16

[青输入年、月、日;

2015515

2015/5/16

Testcase4

5

30

2015

2015年5月31

请输入年、月、日;

2015530

2015/5/31

Testcase5

5

31

2015

2015年6月1

[青输入年、月、日;

2015531

2015/6/1

Testcase6-9

4

15

2015

2015年4月16

[青输入年、月、日;

2015415

2015Z4/16

Testcase10

4

31

2015

2015年5月1

2015430

2015/5/1

Testcasell-14

12

15

2015

2015年12月16

[青输入年"月、日,

20151215

2015/12Z16

Testcase15

12

31

2015

2016年1月1

请输入年、月、日:

20151231

2016/1/1

Testcase16

2

15

2015

2015年2月16

[青输入年、月、日;

2015215

2015/2/16

Testcase17

2

28

2016

2016年2月29

请输入年、月、日;

2016228

2016/2/29

Testcase18

2

28

2015

2015年3月1

幘输入年、月、日:

2015228

2015/3/1

Testcase19

2

29

2016

2016年3月1

请输入年、月、日,

2016229

2016/3/1

Testcase20

2

29

2015

不可能!

请输入年、月、日;

2015229

不可能!

Testcase21-22

2

30

2015

不可能!

常献年、月、日:

2015230

凤可能!

7、实验体会与建议

程序得实际输出结果与预期结果不符合,但基本满足实验问题需求,基于决策表得测试对于某些应用程序(例如NextDate函数)很有效,但就是对另外一些简单得应用程序就不值得使用决策表了。

附录代码

#includeHstdafx>hH

boolNextDate(intijntjjntk)

{

1坦>=1960&&i<=2050&&j>=1&&j<=12&&k>=l&&k<=31)

{

if(k>=l&&k<=27)

{屮;}

else

{

switch(k)

{

case31:

{

if(j==l|[j==3|[j==5|[j==7|[j==8|[j==10)

{

k=l;

J++;

}

elseif(j=12)

{

k=l;

J=l;

i++;

}

else

{returnfalse;}

break;

}

case30:

if(j=4|[j==6|[j==9|[j==l1)

k=l;

J++;

}

elseif(j=2)

{leturnfalse;}

else

{k++;}

break:

}

case29:

{

if(j==2&&((i%4=0&&i%100!

=0)||i%400==0))

{

k=l;

J++;

}

elseif(j!

=2)

{k++;}

else

{leturnfalse;}

break:

}

case28:

{

if(j—2&&(a%4=0&&i%100!

=0)||i%400==0))

{

k++;

}

elseif(j!

=2)

{k++;}

else

k=l;

J++;

}break;

returnfalse;

cout«i«,7H<

}

mtmam()

mtday.month.year;

while(l)

cout«”请输入年、月、口:

H«endl;cin»year»month»day;

NextDate(yeai;month,day);if(NextDate(yeai;month,day)==false){cout«”不可能!

”《endl;}

}

system(HpauseH);

return0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1