上海大学软件工程实验五测试法.docx

上传人:b****5 文档编号:11959121 上传时间:2023-04-16 格式:DOCX 页数:25 大小:18.24KB
下载 相关 举报
上海大学软件工程实验五测试法.docx_第1页
第1页 / 共25页
上海大学软件工程实验五测试法.docx_第2页
第2页 / 共25页
上海大学软件工程实验五测试法.docx_第3页
第3页 / 共25页
上海大学软件工程实验五测试法.docx_第4页
第4页 / 共25页
上海大学软件工程实验五测试法.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

上海大学软件工程实验五测试法.docx

《上海大学软件工程实验五测试法.docx》由会员分享,可在线阅读,更多相关《上海大学软件工程实验五测试法.docx(25页珍藏版)》请在冰豆网上搜索。

上海大学软件工程实验五测试法.docx

上海大学软件工程实验五测试法

实验五测试法

A:

题目:

输入任意三个数字(200以内整数),判断不是三角形,等边三角形,直角三角形,普通三角形。

输出判断结果。

要求画出数据流程图,写出测试用例(分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖的)。

判定1:

if(A+B>C)AND(A+C>B)AND(B+C>A)

判定2:

if(A=BANDB=CANDA=C)

判定3:

if(A^2+B^2=C^2ORA^2+C^2=B^2ORB^2+C^2=A^2)

条件1:

A+B>C

条件2:

A+C>B

条件3:

B+C>A

条件4:

条件4-1:

A=B

条件4-2:

B=C

条件4-3:

A=C

若4-1,4-2均为真,简称条件4:

TTT

若4-1,4-2均为假,简称条件4:

FFT

4-1真,4-2假,4-3假条件4:

TFF

以此类推

条件5:

A^2+B^2=C^2

条件6:

A^2+C^2=B^2

条件7:

B^2+C^2=A^2

语句覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

判定覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

条件覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

2

1

sabei

判定1:

F

条件1:

T

条件2:

F

条件3:

T

sabei

2

1

1

sabei

判定1:

F

条件1:

T

条件2:

T

条件3:

F

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

3

5

4

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

T

条件7:

F

sabcdgi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

T

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

判定/条件覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

2

1

sabei

判定1:

F

条件1:

T

条件2:

F

条件3:

T

sabei

2

1

1

sabei

判定1:

F

条件1:

T

条件2:

T

条件3:

F

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

3

5

4

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

T

条件7:

F

sabcdgi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

T

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

组合覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

2

1

sabei

判定1:

F

条件1:

T

条件2:

F

条件3:

T

sabei

2

1

1

sabei

判定1:

F

条件1:

T

条件2:

T

条件3:

F

sabei

0

1

1

sabei

判定1:

F

条件1:

F

条件2:

F

条件3:

T

sabei

1

0

1

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

F

sabei

1

1

0

sabei

判定1:

F

条件1:

T

条件2:

F

条件3:

F

sabei

0

0

0

sabei

判定1:

F

条件1:

F

条件2:

F

条件3:

F

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

3

5

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

TFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

3

5

3

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFT

条件5:

F

条件6:

F

条件7:

F

abcdhi

5

3

3

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FTF

条件5:

F

条件6:

F

条件7:

F

abcdhi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

3

5

4

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

T

条件7:

F

sabcdgi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

T

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

路径覆盖

测试用例输入

执行的语句

判定的取值

条件的取值

覆盖的路径

A

B

C

.......

1

1

2

sabei

判定1:

F

条件1:

F

条件2:

T

条件3:

T

sabei

1

1

1

sabcfi

判定1:

T

判定2:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

TTT

sabcfi

3

4

5

sabcdgi

判定1:

T

判定2:

F

判定3:

T

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

T

条件6:

F

条件7:

F

sabcdgi

4

6

9

abcdhi

判定1:

T

判定2:

F

判定3:

F

条件1:

T

条件2:

T

条件3:

T

条件4:

FFF

条件5:

F

条件6:

F

条件7:

F

abcdhi

B:

阅读以下C++语言程序及其说明,完成任务1-2。

【程序和说明】

以下程序读入表示1900年1月1日以后的日期的年份、月份、日的三个正整数,输出该日期是星期几。

