软件测试 实验报告三.docx

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

软件测试 实验报告三.docx

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

软件测试 实验报告三.docx

软件测试实验报告三

实验报告三

课程名称

软件测试技术

实验日期

3.7-3.21

实验项目名称

白盒测试

实验地点

1#617

实验类型

□验证型

设计型□综合型

学时

8

实验组成员

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

掌握白盒测试方法,使用各类代码覆盖率方法及基本路径测试方法对代码进行手工测试。

二、实验环境(本实验所使用的硬件设备和相关软件)

硬件:

微型计算机

软件:

要求安装有微软Windows操作系统、word、VC++或者MyEclipse

网络:

可以访问互联网

三、实验内容

单元测试脚本1:

给定三个正整数作为三角形的三条边,判定是否构成三角形以及所属三角形的种类。

//C语言

#include

voidmain()

{

inta,b,c;

printf("Enterthreenumbers:

");

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

if((a+b>c)&&(b+c>a)&&(a+c>b))

{

if((a==b)&&(b==c))printf("等边三角形");

if((a==b)||(b==c)||(a==c))printf("等腰三角形");

elseprintf("普通三角形");

}

elseprintf("不是三角形");

printf("\n");

}

//Java语言

importjava.util.Scanner;

publicclasstestTriangle{

publicstaticvoidmain(String[]args){

inta,b,c;

Scannersc=newScanner(System.in);

System.out.print("Enterthreenumbers:

");

a=sc.nextInt();

b=sc.nextInt();

c=sc.nextInt();

if((a+b>c)&&(b+c>a)&&(a+c>b))

{

if((a==b)&&(b==c))System.out.println("等边三角形");

if((a==b)||(b==c)||(a==c))System.out.println("等腰三角形");

elseSystem.out.println("普通三角形");

}

elseSystem.out.println("不是三角形");

System.out.println("\n");

}

}

单元测试脚本2:

给定10组整数序列,每组三个整数,计算每组的最大数并输出。

#include

voidmain()

{

inti,a,b,c;

i=0;

while(i<10)

{

printf("Enterthreenumbers:

");

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

if(a>b)

{

if(a>c)printf("max:

a=%d\n",a);

elseif(a==c)printf("max:

a=c=%d\n",a);

elseprintf("max:

c=%d\n",c);

}

else

{

if(a==b)

{

if(a>c)printf("max:

a=b=%d\n",a);

elseif(a==c)printf("max:

a=b=c=%d\n",a);

elseprintf("max:

c=%d\n",c);

}

else

{

if(b>c)printf("max:

b=%d\n",b);

elseif(b==c)printf("max:

b=c=%d\n",b);

elseprintf("max:

c=%d\n",c);

}

}

i++;

}

}

主要工作内容:

1、依据语句覆盖、分支覆盖、条件覆盖、基本路径测试分别给出测试用例,用word表格记录;

序号

测试用例设计依据

测试数据

预期结果

实际结果

a

b

c

1

语句覆盖

2

3

4

XXX

5

6

2、执行测试用例,将执行结果填入表格,给出bug报告;

3、给出修改建议。

注意:

1、测试用例包括测试数据及预期结果;

2、基本路径测试要求画出程序流程图、控制流图,计算环形复杂度,给出路径并导出测试用例。

拓展实验

工资管理程序

工资管理程序部门伪代码,请用判定覆盖标准进行分析并设计测试用例。

//DSize-DEPTTAB表的长度;ESize-EMPTAB表的长度

voidBonus(TABLEEMPTAB,TABLEDEPTTAB,intESIZE,intDSIZE,intERRCODE)

{

intMaxSales=0;

ERRCODE=0;

if((ESIZE<=0)||(DSIZE<=0))ERRCODE=1;

else

{

for(inti:

=1;i<=DSIZE;i++)//找最大销售量

{

if(Sales[i]>MaxSales)MaxSales=Sales[i];

}

for(intj=1;j<=DSize;j++)

{

if(Sales[j]==MaxSales)

{

Boolfound=false;

for(intk=1;k<=ESize;k++)

{

if(EMPTAB.Dept(k)==DEPTTAB.Dept(j))

{

found=true;

if(salary(k)>=15000||Job(k)==’M’)

salary(k)=salary(k)+100;

else

salary(k)=salary(k)+200;

}

}

if(!

found)ERRCODE=2;

}

}}}

 

Name

Jobcode

Dept

Salary

雇员表(EMPTTAB)

Dept

Sales

部门表(DEPTTAB)

四、实验步骤

1、研究单元测试脚本设计思路;

2、根据代码设计说明设计测试用例;

3、对单元测试代码进行测试并记录测试结果;

4、对拓展实验测试内容进行分析并设计测试用例;

5、整理并提交实验报告。

五、实验结果

1、依据语句覆盖、分支覆盖、条件覆盖、基本路径测试分别给出测试用例,用word表格记录;

序号

测试用例设计依据

测试数据

预期结果

实际结果

a

b

c

1

语句覆盖

1

2

3

不是三角形

不是三角形

2

2

2

2

等边三角形

等边三角形

等腰三角形

3

2

3

4

普通三角形

普通三角形

5

分支覆盖

2

2

2

等边三角形

等边三角形

等腰三角形

6

2

2

3

等腰三角形

等腰三角形

7

2

3

4

普通三角形

普通三角形

8

1

2

3

不是三角形

不是三角形

9

条件覆盖

1

2

3

不是三角形

不是三角形

10

3

2

1

不是三角形

不是三角形

11

2

3

1

不是三角形

不是三角形

12

2

2

3

等腰三角形

等腰三角形

13

2

2

2

等边三角形

等腰三角形

等边三角形

等腰三角形

14

2

3

2

等腰三角形

等腰三角形

15

2

3

4

普通三角形

普通三角形

条件覆盖详细步骤:

判定条件

测试数据

预期结果

实际结果

a+b>c

b+c>a

a+c>b

a==b

b==c

a==c

a

b

c

F

1

2

3

不是三角形

不是三角形

T

F

3

2

1

不是三角形

不是三角形

T

T

F

2

3

1

不是三角形

不是三角形

T

T

T

T

F

2

2

3

等腰三角形

等腰三角形

T

T

T

T

T

2

2

2

等边三角形

等腰三角形

等边三角形

等腰三角形

T

T

T

F

T

2

3

2

等腰三角形

等腰三角形

T

T

T

F

F

2

3

4

普通三角形

普通三角形

代码流程图

基本路径测试:

环形复杂度为4。

Path1:

1-2-8-9

Path2:

1-2-3-4-9

Path3:

1-2-3-5-6-9

Path4:

1-2-3-5-7-9

Path

测试用例设计依据

测试数据

预期结果

实际结果

a

b

c

1

基本路径测试

1

2

3

不是三角形

不是三角形

2

2

2

2

等边三角形

等边三角形

等腰三角形

3

2

2

3

等腰三角形

等腰三角形

4

2

3

4

普通三角形

普通三角形

修改建议,在“if((a==b)||(b==c)||(a==c))printf("等腰三角形");”语句前面加一个else

即将语句改为“elseif((a==b)||(b==c)||(a==c))printf("等腰三角形");”

基本路径测试

环形复杂度为4。

 

2、

 

序号

测试用例设计依据

测试数据

预期结果

实际结果

i

a

b

c

1

语句覆盖

0

3

2

2

max:

a=3

max:

a=3

2

1

3

2

3

max:

a=c=3

max:

a=c=3

3

2

3

2

4

max:

c=4

max:

c=4

4

3

3

3

2

max:

a=b=3

max:

a=b=3

5

4

3

3

3

max:

a=b=c=3

max:

a=b=c=3

6

5

3

3

4

max:

c=4

max:

c=4

7

6

2

3

2

max:

b=3

max:

b=3

8

7

2

3

3

max:

b=c=3

max:

b=c=3

9

8

2

3

4

max:

c=4

max:

c=4

10

分支覆盖

0

4

3

3

max:

a=4

max:

a=4

11

1

4

3

4

max:

a=c=4

max:

a=c=4

12

2

4

3

5

max:

c=5

max:

c=5

13

3

4

4

3

max:

a=b=4

max:

a=b=4

14

4

4

4

4

max:

a=b=c=4

max:

a=b=c=4

15

5

4

4

5

max:

c=5

max:

c=5

16

6

3

4

3

max:

b=4

max:

b=4

17

7

3

4

4

max:

b=c=4

max:

b=c=4

18

8

3

4

5

max:

c=5

max:

c=5

19

条件覆盖

0

3

2

1

max:

a=3

max:

a=3

20

1

3

3

3

max:

a=b=c=3

max:

a=b=c=3

21

10

4

5

6

结束

结束

 

i

i<10

a>b

a>c

a==c

a==b

a>c

a==c

b>c

b==c

a

b

c

预期结果

实际结果

0

 

T

T

T

3

2

2

max:

a=3

max:

a=3

1

F

T

3

2

3

max:

a=c=3

max:

a=c=3

2

F

F

3

2

4

max:

c=4

max:

c=4

3

F

T

T

3

3

2

max:

a=b=3

max:

a=b=3

4

F

T

3

3

3

max:

a=b=c=3

max:

a=b=c=3

5

F

F

3

3

4

max:

c=4

max:

c=4

6

F

T

2

3

2

max:

b=3

max:

b=3

7

F

T

2

3

3

max:

b=c=3

max:

b=c=3

8

F

F

2

3

4

max:

c=4

max:

c=4

9

1

2

3

max:

c=3

max:

c=3

10

F

2

3

5

执行结束

执行结束

 

 

 

复杂度:

10

Path1:

1-2-21

Path2:

1-2-3-4-5-20-2-21

Path3:

1-2-3-4-6-7-20-2-21

Path4:

1-2-3-4-6-7-8-20-2-21

Path5:

1-2-3-9-10-11-20-2-21

Path6:

1-2-3-9-15-17-20-2-21

Path7:

1-2-3-9-10-12-13-20-2-21

Path8:

1-2-3-9-10-12-14-20-2-21

Path9:

1-2-3-9-15-16-18-20-2-21

Path10:

1-2-3-9-15-16-19-20-2-21

 

序号

测试用例设计依据

测试数据

预期结果

实际结果

a

b

c

i

path1

基本路径测试

0

path2

3

2

1

1

max:

a=3

max:

a=3

Path3

3

2

3

2

max:

a=c=3

max:

a=c=3

Path4

2

1

3

3

max:

c=3

max:

c=3

Path5

3

3

1

4

max:

a=b=3

max:

a=b=3

Path6

3

3

3

5

max:

a=b=c=3

max:

a=b=c=3

Path7

2

2

3

6

max:

c=3

max:

c=3

Path8

2

3

1

7

max:

b=3

max:

b=3

Path9

1

3

3

8

max:

b=c=3

max:

b=c=3

Path10

1

2

3

9

max:

c=3

max:

c=3

 

3.

测试数据

预期结果

测试结果

雇员表(EMPTTAB):

Name

Jobcode

Dept

Salary

部门表(DEPTTAB):

Dept

Sales

ERRCode=1

ERRCode=1即表格中无数据

雇员表(EMPTTAB):

Name

Jobcode

Dept

Salary

张三

经理

A

13000

李四

普员

B

16000

王五

普员

A

3000

部门表(DEPTTAB):

Dept

Sales

A

50万

B

45万

C

50万

ERRCode=2

Name

Jobcode

Dept

Salary

张三

经理

A

13100

李四

普员

B

16000

王五

普员

A

3200

ERRCode=2

Name

Jobcode

Dept

Salary

张三

经理

A

13100

李四

普员

B

16000

王五

普员

A

3200

 

六、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

通过这三次的上机实验,通过分析实验程序,用不同的白盒测试方法设计测试用例,也测试出来一些问题,并解决实施,过程中遇到了很多问题,甚至分不清语句覆盖、条件覆盖、判定覆盖的区别,经过和同学探讨,解决了不少问题,以后会继续努力的

实验成绩

指导教师签名:

年月日

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

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

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

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