软件测试实验报告.doc

上传人:wj 文档编号:1294760 上传时间:2023-04-30 格式:DOC 页数:24 大小:396.50KB
下载 相关 举报
软件测试实验报告.doc_第1页
第1页 / 共24页
软件测试实验报告.doc_第2页
第2页 / 共24页
软件测试实验报告.doc_第3页
第3页 / 共24页
软件测试实验报告.doc_第4页
第4页 / 共24页
软件测试实验报告.doc_第5页
第5页 / 共24页
软件测试实验报告.doc_第6页
第6页 / 共24页
软件测试实验报告.doc_第7页
第7页 / 共24页
软件测试实验报告.doc_第8页
第8页 / 共24页
软件测试实验报告.doc_第9页
第9页 / 共24页
软件测试实验报告.doc_第10页
第10页 / 共24页
软件测试实验报告.doc_第11页
第11页 / 共24页
软件测试实验报告.doc_第12页
第12页 / 共24页
软件测试实验报告.doc_第13页
第13页 / 共24页
软件测试实验报告.doc_第14页
第14页 / 共24页
软件测试实验报告.doc_第15页
第15页 / 共24页
软件测试实验报告.doc_第16页
第16页 / 共24页
软件测试实验报告.doc_第17页
第17页 / 共24页
软件测试实验报告.doc_第18页
第18页 / 共24页
软件测试实验报告.doc_第19页
第19页 / 共24页
软件测试实验报告.doc_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件测试实验报告.doc

《软件测试实验报告.doc》由会员分享,可在线阅读,更多相关《软件测试实验报告.doc(24页珍藏版)》请在冰点文库上搜索。

软件测试实验报告.doc

桂林航天工业学院

课程设计报告

课程名称:

软件测试

专业:

软件技术

学号:

201102520xxx

姓名:

指导教师:

实验一黑盒测试

一.实验目的

(1)能熟练应用黑盒测试技术进行测试用例设计;

(2)对测试用例进行优化设计;

二.实验内容

1.三角形问题的边界值分析测试用例

在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。

在此,我们将三角形每边边长的取范围值设值为[1,100]。

在三角形问题中,有四种可能的输出:

等边三角形、等腰三角形、一般三角形和非三角形。

利用这些信息能够确定下列输出(值域)等价类。

R1={:

边为a,b,c的等边三角形}

R2={:

边为a,b,c的等腰三角形}

R3={:

边为a,b,c的一般三角形}

R4={:

边为a,b,c不能组成三角形}

2.找零钱最佳组合

假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。

假定此商店的货币面值只包括:

50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。

请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。

三、程序代码

1.三角形问题程序。

#include

