软件测试实验报告材料文档格式.docx

上传人:b****5 文档编号:21263885 上传时间:2023-01-29 格式:DOCX 页数:23 大小:185.24KB
下载 相关 举报
软件测试实验报告材料文档格式.docx_第1页
第1页 / 共23页
软件测试实验报告材料文档格式.docx_第2页
第2页 / 共23页
软件测试实验报告材料文档格式.docx_第3页
第3页 / 共23页
软件测试实验报告材料文档格式.docx_第4页
第4页 / 共23页
软件测试实验报告材料文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

软件测试实验报告材料文档格式.docx

《软件测试实验报告材料文档格式.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告材料文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

软件测试实验报告材料文档格式.docx

m,&

n,&

p,&

q);

if(m>

0&

&

n<

6)

{

m=n+3;

n=n*2;

}

if(p>

5||q<

0)

{

p=2*q+5;

q++;

}

printf("

输出的四个数是:

%d,%d,%d,%d\n"

m,n,p,q);

return;

}

(2)分别依据白盒测试逻辑覆盖法中的语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、条件组合覆盖的原理设计相应的测试用例。

(3)根据给定的流程图,实际运行测试用例,检测程序的实现是否正确。

三.程序流程图

运行结果

语句覆盖:

测试用例

取值条件

具体取值条件

m=1,n=2,p=6,q=-1

T1,T2,T3,T4

m>

0,n<

6,p>

5,q<

m=2,n=3,p=4,q=1

T1,T2,F3,F4

6,p<

5,q>

m=-1,n=7,p=7,q=-2

F1,F2,T3,T4

m<

0,n>

m=-2,n=4,p=3,q=3

F1,F2,F3,F4

判定覆盖:

判定条件

输入:

{m=3,n=2,p=9,q=-3}

输出:

{m=5,n=4,p=-1,q=-2}

0andn<

6

p>

5orq<

{m=-4,n=10,p=2,q=4}

{m=-4,n=10,p=2,q=4}

0andn>

p<

5orq>

条件覆盖:

{m=1,n=7,p=6,q=2}

{m=1,n=7,p=9,q=3}

T1,F2,T3,F4

{m=-3,n=4,p=1,q=-1}

{m=-3,n=4,p=3,q=0}

F1,T2,F3,T4

判定-条件覆盖:

{m=1,n=2,p=6,q=-1}

{m=5,n=4,p=3,q=0}

{m=-1,n=9,p=4,q=2}

{m=-1,n=9,p=4,q=2}

条件组合覆盖:

覆盖条件

{m=1,n=7,p=6,q=1}

{m=1,n=7,p=7,q=2}

{m=-1,n=2,p=3,q=-1}

{m=-1,n=2,p=3,q=0}

{m=-1,n=7,p=3,q=1}

{m=-1,n=7,p=3,q=0}

四.实验内容中遇到的问题、解决方法和体会。

答:

遇到的问题:

实验过程中,编写程序有点问题,总是输不出结果,不断进行检查和调试,以至于花费很多时间。

解决方法:

通过自己检查和调试和向同学寻求帮助得以解决问题,最后运行得到结果。

体会:

通过这次实验,我知道了只有自己动手去做,才会知道自己还有哪些不足,才能不断提高自己的实践能力。

同时,我还知道了白盒覆盖的几种覆盖方法以及它们之间的区别。

总之,我们要知道理论和实践相结合的重要性,通过不断实践来提高自己的能力。

基于白盒测试的用例设计与验证

(二)

(1)熟悉二分查找算法,能正确实现程序

(2)掌握白盒测试的基本路径测试法,重点掌握如何根据程序控制流计算程序的环路复杂度,并且确定程序基本路径。

(1)选择一门语言,完成二分查找的实现;

源代码:

intfind(int*arry,intleng,intkey)

intlow=1;

intmid;

inthigh=leng;

while(low<

=high)

mid=(low+high)/2;

if(key>

arry[mid-1])

low=mid;

elseif(key<

high=mid;

else

returnmid;

return0;

intmain()

inta[10];

inti,m,n;

for(i=0;

i<

10;

i++)

a[i]=i+1;

do

{

请输入查找数(1~10!

):

"

scanf("

%d"

m);

}while(m>

10||m<

1);

n=find(a,10,m);

查询值为a[%d]\n"

n-1);

(2)完成相应的程序控制流图,并计算出程序的环路负责度;

(3)确定程序的基本路径,设计相应的测试用例,覆盖确定的基本路径。

程序控制流图如下:

由程序控制图可知环路复杂度为5,因此有5条基本路径。

基本路径1:

A-B-A

基本路径2:

A-B-C-D-E-A

基本路径3:

A-B-C-D-E-F-H-C-D-E-A

基本路径4:

A-B-C-D-E-G-I-C-D-E-A

基本路径5:

A-B-C-D-E-F-H-C-D-E-G-I-C-D-E-A

测试用例图:

预期输出

结果输出

通过路径

M=0

Error!

---

基本路径1

M=5

a[4]

查询值为a[4]

基本路径2

M=3

a[2]

查询值为a[2]

基本路径3

M=7

a[6]

查询值为a[6]

基本路径4

M=4

A[3]

查询值为a[3]

基本路径5

运行结果:

三.实验内容中遇到的问题、解决方法和体会。

编写的程序有错误不知道该怎么改。

解决方法:

通过向同学寻求帮助解决,最后运行得到结果。

体会:

通过这次实验,感觉自己C语言的基础太差,以后要加强对C语言的学习。

通过这次实验,我还知道了怎样计算出程序的环路复杂度,还有如何完成相应的程序控制流图。

基于黑盒测试的用例设计与验证

