软件测试实验报告测试计划黑盒测试白盒测试Word格式.docx
- 文档编号:807172
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:20
- 大小:451.88KB
软件测试实验报告测试计划黑盒测试白盒测试Word格式.docx
《软件测试实验报告测试计划黑盒测试白盒测试Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告测试计划黑盒测试白盒测试Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
对特定问题编写程序代码,并对其进行黑盒测试。
王@@:
对特定问题编写程序代码,并对其进行白盒测试。
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函数的黑盒测试
NextDate是一个有三个变量(月份、日期和年)的函数.函数返回输入日期后面的那个日期.变量月份、日期和年都具有整数值,且满足以下条件:
c1.l≤月份≤12c2.1≤日期≤31c3.1812≤年≤2012
Windowsxp xp、c语言):
#include"
stdafx.h"
#include<
iostream>
usingnamespacestd;
voidNextDate(intyear,intmonth,intday);
voidmain()
{
intyear=0,month=0,day=0;
NextDate(year,month,day);
}
voidNextDate(intyear,intmonth,intday)
cout<
<
"
请输入年份:
endl;
cin>
>
year;
while(!
(year>
=1911&
&
year<
=2013))
年份超过界限,请重新输入"
cin>
请输入月份:
month;
while(month>
12||month<
1)
月份输入有误,请重新输入"
请输入日期:
day;
while(day>
31||day<
日期输入有误,请重新输入"
while(month==4&
day==31||month==6&
day==31||month==9&
day==31||month==11&
day
==31)
小月没有31号"
} if((year%4==0&
year%100!
=0)||(year%400==0)) //检查闰年;
inti=0;
i=day-29;
while(month==2&
i>
0)
本月是闰月,请在1-29之间从新输入日期"
if(month==2&
day==29)
month=3;
day=1;
elseday++;
//月底计算;
switch(month)
case1:
case3:
case5:
case7:
case8:
case10:
if(day==32)
month++;
明天是:
year<
'
/'
month<
day<
break;
case2:
if(day==29)
case4:
case6:
case9:
case11:
if(day==31)
case12:
if(day==32)
year++;
month=1;
2.1.3.测试方法
黑盒测试(等价类划分+边界值分析+决策表方法)
2.1.4.测试用例设计
输入条件
编号
有效等价类
无效等价类
输入年份
⑴
1912<
=年<
=2012
⑺
年<
1912
⑻
年>
2012
输入月份
⑵
1<
=月份<
=12
⑼
月<
1
1.等价类划分方法
⑽
月>
12
输入日期
⑶
=日期<
=31
⑾
日期<
⑿
日期>
31
输入类型
⑷
输入为int型
⒀
除int型外的任意输入
输入为闰年
⑸
输入2月29日
⒁
输入为闰年2月30
日
输入为平年
⑹
输入2月28日
⒂
测试执行情况与记录
测试用例编号
输入
预期结果
实际输出
覆盖等价类
1988/2/3
1988/2/4
⑴⑵⑶⑷
2
2000/2/29
2000/3/1
3
2001/2/28
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之间从新输入日期
2001/2/29
2001/2/30
2.边界值分析方法
用例
月份
年
预期输出
15
1911
6/16/1911
6/16/1912
1962
6/16/1962
6/16/2012
2013
6/16/2013
6/2/1962
6/3/1962
30
7/1/1962
非法输入
1/16/1962
2/16/1962
13
14
11/16/1962
12/16/1962
3.决策表方法
(1)month、day、year的有效等价类:
M1:
{month:
month有30天}M2:
month有31天,12月除外}M3:
month是12月}M4:
month是2月}D1:
{day:
1≤day≤27}D2:
day=28}
D3:
day=29}D4:
day=30}D5:
day=31}
Y1:
{year:
year是闰年} Y2:
year不是闰年}
(2)根据各种有效的输入情况,程序中可能采取的操作有以下六种:
a1:
不可能 a2:
day加1 a3:
day复位
a4:
month加1 a5:
month复位 a6:
year加1
选
规
项
则
1~3
6~9
11~14
条件:
c1:
month在
M1
M2
M3
c2:
day在
c3:
year在
D1~D3
–
D4
D5
D1~D4
动作:
不可能
√
a2:
day加1
a3:
month加
a5;
month复位
a6:
16
17
18
19
20
21~22
M4
D1
D2
Y1
Y2
D3
D4~D5
用例列表及其执行结果:
测试用例
Month
Day
Year
2001
17/9/2001
2004
1/10/2004
17/1/2004
1/2/2001
17/12/2004
1/1/2002
17/2/2004
28
29/2/2004
1/3/2001
29
1/3/2004
2-2求最大公约数和最小公倍数的白盒测试
2.2.1核心程序代码
if(n1<
n2)//使得n1为较大的数,n2为较小的数
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
最大公约数:
最小公倍数:
50
acdegf
2.判定覆盖测试用例
n1=5
n2=4
abdegf
Case2
n1=12
n2=36
最大公约数12
36
3.条件覆盖测试用例
n1=7
n1=4
acdef
n2=8
4.条件-判定覆盖测试用例
n2=6
n2=5
35
5.条件组合覆盖测试用例
n2=2
abdef
n1=4n2=16
4最小公倍数:
Case3
n1=9n2=4
1最小公倍数:
Case4
n1=4n2=6
2最小公倍数:
备注
其他条件组合,无法到达结束
6.基
n1=80n2=14
560
n1=20
n2=10
n2=15
60
本路径覆盖测试用例
2.2.4程序控制流图
设计心得与体会
本次测试中的压力测试是指模拟实际应用的软硬件环境及多用户订单提交过程的系统负荷,运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。
根据课题的要求,进行上机实验调试,掌握软件测试的基本步骤和方法,掌握实际软件工程中与软件测试有关的相关文档的编制。
通过此次软件测试的课程设计,深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术,关于黑盒、白盒的测试用例的设计,也进行了认真学习研究,从而进一步提高了自己在程序上的编写能力,以及一些之前未触及的问题,为即将踏上社会的自己又做了一份理论和实践的准备。
参考文献
⑴专(译)著:
[序号]著者.书名(译者)[M].出版地:
出版者,出版年:
起~止页码.
⑵期 刊:
[序号]著者.篇名[J].刊名,年,卷号(期号):
⑶论文集:
[序号]著者.篇名[A]编者.论文集名[C].出版地:
出版者,出版者.出版年:
起~止页码.
⑷学位论文:
[序号]著者.题名[D].保存地:
保存单位,授予年.
⑸专利文献:
[序号]专利所有者.专利题名[P].专利国别:
专利号,出版日期.
⑹标准文献:
[序号]标准代号标准顺序号—发布年,标准名称[S].
⑺报 纸:
[序号]责任者.文献题名[N].报纸名,年—月—日(版次).
⑺网络资料:
[序号]具体网址.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验 报告 计划 黑盒