intmain(void){

inta,b,c;//定义三个整数a,b,c

printf("请输入1到100的三个整数:

");

scanf("%d%d%d",&a,&b,&c);

if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(b>=1&&b<=100))//判断取值范围

{

if((a+b>c)&&(a+c>b)&&(b+c>a))//判断是否构成三角形

{

if(a==b&&b==c)

printf("等边三角形\n");

elseif(a==b||a==c||b==c)

printf("等腰三角形\n");

else

printf("一般三角形\n");

}

else

printf("不能组成三角形\n");

}

else

printf("输入1到100的三个整数!

\n");

return0;

}

2.找零钱最佳组合问题程序。

#include"stdio.h"

voidcalc(int);//计算找钱

intmain(void){

intR,P;

while

(1){

printf("请输入商品的价格:

");

scanf("%d",&R);

if(0

{

printf("请输入支付的金额:

");

scanf("%d",&P);

if(0

{

R=P-R;

if(R<0)

printf("不够钱支付!

\n");

elseif(R==0)

printf("不用找零钱!

\n");

else

printf("\n");

calc(R);

printf("\n");

}

else

printf("支付金额大于0不大于100!

\n");

}

else

printf("价格应大于0不大于100!

\n");

}

return0;

}

voidcalc(intR)

{

intN50,N10,N5,N1;

N50=N10=N5=N1=0;

printf("找零钱:

¥%d\n",R);

while(R-50>=0){

N50+=1;

R-=50;

}

while(R-10>=0){

N10+=1;

R-=10;

}

while(R-5>=0){

N5+=1;

R-=5;

}

while(R-1>=0){

N1+=1;

R-=1;

}

printf("............\n");

printf("¥50x%d\n",N50);

printf("¥10x%d\n",N10);

printf("¥5x%d\n",N5);

printf("¥1x%d\n",N1);

printf("............\n");

printf("Total:

%d\n",N50+N10+N5+N1);

}

四、写出划分的等价类

1.三角形问题划分等价类

有效等价类

① a,b,c为整数。

② a,b,c的取值范围在[1,100]。

③ 任意两边的和大于第三边。

④ 三条边相等。

⑤ 任意两边相等。

⑥ 一般三角形。

无效等价类

⑦ a,b,c的取值范围不在[1,100]。

⑧ 任意两边的和小于第三边。

⑨ 不是整数(字母、字符、小数)

2.找零钱最佳组合问题划分等价类

有效等价类

① 0

② 0

③ 0≤N1≤4

④ 0≤N5≤1

⑤ 0≤N10≤4

⑥ 0≤N50≤1

无效等价类

⑦ R≤0

⑧ R>100

⑨ P≤0

⑩ P>100

五、根据等价类设计的测试用例

三角形问题等价类测试用例:

用例编号

输入的数据

预期输出

实际输出

覆盖的等价类

a

b

c

1

50

50

50

等边三角形

等边三角形

③④

2

50

50

2

等腰三角形

等腰三角形

①②③⑤

3

3

4

5

一般三角形

一般三角形

①②⑥

4

101

2

1

输入1到100的三个整数

输入1到100的三个整数

5

3

2

1

不能组成三角形

不能组成三角形

①②⑧

6

z

x

y

输入1到100的三个整数

输入1到100的三个整数

7

!

*

@

输入1到100的三个整数

输入1到100的三个整数

8

0.1

0.8

0.3

输入1到100的三个整数

输入1到100的三个整数

找零钱最佳组合问题等价类测试用例:

用例编号

输入的数据

预期输出

实际输出

覆盖的等价类

R

P

1

1

2

N1=1

N1=1

①②③

2

5

10

N5=1

N5=1

①②④

3

10

50

N10=4

N10=4

①②⑤

4

50

100

N50=1

N50=1

①②⑥

5

4

10

N5=1,N1=1

N5=1,N1=1

①②③④

6

32

50

N10=1,N5=1,N1=3

N10=1,N5=1,N1=3

①②③④⑤

7

34

100

N50=1,N10=1,N5=1,N1=1

N50=1,N10=1,N5=1,N1=1

①②③④⑤⑥

8

0

100

价格应大于0不大于100

价格应大于0不大于100

②⑦

9

3

2

不够钱支付

不够钱支付

①②

10

5

5

不用找零钱

不用找零钱

①②

11

100

0

支付金额大于0不大于100

支付金额大于0不大于100

①⑨

12

101

100

价格应大于0不大于100

价格应大于0不大于100

②⑧

13

100

101

支付金额大于0不大于100

支付金额大于0不大于100

①⑩

六、根据边界值分析法设计测试用例

1.三角形问题边界值分析法测试用例:

根据输入值分析边界值:

① 边界值为0

② 边界值为1

③ 边界值为2

④ 边界值为99

⑤ 边界值为100

⑥ 边界值为101

用例编号

输入的数据

预期输出

实际输出

覆盖的边界值

a

b

c

1

0

50

50

输入1到100的三个整数

输入1到100的三个整数

2

1

50

50

等腰三角形

等腰三角形

3

2

50

50

等腰三角形

等腰三角形

4

99

50

50

等腰三角形

等腰三角形

5

100

50

50

等腰三角形

等腰三角形

6

101

50

50

输入1到100的三个整数

输入1到100的三个整数

7

50

0

50

输入1到100的三个整数

输入1到100的三个整数

8

50

1

50

等腰三角形

等腰三角形

9

50

2

50

等腰三角形

等腰三角形

10

50

99

50

等腰三角形

等腰三角形

11

100

50

50

等腰三角形

等腰三角形

12

50

101

50

输入1到100的三个整数

输入1到100的三个整数

13

50

50

0

输入1到100的三个整数

输入1到100的三个整数

14

50

50

1

等腰三角形

等腰三角形

15

50

50

2

等腰三角形

等腰三角形

16

50

50

99

等腰三角形

等腰三角形

17

50

50

100

等腰三角形

等腰三角形

18

50

50

101

输入1到100的三个整数

输入1到100的三个整数

2.找零钱最佳组合问题边界值分析法测试用例:

根据输入值分析边界值:

a)R的边界值为0

b)R的边界值为1

c)R的边界值为-1

d)R的边界值为99

e)R的边界值为100

f)R的边界值为101

g)P的边界值为0

h)P的边界值为1

i)P的边界值为-1

j)P的边界值为99

k)P的边界值为100

