软件测试实验报告(测试计划+黑盒测试+白盒测试).doc
《软件测试实验报告(测试计划+黑盒测试+白盒测试).doc》由会员分享,可在线阅读,更多相关《软件测试实验报告(测试计划+黑盒测试+白盒测试).doc(13页珍藏版)》请在冰点文库上搜索。
河北民族师范学院
软件测试课程设计报告
题目:
最大公约数和最小公倍数
姓名:
班级:
学号:
指导老师:
2014.10.9
目录
第1章软件测试的概念和设计要求 3
1.1测试目的 3
1.2测试选题 4
1.3测试人员 4
1.4测试方法 4
1.5测试资料及参考书 4
1.6关于黑盒测试 4
1.7关于白盒测试 5
1.8、黑盒测试与白盒测试的比较 6
1.9软件测试过程 6
1.10数据整理 7
第2章关于最大公约数和最小公倍数问题 8
2.1求最大公约数和最小公倍数的黑盒测试 8
2.1.1.问题描述:
8
2.1.2.程序代码(开发环境:
Windowsxpxp、java):
8
2.1.3.测试方法 9
2.1.4.测试用例设计 9
2-2求最大公约数和最小公倍数的白盒测试 11
2.2.1核心程序代码 11
2.2.2程序流程图 12
2.2.3测试用例 12
2.2.4程序控制流图 14
设计心得与体会 14
第1章软件测试的概念和设计要求
1.1测试目的
1.练习和掌握软件测试管理的一般过程与步骤;
2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作:
a)配置软件资产信息、软件需求、软件模型和缺陷数据库;
b)创建和管理多个测试组和用户;
c)配置测试环境、编写详细测试计划、安排测试进度;
d)设计测试脚本、测试用例;
e)实施测试、执行测试和评估测试。
1.2测试选题
关于求最大公约数和最小公倍数问题的测试;
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章关于最大公约数和最小公倍数问题
2.1求最大公约数和最小公倍数的黑盒测试
2.1.1.问题描述:
完成一段程序,要求实现这样的功能。
输入两个整数n1,n2。
用辗转相除法:
求两个数的最大公约数的步骤如下:
先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。
那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数。
2.1.2.程序代码(开发环境:
Windowsxpxp、java):
#include
voidmain()
{
intn1,n2,p,r,temp;
printf("请输入两个数n1,n2:
");
scanf("%d%d",&n1,&n2);
if(n1 {
temp=n1;
n1=n2;
n2=temp;
}
p=n1*n2;//p为两个数的乘积
while(n2!
=0)//求两个数的最大公约数
{
r=n1%n2;
n1=n2;
n2=r;
}
printf("数%d和%d的最大公约数为:
%d",n1,n2,n1);//打印最大公约数
printf("\n");
printf("数%d和%d的最小公倍数为:
%d",n1,n2,p/n1);//打印最小公倍数
printf("\n");
}
2.1.3.测试方法
黑盒测试(等价类划分+边界值分析+决策表方法)
2.1.4.测试用例设计
1.等价类划分方法
在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于最大公约数和最小公倍数的问题却是最简单的划分方法。
在最大公约数和最小公倍数问题中,有两种可能的输出:
最大公约数和最小公倍数。
利用这些信息能够确定下列输出(值域)等价类。
R1={:
为最大公约数}
R2={:
为最小公倍数}
输入
有效等价类
编号
无效等价类
编号
n1,n2
:
为最大公约数
1
n1输入值超出预定义
3
n1,n2
:
为最小公倍数
2
n2输入值超出预定义
4
2.边界值分析方法
在最大公约数和最小公倍数问题描述中,输入的两个数范围在[1,100]。
项
边界值
用例设计思路
数值n1,
1,100
假设某软件的数据输入域要求输入的数据值,1为最小值、100作为最大值;然后使用刚好小于1和大于100的数值来作为边界条件。
数值n2
1,100
假设某软件的数据输入域要求输入的数据值,1为最小值、100作为最大值;然后使用刚好小于1和大于100的数值来作为边界条件。
3.决策表方法
①确定规则个数。
例如,最大公约数和最小公倍数问题的决策表有2个条件:
c1:
n1c2:
n2!
=0?
每个条件可以取两个值,故有4种规则。
②列出所有的条件桩和动作桩。
③填入输入项。
④填入动作项,得到初始决策表。
⑤化简。
合并相似规则后得到最大公约数和最小公倍数问题的决策表
规则
选项
规则
1
规则
2
规则
3
规则
4
条件:
c1:
n1c2:
n2!
=0?
Y
Y
Y
N
N
Y
N
N
动作:
a1:
n1和n2互换
a2:
P=n1*n2
a3:
r=n1%n2
n1=n2
n2=r
a4:
输出n1和p/n1
√
√
√
√
√
√
√
√
√
√
√
√
用例列表及其执行结果:
用例编号
采用方法
输入n1,n2
覆盖等价类号码
预期结果
执行结果
Test1
等价类划分
12
1
最大公约数:
1最小公倍数:
2
最大公约数:
1最小公倍数:
2
Test2
等价类划分
1010
2
最大公约数:
10最小公倍数:
10
最大公约数:
10最小公倍数:
10
Test3
边界值分析方法
4030
最大公约数:
10最小公倍数:
120
最大公约数:
10最小公倍数:
120
Test4
边界值分析方法
2545
最大公约数:
5最小公倍数:
255
最大公约数:
5最小公倍数:
255
Tes5
决策表
23
最大公约数:
1最小公倍数:
6
最大公约数:
1最小公倍数:
6
Test6
决策表
12
最大公约数:
1最小公倍数:
2
最大公约数:
1最小公倍数:
2
Test7
决策表
96
最大公约数:
3最小公倍数:
18
最大公约数:
3最小公倍数:
18
Test8
决策表
73
最大公约数:
1最小公倍数:
21
最大公约数:
1最小公倍数:
21
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].报纸名,年—月—日(版次).
⑺网络资料:
[序号]具体网址.