软件测试实验报告测试计划+黑盒测试+白盒测试.docx

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

软件测试实验报告测试计划+黑盒测试+白盒测试.docx

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

软件测试实验报告测试计划+黑盒测试+白盒测试.docx

软件测试实验报告测试计划+黑盒测试+白盒测试

河北民族师范学院

软件测试课程设计报告

 

题目:

NextDate函数

姓名:

班级:

学号:

指导老师:

 

2014.10.9

 

 

第1章软件测试的概念和设计要求

1.1测试目的

1.练习和掌握软件测试管理的一般过程与步骤;

2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作:

a)配置软件资产信息、软件需求、软件模型和缺陷数据库;

b)创建和管理多个测试组和用户;

c)配置测试环境、编写详细测试计划、安排测试进度;

d)设计测试脚本、测试用例;

e)实施测试、执行测试和评估测试。

1.2测试选题

NextDate函数;

1.3测试人员

张@@:

软件测试计划及相关资料的编写与收集。

李@@:

对特定问题编写程序代码,并对其进行黑盒测试。

王@@:

对特定问题编写程序代码,并对其进行白盒测试。

1.4测试方法

对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。

使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。

1.5测试资料及参考书

1.软件测试与维护基础教程,机械工业出版社,黄武

2.软件测试技术基础教程,电子工业出版社,顾海花

3.软件测试,清华大学出版社,周元哲

1.6关于黑盒测试

测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,这种测试方法称为黑盒测试(Black-boxTesting)方法。

黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。

它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。

黑盒测试的基本观点是:

任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。

􀂄黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。

1.黑盒测试的特点:

(1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。

(2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。

2.黑盒测试的具体技术方法:

●边界值分析法

●等价类划分法

●因果图法

●决策表法

1.7关于白盒测试

测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-boxTesting)方法。

白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。

白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。

白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。

通常的程序结构覆盖有:

●语句覆盖

●判定覆盖

●条件覆盖

●判定/条件覆盖

●路径覆盖

1.8、黑盒测试与白盒测试的比较

1.9软件测试过程

单元测试:

针对每个单元的测试,以确保每个模块能正常工作为目标。

集成测试:

对已测试过的模块进行组装,进行集成测试。

目的在于检验与软件设计相关的程序结构问题。

确认(有效性)测试:

是检验所开发的软件能否满足所有功能和性能需求的最后手段。

系统测试:

检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。

验收(用户)测试:

检验软件产品质量的最后一道工序。

主要突出用户的作用,同时软件开发人员也应有一定程度的参与。

1.10数据整理

测试所得到的用例测试报告、BUG报告,需要进行反馈和最后的归档,归档的工作按照项目计划中所规定的内容进行,反馈的工作在测试项结束后,整理成测试总结报告后进行,具体的日期,在项目计划中有规定。

不同阶段的测试,都需要重复以上的步骤。

其他必要的数据整理的工作,由项目经理在进行过程中进行安排。

 

第2章NextDate函数问题

2.1NextDate函数的黑盒测试

2.1.1.问题描述:

NextDate是一个有三个变量(月份、日期和年)的函数.函数返回输入日期后面的那个日期.变量月份、日期和年都具有整数值,且满足以下条件:

c1.l≤月份≤12

c2.1≤日期≤31

c3.1812≤年≤2012

2.1.2.程序代码(开发环境:

Windowsxpxp、c语言):

#include"stdafx.h"

#include

usingnamespacestd;

voidNextDate(intyear,intmonth,intday);

voidmain()

{

intyear=0,month=0,day=0;

NextDate(year,month,day);

}

voidNextDate(intyear,intmonth,intday)

{

cout<<"请输入年份:

"<

cin>>year;

while(!

(year>=1911&&year<=2013))

{

cout<<"年份超过界限,请重新输入"<

cin>>year;

}

cout<<"请输入月份:

"<

cin>>month;

while(month>12||month<1)

{

cout<<"月份输入有误,请重新输入"<

cin>>month;

}

cout<<"请输入日期:

"<

cin>>day;

while(day>31||day<1)

{

cout<<"日期输入有误,请重新输入"<

cin>>day;

}

while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&day==31)

{

cout<<"小月没有31号"<

cin>>day;

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

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

{

inti=0;

i=day-29;

while(month==2&&i>0)

{

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

cin>>day;

}

if(month==2&&day==29)

{

month=3;

day=1;

}

elseday++;

}

elseday++;

//月底计算;

switch(month)

{

case1:

case3:

case5:

case7:

case8:

case10:

if(day==32)

{

month++;

day=1;

cout<<"明天是:

"<

}

break;

case2:

if(day==29)

{

month=3;

day=1;

cout<<"明天是:

"<

}

break;

case4:

case6:

case9:

case11:

if(day==31)

{

month++;

day=1;

cout<<"明天是:

"<

}

break;

case12:

if(day==32)

{

year++;

month=1;

day=1;

cout<<"明天是:

"<

}

break;

}

cout<<"明天是:

"<

}

2.1.3.测试方法

黑盒测试(等价类划分+边界值分析+决策表方法)

2.1.4.测试用例设计

1.等价类划分方法

输入条件

编号

有效等价类

编号

无效等价类

输入年份

1912<=年<=2012

年<1912

年>2012

输入月份

1<=月份<=12

月<1

月>12

输入日期

1<=日期<=31

日期<1

日期>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

1800/1/23

年份输入有误,请重新输入

年份输入有误,请重新输入

5

2200/3/2

年份输入有误,请重新输入

年份输入有误,请重新输入

6

1912/0/3

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

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

7

1927/30/3

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

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

8

1956/3/-20

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

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

9

1972/3/43

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

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

10

asd

程序进入死循环

程序进入死循环

11

2000/2/30

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

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

12

2001/2/29

2001/2/30

2001/2/30

2.边界值分析方法

用例

月份

日期

预期输出

实际输出

1

6

15

1911

6/16/1911

6/16/1911

2

6

15

1912

6/16/1912

6/16/1912

3

6

15

1962

6/16/1962

6/16/1962

4

6

15

2012

6/16/2012

6/16/2012

5

6

15

2013

6/16/2013

6/16/2013

6

6

1

1962

6/2/1962

6/2/1962

7

6

2

1962

6/3/1962

6/3/1962

8

6

15

1962

6/16/1962

6/16/1962

9

6

30

1962

7/1/1962

7/1/1962

10

6

31

1962

非法输入

非法输入

11

1

15

1962

1/16/1962

1/16/1962

12

2

15

1962

2/16/1962

2/16/1962

13

6

15

1962

6/16/1962

6/16/1962

14

11

15

1962

11/16/1962

11/16/1962

15

12

15

1962

12/16/1962

12/16/1962

3.决策表方法

(1)month、day、year的有效等价类:

M1:

{month:

month有30天}

M2:

{month:

month有31天,12月除外}

M3:

{month:

month是12月}

M4:

{month:

month是2月}

D1:

{day:

1≤day≤27}

D2:

{day:

day=28}

D3:

{day:

day=29}

D4:

{day:

day=30}

D5:

{day:

day=31}

Y1:

{year:

year是闰年}Y2:

{year:

year不是闰年}

(2)根据各种有效的输入情况,程序中可能采取的操作有以下六种:

a1:

不可能a2:

day加1a3:

day复位

a4:

month加1a5:

month复位a6:

year加1

1~3

4

5

6~9

10

11~14

15

条件:

c1:

month在

c2:

day在

c3:

year在

M1

D1~D3

M1

D4

M1

D5

M2

D1~D4

M2

D5

M3

D1~D4

M3

D5

动作:

a1:

不可能

a2:

day加1

a3:

day复位

a4:

month加1

a5;month复位

a6:

year加1

 

 

 

 

 

 

16

17

18

19

20

21~22

条件:

c1:

month在

c2:

day在

c3:

year在

M4

D1

M4

D2

Y1

M4

D2

Y2

M4

D3

Y1

M4

D3

Y2

M4

D4~D5

动作:

a1:

不可能

a2:

day加1

a3:

day复位

a4:

month加1

a5;month复位

a6:

year加1

 

 

 

 

用例列表及其执行结果:

测试用例

Month

Day

Year

预期输出

1~3

9

16

2001

17/9/2001

4

9

30

2004

1/10/2004

5

9

31

2001

不可能

6~9

1

16

2004

17/1/2004

10

1

31

2001

1/2/2001

11~14

12

16

2004

17/12/2004

15

12

31

2001

1/1/2002

16

2

16

2004

17/2/2004

17

2

28

2004

29/2/2004

18

2

28

2001

1/3/2001

19

2

29

2004

1/3/2004

20

2

29

2001

不可能

21~22

2

30

2004

不可能

 2-2求最大公约数和最小公倍数的白盒测试

2.2.1核心程序代码

if(n1

{

temp=n1;

n1=n2;

n2=temp;

}

p=n1*n2;//p为两个数的乘积

while(n2!

=0)//求两个数的最大公约数

{

r=n1%n2;

n1=n2;

n2=r;

}

2.2.2程序流程图

2.2.3测试用例

1.语句覆盖测试用例:

输入

期望输出

执行路径

测试结果

Case1

n1=10

n2=25

最大公约数:

5最小公倍数:

50

acdegf

最大公约数:

5

最小公倍数:

50

2.判定覆盖测试用例

输入

期望输出

执行路径

测试结果

Case1

n1=5

n2=4

最大公约数:

1最小公倍数:

20

abdegf

最大公约数:

1最小公倍数:

20

Case2

n1=12

n2=36

最大公约数12最小公倍数:

36

acdegf

最大公约数:

12最小公倍数:

36

3.条件覆盖测试用例

输入

期望输出

执行路径

测试结果

Case1

n1=7

n2=4

最大公约数:

1最小公倍数:

28

abdegf

最大公约数:

1最小公倍数:

28

Case2

n1=4

n2=8

最大公约数:

4

最小公倍数:

8

acdef

最大公约数:

4最小公倍数:

8

4.条件-判定覆盖测试用例

输入

期望输出

执行路径

测试结果

Case1

n1=4

n2=6

最大公约数:

2最小公倍数:

12

acdegf

最大公约数:

2最小公倍数:

12

Case2

n1=7

n2=5

最大公约数:

1最小公倍数:

35

abdegf

最大公约数:

1最小公倍数:

35

5.条件组合覆盖测试用例

输入

执行路径

执行路径

测试结果

Case1

n1=4

n2=2

最大公约数:

2最小公倍数:

4

abdef

最大公约数:

2最小公倍数:

4

Case2

n1=4

n2=16

最大公约数:

4最小公倍数:

16

acdef

最大公约数:

4最小公倍数:

16

Case3

n1=9

n2=4

最大公约数:

1最小公倍数:

36

abdegf

最大公约数:

1最小公倍数:

36

Case4

n1=4

n2=6

最大公约数:

2最小公倍数:

12

acdegf

最大公约数:

2最小公倍数:

12

备注

其他条件组合,无法到达结束

6.基本路径覆盖测试用例

输入

期望输出

执行路径

测试结果

Case1

n1=4

n2=8

最大公约数:

4

最小公倍数:

8

acdef

最大公约数:

4最小公倍数:

8

Case2

n1=80

n2=14

最大公约数:

2最小公倍数:

560

abdegf

最大公约数:

2最小公倍数:

560

Case3

n1=20

n2=10

最大公约数:

10

最小公倍数:

20

abdef

最大公约数:

10最小公倍数:

20

Case4

n1=12

n2=15

最大公约数:

3最小公倍数:

60

acdegf

最大公约数:

3最小公倍数:

60

2.2.4程序控制流图

设计心得与体会

本次测试中的压力测试是指模拟实际应用的软硬件环境及多用户订单提交过程的系统负荷,运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。

根据课题的要求,进行上机实验调试,掌握软件测试的基本步骤和方法,掌握实际软件工程中与软件测试有关的相关文档的编制。

通过此次软件测试的课程设计,深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术,关于黑盒、白盒的测试用例的设计,也进行了认真学习研究,从而进一步提高了自己在程序上的编写能力,以及一些之前未触及的问题,为即将踏上社会的自己又做了一份理论和实践的准备。

 

参考文献

⑴专(译)著:

[序号]著者.书名(译者)[M].出版地:

出版者,出版年:

起~止页码.

⑵期刊:

[序号]著者.篇名[J].刊名,年,卷号(期号):

起~止页码.

⑶论文集:

[序号]著者.篇名[A]编者.论文集名[C].出版地:

出版者,出版者.出版年:

起~止页码.

⑷学位论文:

[序号]著者.题名[D].保存地:

保存单位,授予年.

⑸专利文献:

[序号]专利所有者.专利题名[P].专利国别:

专利号,出版日期.

⑹标准文献:

[序号]标准代号标准顺序号—发布年,标准名称[S].

⑺报纸:

[序号]责任者.文献题名[N].报纸名,年—月—日(版次).

⑺网络资料:

[序号]具体网址.

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

当前位置:首页 > 工程科技

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

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