l)P的边界值为101

根据输出值分析边界值:

① 找50元1张

② 找10元4张

③ 找10元3张

④ 找10元2张

⑤ 找10元1张

⑥ 找5元1张

⑦ 找1元4张

⑧ 找1元3张

⑨ 找1元2张

⑩ 找1元1张

用例编号

输入的数据

预期输出

实际输出

覆盖的边界值

R

P

1

101

50

价格应大于0不大于100

价格应大于0不大于100

f

2

0

50

价格应大于0不大于100

价格应大于0不大于100

a

3

-1

50

价格应大于0不大于100

价格应大于0不大于100

c

4

50

101

支付金额大于0不大于100

支付金额大于0不大于100

l

5

50

0

支付金额大于0不大于100

支付金额大于0不大于100

g

6

50

-1

支付金额大于0不大于100

支付金额大于0不大于100

i

7

100

50

不够钱支付

不够钱支付

e

8

96

100

N1=4

N1=4

k⑦

9

95

100

N5=1

N5=1

k⑥

10

91

100

N5=1,N1=4

N5=1,N1=4

k⑥⑦

11

90

100

N10=1

N10=1

k⑤

12

51

100

N10=4,N5=1,N1=4

N10=4,N5=1,N1=1

k②⑥⑦

13

50

100

N50=1

N50=1

k①

14

1

2

N1=1

N1=1

b⑩

15

1

3

N1=2

N1=2

b⑨

16

97

100

N1=3

N1=3

k⑧

17

80

100

N10=2

N10=2

k④

18

70

100

N10=3

N10=3

k③

19

60

100

N10=4

N10=4

k②

20

2

1

不够钱支付

不够钱支付

h

21

99

50

不够钱支付

不够钱支付

d

黑盒测试实验二

一.实验目的

(1)能熟练应用黑盒测试技术进行测试用例设计;

(2)对测试用例进行优化设计;

二.实验内容

1.NextDate函数的边界值分析测试用例

程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:

1≤month≤12、1≤day≤31、1900≤year≤2050。

),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。

例如,输入为2005年11月30日,则该程序的输出为2005年12月1日。

请用等价类测试和边界测试法设计测试用例。

三、程序代码

#include"stdio.h"