如:

读入20131223,输出星期一。

#include

usingnamespacestd;

char*day[7]={

"星期一",

"星期二",

"星期三",

"星期四",

"星期五",

"星期六",

"星期日"

};

intmonth[12]={

0,

31,

31+28,

31+28+31,

31+28+31+30,

31+28+31+30+31,

31+28+31+30+31+30,

31+28+31+30+31+30+31,

31+28+31+30+31+30+31+31,

31+28+31+30+31+30+31+31+30,

31+28+31+30+31+30+31+31+30+31,

31+28+31+30+31+30+31+31+30+31+30

};

voidmain()

{

inttotal_days;

inty,m,d;

cout<<"请输入要查询的日期(年月日)?

"<

cin>>y>>m>>d;

while(y!

=0&&m!

=0&&d!

=0)

{

total_days=(y-1900)*365+(y-1900)/4+month[m-1]+d-1;

if((y-1900)%4==0&&m<3&&y!

=1900)

--total_days;

cout<<(day[total_days%7])<

cout<<"请输入要查询的日期(年月日)?

"<

cin>>y>>m>>d;

}

}

【任务1】

使用黑盒测试技术(等价类划分),写出等价类划分表:

输入类型

有效等价类

无效等价类

年份,正整数

>1900的正整数

非整数1

<=02

<19003

>655364

月份,正整数

>=1,<=12的正整数

非整数5

<=06

<17

>128

日,正整数

>=1,<=31

小月<=30

闰年二月<=29

非闰年二月<=28

正整数

非整数9

<=010

<111

>3112

小月有31日13

闰年二月有>=30日14

非闰年二月有>=29日15

【任务2】

为该程序设计一组测试用例;利用这组测试用例,对程序进行测试,并记录测试结果。

序号

输入

预期结果

实际结果

1

1900.5

1

2

报错

报错

2

-1

1

2

报错

无输出

3

10

1

2

报错

无输出

4

655300

1

1

报错

星期四

5

2019

1.2

2

报错

报错

6

2019

-1

2

报错

星期日

7

2019

0

2

报错

报错

8

2019

15

1

报错

星期二

9

2019

1

1.1

报错

星期二

循环一次后报错

10

2019

5

-1

报错

星期一

11

2019

5

0

报错

报错

12

2019

5

38

报错

星期五

13

2019

4

31

报错

星期三

14

2019

2

29

报错

星期五

15

2008

2

30

报错

星期六

16

2019

1

3

星期四

星期四

【任务3】

使用黑盒测试技术(边界值分析),对上题2的测试结果进行补充。

序号

输入

预期结果

实际结果

1

1900

1

1

星期一

星期一

2

1900

1

31

星期三

星期三

3

1900

12

1

星期六

星期六

4

1900

12

31

星期一

星期一

5

65535

1

1

星期三

星期三

6

65535

1

31

星期五

星期五

7

65535

12

1

星期一

星期一

8

65535

12

31

星期三

星期三

9

1899

1

1

报错

报错

10

1899

1

31

报错

报错

11

1899

12

1

报错

报错

12

1899

12

31

报错

报错

13

65536

1

1

报错

星期四

14

65536

1

31

报错

星期六

15

65536

12

1

报错

星期三

16

65536

12

31

报错

星期五

17

1900

1

0

报错

报错

18

1900

1

32

报错

星期四

19

1900

12

0

报错

报错

20

1900

12

32

报错

星期二

21

65535

1

0

报错

报错

22

65535

1

32

报错

星期日

23

65535

12

0

报错

报错

24

65535

12

32

报错

星期四

25

1900

0

1

报错

报错

26

1900

0

31

报错

报错

27

1900

13

1

报错

星期一

28

1900

13

31

报错

星期三

29

65535

0

1

报错

报错

30

65535

0

31

报错

报错

31

65535

13

1

报错

星期三

32

65535

13

31

报错

星期五

【任务4】

指出程序的不足之处,提出错误推测。

1.无法区分大小月

2.无法区分闰年与非闰年

3.对月份,日期的最大值没有限定,这两个值也可以为负数

4.对于年份溢出没有提示和防范

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

当前位置:首页 > 医药卫生 > 基础医学

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

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