黑盒测试软件测试实验报告2

黑盒测试软件测试实验报告2

2023年7月16日发(作者:)

软件测试与质量课程实验报告

实验2:

黑盒测试法实验

姓名

院系

学号

任课教师

实验地点

实验目的

实验指导教师

实验时间

系统地学习和理解照盒测试的基本概念、原理

•熟悉和掌握等价类划分法,边界值分析法和决策表方法

掌握测试用例编写要点

实验内容

1.

编写一个程序,循环从标准输入读入某雇员的工作时间(以小时计)和 每小时的工资数,计算并输出他的工资。若雇员月工作小时超过40小时,则 超过部分按原工资的1.5倍的加班工资來计算。若雇员月工作小时超过50小 时,则超过50的部分按原工资的3倍的加班工资來计算,而40到50小时的工 资仍按照原工资的1.5倍的加班工资来计算。

请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测

试用例对所编写的程序进行测试。

2.

给出某一天(年,月,日),计算出它的下一天,取值范围为:

年:1000v= year <=3000

月:l<=month<=12

如1999年3月4

口的下一天是:1999年3月5

要求:

输入:三个参数(年,月,日)

输出:如能正确计算,计算出它的下一天,

否则,输出相应的错误信息。

请利用决策表法设计出相应的测试用例,并依照测试用例对所编写的程序进行测

试。

实验结果

口:

l<=day<=31 1.等价类划分

输入条件

输入工作时间

有效等价类

⑴时间>=0且时间<40;

⑵时间>=40且时间<=50;

(3)时间A50且时间<=168

无效等价类

(4)

时间<0

(5)

时间a 168

(6)

输入的时间类型不是mt型

测试用例

测试用例编号

1

2

3

4

5

输入

30

45

55

-10

A

170

输出

300

570

1400

mput error

mput error

mput error

覆盖等价类

(1)

(4)

(6)

(5) 6

边界值分析

测试用例编号

1

2

3

4

5

6

7

8

9

输入

0

1

39

40

41

49

50

51

167

168

输出

0

20

780

800

830

1070

1100

1160

8120

8180 10

2.

(1)构造决策表

Ml={月份:30天/月}

M2={月份:31天/月,12月除夕卜}

M3={月份:12月}

M4={月份:2月}

D1={0

期:1<=

<=27}

D2={0

期:日=28}

D3={

口期:口

=29}

D4={

口期:口

=30} D5={日期:口=31}

Yl={年:闰年}

Y2={年:平年}

条件桩:

C1:月份在{Ml, M2, M3, M4}中之一

C2:

口期在{DI, D2, D3, D4, D5}中之一

C3:年在{Yl, Y2}中之一 动作桩:

A1:不可能

A2:日期增一

A3:日期复位(置一)

A4:月份增一

A5:月份复位(置一)

A6:年增一

决策表

1 2 3 4 5 6 7 8 9 10

C1:,

C2:

C3年

X

A1:不可能

A2日期增一

A3

口期复位

Ml

D1

Ml

D2

Ml

D3

Ml

D4

Ml

D5

M2

DI

M2

D2

M2

D3

M2

D4

M2

D5

V

V

J

J

J

J

V

J

V

J

(置一)

A4月份增一

A5月份复位

J

J

(置一)

A6年增一

11

C1:月

C2:

C3:年

12

M3

D2

13

M3

D3

14

M3

D4

15

M3

D5

16

M4

DI

17

M4

D2

Y1

18

M4

D2

Y2

19

M4

D3

Y1

20

M4

D3

Y2

21

M4

D4

22

M4

D5

M3

D1

A上不可能

A2日期增

V

V

J

V

J

V

J

V

V

A3

口期复

V

V

V

J

J

位(置A4月份增

A5月份复

V

V

位(置A6年增一

测试用例表

月份

用例ID

1-3

4

5

6-9

10

11-14

15

16

17

18

19

20

21,22

6

6

6

3

3

12

12

2

2

2

2

2

2

15/28/29

30

31

15/28/29/30

31

12/28/29/30

31

14

28

28

29

29

30/31

2013

2013

2013

2013

2013

2013

2013

2013

2004

2001

2005

2001

2001

2013

4

16/29/30

2013

7

1

口期 年 预期输出

输入错误,请重新输入

2013

3

16/29/30/31

2013

4

1

2013

12

13/29/30/31

2014

1

1

2013

2

15

2004

2

29

2001

3

1

2005

3

1

输入错误,请重新输入

输入错误,请重新输入

扣分

0

扣分原因(有扣分时填写)

缺席:扣10分

实验报告雷同:扣10分

总扣分不能大于10分

口期:

实验结果填写不完整:扣1-10分

其他情况:扣分<=5分 参考代码如下:

(1)程序参考答案:

存include

double maiii()

{

mt hours;

double payment,wage;

wage=20;

Mcout«please mput hours/1;

cin»liours;

if(hours>=0&&hours<= 168){

if (hours<40)

payment=hours * wage;

else if ((hours>=40) && (hours<=50))

payment=40*wage+(hours-40)* 1.5 *wage;

else if (hours>50)

pavment=40*wage+l 0* 1.5*wage+(hours-50)*3*wage;

Mcout«The final payment are:H«payment;

return payment;}

nelse cout«input errorH;

}

(2) #iiiclude

void main()

{

int veai;

J

z

int month,maxinonth= 12;

int y;

printfC1

请输入年份:(1000〜3000)”);

scanf^^d^&year);

if(vear<1000 || year>3000)

prmtf(n输入错误!请从新输入!

1T);

请输入年份:(1000-3000)M);

scanff^d^&yeai);

}

pnntf(”请输入月份:(1~12门;

scanf^'^d'^&month);

if(month12)

{

pnntf(”输入错误!请从新输入!

1T); pirntfC1

请输入月份:(1~12)”);

scanf(H%cl,&montli);

}

if(month==4||month==6| month==9||month=l 1) niaxdav=30;

else if(month=2) {

if(year%400==0 || yeai_%4=0) niaxdav=29;

else

niaxdav=28;

}

else

niaxdav=31;

printf(MiW输入口份:(1~31门;

scanf("%

if(davniaxday)

{

pnntf(”输入错误!请从新输入!

1T); printf(”请输入日份:scanf(H%d,&day);

}

if(month==maxinontli && day=niaxdav) {

yeai-year+1;

month=l;

day-];

}

else if(day==maxday)

{

month=month+l; day-];

}

else

dav=day+l;

piimf(”下一天是%<1

年%(1 E%d

"^);

}

(1-31)");

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689457392a251417.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信