intmain(void){

intyear;

intmonth;

intday;

printf("请输入年份:

");

scanf("%d",&year);

while(!

(year>=1900&&year<=2050))//判断年是否有效

{

printf("输入的年份不正确!

\n");

return;

}

printf("请输入月份:

");

scanf("%d",&month);

while(month>12||month<1)//判断月是否有效

{

printf("月份输入有误,请重新输入!

\n");

return;

}

printf("请输入日期号:

");

scanf("%d",&day);

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)//判断31天

{

while(day>31||day<1)//判断日否有效

{

printf("日期输入有误,请重新输入!

\n");

return;

}

}

if(month==4||month==6||month==9||month==11)//判断30天

{

while(day>30||day<1)//判断日否有效

{

printf("日期输入有误,请重新输入!

\n");

return;

}

}

if((year%4==0&&year%100!

=0)||(year%400==0))//检查闰年;

{

if(month==2)

{

if(day>29)

{

printf("本月是闰月,请在1-29之间重新输入日期!

\n");

return;

}

else

{

if(day==29)

{

day=1;

}

elseday++;

}

}

}

else

{

if(month==2)

{

if(day>28)

{

printf("本月是闰月,请在1-28之间从新输入日期!

\n");

return;

}

else

{

if(day==28)

{

day=1;

}

elseday++;

}

}

}

switch(month)//计算当前日期的下一天

{

case1:

case3:

case5:

case7:

case8:

case10:

if(day==31)

{

month++;

day=1;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

else{

day++;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

case2:

if(day==1)

{

month++;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

else{

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

case4:

case6:

case9:

case11:

if(day==30)

{

month++;

day=1;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

else{

day++;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

case12:

if(day==31)

{

year++;

month=1;

day=1;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

else{

day++;

printf("明天是:

%d/%d/%d\n",year,month,day);

break;

}

}

}

四、写出划分的等价类

输入条件

编号

有效等价类

编号

无效等价类

输入年份

1900<=year<=2050

year<1900

year>2050

输入月份

1<=month<=12

month<1

month>12

输入日期

1<=day<=31

day<1

day>31

输入类型

输入为int型

除int型外的任意输入

输入为闰年

输入2月29日

输入为闰年2月30日

输入为平年

输入2月28日

输入2月29日

五、根据等价类设计的测试用例

用例编号

输入的数据

预期输出

实际输出

覆盖的等价类

1

1988/2/3

1988/2/4

1988/2/4

⑴⑵⑶⑷

2

2000/2/29

2000/3/1

2000/3/1

3

2001/2/28

2001/3/1

2001/3/1

4

100/1/23

输入的年份不正确!

输入的年份不正确!

5

2300/3/2

输入的年份不正确入!

输入的年份不正确!

6

1912/0/3

月份输入有误,请重新输入!

月份输入有误,请重新输入!

7

1927/90/3

月份输入有误,请重新输入!

月份输入有误,请重新输入!

8

1956/3/-21

日期输入有误,请重新输入!

日期输入有误,请重新输入!

9

1972/3/43

日期输入有误,请重新输入!

日期输入有误,请重新输入!

10

Dasd@#¥%asdasdasd&……%ffgwgrwgrerhsxcvxfgdfg

程序进入死循环

程序进入死循环

11

2000/2/30

本月是闰月,请在1-29之间从新输入日期!

本月是闰月,请在1-29之间从新输入日期!

12

2001/2/29

本月是闰月,请在1-28之间从新输入日期!

本月是闰月,请在1-28之间从新输入日期!

六、边界值分析法测试用例:

a.month=0

b.month=1

c.month=2

d.month=11

e.month=12

f.month=13

g.day=0

h.day=1

i.day=2

j.day=30

k.day=31

l.day=32

m.year=1899

n.year=1900

o.year=1901

p.year=2049

q.year=2050

r.year=2051

用例编号

输入的数据

预期输出

实际输出

覆盖的边界值

month

day

year

1

6

15

1899

输入的年份不正确!

输入的年份不正确!

m

2

6

15

1900

1900.6.16

1900.6.16

n

3

6

15

1901

1901.6.16

1901.6.16

o

4

6

15

2049

1975.6.16

1975.6.16

p

5

6

15

2050

2049.6.16

2049.6.16

q

6

6

15

2051

输入的年份不正确!

输入的年份不正确!

r

7

6

0

1975

日期输入有误,请重新输入!

日期输入有误,请重新输入!

g

8

6

1

1975

1975.6.2

1975.6.2

h

9

6

2

1975

1975.6.3

1975.6.3

i

10

6

30

1975

1975.7.1

1975.7.1

j

11

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2