《软件测试课程设计.doc
文本预览下载声明
第一章 软件测试技术概述 3
第二章 白盒测试 4
2.1白盒测试方法概述 4
2.2白盒测试常用方法 4
2.3白盒测试示 4
2.3.1问题描述 4
2.3.2程序流程图 5
2.3.3测试代码编写 7
2.3.4语句覆盖 7
2.3.4判定覆盖 9
2.3.5条件组合覆盖 10
第三章 黑盒测试 11
3.1黑盒测试方法概述 11
3.2黑盒测试常用方法 12
3.3黑盒测试示例 12
3.3.1问题描述 12
3.3.2程序流程图 13
3.3.3测试代码编写 13
3.3.4等价类划分法 14
3.3.4边界值分析法 16
第四章 面向对象的测试技术 21
4.1Eclipse环境下用Junit 进行单元测试: 21
小结 23
参考文献: 23
第一章 软件测试技术概述
软件开发的最基本要求是按时、高质量地发布软件产品,而软件测试是软件质量保证的重要手段之一。对于软件,不管采用什么技术和方法来进行开发,软件产品中仍然会存在或多或少的错误和问题。采用先进的开发方式和较完善的开发流程固然可以减少错误的引入。但是不可以杜绝软件中的错误。而这些引入的错误需要通过测试来发现。
软件测试的定义就是由“验证(verification)”和“有效性确认(validation)”活动构成的整体。“验证”是检验软件是否正确的实现了产品规格书所定义的系统功能和特性。“有效性确认”是确认所开发的软件是否可以满足用户的真正需求。
软件性测试需要贯穿在整个软件生命周期的每个阶段,每个时刻。它需要伴随着软件开发以检验每一个阶段性的成果是否符合质量的要求和达到预先定义的目标,尽早的发现错误并改正以减少损失。
第二章 白盒测试
2.1白盒测试方法概述
白盒测试也称为结构测试或逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成的软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状体、逻辑结构,运行路径等,检验程序中每条路是否都能按照预定的要求正确工作,检验程序内部的动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。
2.2白盒测试常用方法
语句覆盖
判定覆盖
逻辑覆盖 条件覆盖
判定/条件覆盖
条件组合覆盖
循环覆盖
基本路径覆盖
2.3白盒测试示
2.3.1问题描述
对一个大于或等于3的正整数,判断它是不是素数。
2.3.2程序流程图
流程图A
流程图B
2.3.3测试代码编写
#includestdio.h
#includemath.h
void main(){
int n,w,i,r;
w=0;i=2;
printf(请输入一个大于3的正整数:);
scanf(%d,n);
while((i=sqrt(n))(w==0))
{
r=n%i;
if(r==0)
w=1;
else
i=i+1;
}
if(w==0)
printf(%d是素数\n,n);
else
printf(%d不是素数\n,n);
}
2.3.4语句覆盖
路径:
P1:(1—5)即A=.T B=.F C=.F
P2:(2-1-3-5) 即A=.F B=.T A=.T C=.F
P3?:(2-3-4) 即?A=.F B=T C=.T
P4:(2-4) 即?:A=.F B=.F C=.T
测试用例:
P1:n=18
P2?:n=9
P3?:19
P4?:3
2.3.4判定覆盖
测试用例 具体取值条件 判定条件 通过路径 输入{n=15}
输出{n不是素数} n=4 A=.F B=.T A=.T C=.F 2—3—1—5 输入{n=3}
输出{n是素数} n 4 A=.F B=.F C=.T 2—4
2.3.5条件组合覆盖
示例存在的8种组合条件
组合编号 覆盖条件取值 判定-条件取值 判定-条件组合 1 T1 A=.T r=0 2 F1 A=.F r!=0 3 T2 T3 B=.T r=√n w=0 4 T2 F3 B=.F r=√n w!=0 5 F2 T3 B=.F r√n w=0 6 F2 F3 B=.F r√n w!=0 7 T4 C=.T w=0 8 F4 C=.F w?!=0
条件组合覆盖的用例
测试用例 覆盖条件 覆盖路径 覆盖组合 输入{n=8}
输出{n不是素数} T1 T2 F3 F4 1—5 1 4 8 输入{n=17}
输出{17是素数} F1 T2 T3 F2 T4 2—3—4 2 3
显示全部