(一)

(1)理解黑盒测试的基本原理;

(2)掌握黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。

(1)选择一门语言,完成以下程序:

输入三个整数,三角形三条边的长度,输出三角形所属的类型。

#include<

doubletriangle(doublea,doubleb,doublec)

{

if(a+b>

c&

b+c>

a&

a+c>

b)

return1;

else

return0;

doubledengbian(doublea,doubleb,doublec)

if(a==b&

b==c)

doubledengyao(doublea,doubleb,doublec)

if(a==b||b==c||a==c)

doublezhijiao(doublea,doubleb,doublec)

if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)

doublea,b,c;

请输入三角形三边:

"

%lf"

&

a);

b);

c);

if(triangle(a,b,c))

if(dengbian(a,b,c))

printf("

等边三角形\n"

elseif(dengyao(a,b,c)&

zhijiao(a,b,c))

等腰直角三角形\n"

elseif(dengyao(a,b,c))

等腰三角形\n"

elseif(zhijiao(a,b,c))

直角三角形\n"

else

一般三角形\n"

不能构三角形\n"

(2)依据黑盒测试中的等价类划分法,边界值分析法设计相应的测试用例。

等价类划分:

编号

等价类

输入

输出

1

三边为数字字符

234

一般三角形

2

两边之和大于第三边

3

两边相等且两边之和大于第三边

334

等腰三角形

4

两边相等且满足a*a+b*b=c*c

2*2+2*2=8

等腰直角三角形

5

能构成三角形且满足a*a+b*b=c*c

3*3+4*4=25

直角三角形

6

能构成三角形且三边相等

222

等边三角形

7

三边中出现了非数字字符

a23

不能构成三角形

8

两边之和小于第三边

236

9

三边中出现了负数

-113

边界值分析法

编号

边界值

测试用例的设计思路

1

数字字符

出现了除数字字符之外的符号

如输入:

a23,则不能构成三角形,反之成立

2

边长

三边大于0

如果输入的数中有小于0的数,则不能构成三角形,反之成立

3

三边边长之和

如果两边之和小于第三边,则不能构成三角形,反之成立

(3)利用设计的测试用例测试编写的程序。

编写代码出现了一点问题,用等价类划分时不知道该怎么划分。

通过查看书本和向同学寻求帮助解决。

通过这次实验,我知道了黑盒测试的基本原理,掌握了黑盒测试的等价类划分法与边界值分析法,并能够根据相应的方法设计测试用例。

在此次实验中也遇到了一些问题,不过出现问题才能知道我们的不足之处,然后改正并完善。

所以遇到困难应该想办法解决,大胆尝试,这样才能提高自己的能力。

基于黑盒测试的用例设计与验证

(二)

(2)掌握黑盒测试的判定表设计方法;

(3)能够根据判定表完成测试用例的生成。

输入年月日,输出该日的下一日日期。

intyear,month,day,flag=0;

m:

pleaseinputyearmonthday:

%d%d%d"

year,&

month,&

day);

if((year%4==0&

year%100!

=0)||year%400==0)

flag=1;

//当年份为闰年时,flag为1

if(month==2)//月份为2

if((day==28&

flag==0)||(day==29&

flag==1))

day=1;

month++;

//如果是平年的第28天或者闰年的第29天,则day复位,month加一

elseif(day==29&

flag==0)//平年输入29天为错误

thereisnot29thFebruary!

year);

gotom;

else//其他日期,则day加一

day++;

elseif(month==12)//月份为12

if(day==31)//如果是输入31,则day复位,month复位,year++

day=1;

month=1;

year++;

else//如果是其他日期,则day++

elseif(month==1||month==3||month==5||month==7||month==8||month==10)//月份为1,3,5,7,8,10

if(day==31)//如果输入31,则day复位,month加一

else//如果是其他日期,则day加一

else//月份为4,6,9,11

if(day==30)//如果输入30,则day复位,month加一

thenextdayis%4d%4d%4d\n"

year,month,day);

(2)利用黑盒测试中的判定表法确定程序的条件项,条件桩,动作项,动作桩,完成并优化判定表。

条件桩:

(1)1<

=month<

=12

(2)1<

=day<

=31

(3)2月平年28天,闰年29天

动作桩:

(1)日期加1

(2)日期复位

(3)月份加1

(4)月份复位

(5)年份加1

(6)不可能

条件

序号

4

5

7

8

9

10

11

12

13

14

15

每月30天

每月31天,12月除外

12月

2月

平年

-

闰年

1<

=日期<

=27

日期=30天

日期=31天

日期=28天

日期=29天

动作

日期加1

日期复位

月份加1

月份复位

年份加1

不可能

(3)根据判定表完成测试用例的设计,并结合编写的程序完成实际的测试工作。

测试用例

20090430

200951

每月31天

20130731

201381

2月平年28天

20010228

200131

2月闰年29天

20000229

200031

12月31天

20141231

201511

2月输入30天

20000230

错误的输入

每月30天时输入31

20080631

月份大于12

20121325

输入中含有非数字字符

20110a12

实验中编写代码的时候出现了许多问题,导致运行的不到结果;

还有写判定表的时候不知道该怎么写,大脑有点混乱,不过最后判定表写出来了,虽然不知道是否正确。

代码部分通过调试和向同学求助解决,最后运行得到正确的结果;

判定表部分通过自己查看书本和不断思考解决。

通过这次实验,我知道了判定表并不是像我们想象的那么好写,如果思绪紊乱就可能写不出来;

同时我们要不断地锻炼自己,这样才能更好地提高自己的实践能力。

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

当前位置:首页 > 外语学习 > 日语学习

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

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