软件测试课程设计

  • 格式:docx
  • 大小:34.16 KB
  • 文档页数:9

目录一、课程设计目的(1)掌握白盒测试用例的设计方法(2)掌握白盒测试基本测试方法:分支覆盖、条件覆盖、基本路径测试。

(3)掌握黑盒测试用例的设计方法(4)掌握黑盒测试基本测试方法:边界值、等价类、基于决策表的测试。

二、课程设计题目描述和要求白盒测试白盒测试也称为结构测试或逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成的软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状体、逻辑结构,运行路径等,检验程序中每条路是否都能按照预定的要求正确工作,检验程序内部的动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。

将一个正整数分解质因数(1000之内)。

例如:输入90,打印出90=2*3*3*5。

要求提供执行代码、执行方法和程序界面;包括分析过程及测试用例及测试用例执行结果。

(1)分支覆盖测试方法设计测试用例(2)条件覆盖测试方法设计测试用例(3)基本路径测试方法设计测试用例黑盒测试黑盒测试方法,也称功能测试或是数据驱动测试方法。

在测试时,把程序看成是一个不能打开的黑盒子。

在完全不考虑程序内部结构和内部特性的情况下,测试人员针对软件直接进行的测试。

检查系统功能是否按照需求规格说明书的规定正常使用,是否能正常的接收输入数据而输出正确的结果。

检查相应的文档是否采用了正确的模板,是否满足规范要求等。

黑盒测试不关注内部结构,而是着眼于程序外部的用户界面,关注软件的输入输出,关注用户需求,从用户的角度验证软件功能,实现端到端的测试。

黑盒测试的方法根据用户的体验评估软件的质量,验证产品的每个功能是否都能正常使用,是否满足用户需求。

运输公司对用户计算运费,路程越远运费越低。

设每公里每吨货物的基本运费为p,货物重量为w,距离为s,折扣为d,标准如下:s<250 没有折扣250≤s<500 2%折扣500≤s<1000 5%折扣1000≤s<2000 8%折扣2000≤s 10%折扣每吨每千米单价p不能超过100RMB,路程不能超过5000千米。

提供执行代码、执行方法和程序界面;包括分析过程及测试用例及测试用例执行结果(1)用边界值测试方法设计测试用例(2) 用等价类测试方法设计测试用例(3)用基于决策表的测试方法设计测试用例三、课程设计报告内容白盒测试程序代码public class ceshi {public static void main(String[] args) {Scanner a = new Scanner;int e=0;int n;do{n = ();if(n>1000){e = 1;}else{e=0;}}while(e==1);for(int k=2;k<=n/2;k++){if(n%k==0){n= n/k;测试用例执行结果:N1=-1,N2=1经过的路径为①②①③⑤测试用例执行结果:(2)子任务二:条件覆盖测试方法设计测试用例原理:程序中每一个条件至少有一次被满足为了达到条件覆盖的目标,就要设法设计测试用例,使得每个条件被执行一次,即以下12种组合都要覆盖:N>=1000,K<=N/2,N%K=0 测试用例:N=1000N>=1000,K>N/2,N%K=0 测试用例:无N>=1000,K<=N/2,N%K!=0 测试用例:N=1001N>=1000,K>N/2,N%K!=0 测试用例:无N<=0,K<=N/2,N%K=0 测试用例:无N<=0,K>N/2,N%K=0 测试用例:N=-2N<=0,K<=N/2,N%K!=0 测试用例:无N<0,K>N/2,N%K!=0 测试用例:N=-1O<N<1000,K<=N/2,N%K=0 测试用例:N=4O<N<1000,K>N/2,N%K=0 测试用例:无O<N<1000,K<=N/2,N%K!=0 测试用例:N=5O<N<1000,K>N/2,N%K!=0 测试用例:N=1由以上组合可得可以设计测试用例N=1,N=5,N=4,N=-1,N=-2,N=1000,N=1001 测试用例执行结果:图3-4程序结果图(3)子任务3:基本路径测试方法设计测试用例原理:顾名思义,路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。

基本路径测试法通过以下5个基本步骤来实现。

1、程序流程图图3-5程序流程图2、计算程序环境复杂性通过对程序的控制流程图的分析和判断来计算模块复杂性度量,从程序的环路复杂性可导出程序基本路径集合中的独立路径条数。

环境复杂性可以用V(G)来表示,其计算方法有:V(G)=区域数目。

区域是由边界和节点包围起来的形状所构成的,计算区域时应包括图外部区,将其作为一个区域。

图3-5的区域数目是4,也就是有4条基本路径。

V(G)=边界数目-节点数目+2。

按此计算,也是4。

V(G)=判断节点数目+1。

如图3-5所示,判断节点有2、3和4,则V(G)=3+1=4。

3、确定基本路径通过程序流程图的基本路径来导出基本的程序路径的集合。

通过上面的分析和计算,知道图3-5所示程序有4条基本路径,下面给出一组基本路径。

在一个基本路径集合里,每一条路径是唯一的。

(1)1-2-3-5 (2)1-2-1-3-5 (3) (4)4、准备测试用例,确保基本路径组中的每一条路径被执行一次。

(1) N=1可以覆盖路径1-2-3-5。

(2) N1=-1,N2=1可以覆盖路径1-2-1-3-5。

(3) N=4可以覆盖路径。

(4) N=5可以覆盖路径。

5、图形矩阵是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

如下表3-2所给出的图形矩阵表3-2图形矩阵的表示法表黑盒测试public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub float p,w,s,f,d;Scanner sca =new Scanner; p=(); w=();s=();if(p<=0||w<=0||s<=0||p>100)else{if(s<250)d=0;else if(250<=s&&s<500)d=(float) ;else if(500<=s&&s<1000)d=(float) ;else if(1000<=s&&s<2000)d=(float) ;elsed=(float) ;f=p*w*s*(1-d);}}}用java编写在Eclipse上运行图3-6执行结果图图3-7流程图(1)子任务一:用边界值测试方法设计测试用例原理:边界值分析法就是针对输入数据的边界条件进行分析以确定边界值,然后设计出对应边界值的测试用例。

使用边界值分析方法设计测试用例,首先应确定边界情况。

通常输入与输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。

如下表3-3为边界值分析方法的测试用例表3-3边界值分析设计的测试用例测试用例执行结果:设置运费单价为100,货重为20吨图3-8执行结果图(2)子任务二:用等价类测试方法设计测试用例原理:等价类划分方法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集(即等价类),然后从每一个等价类中选取少数具有代表性的数据作为测试用例。

测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。

利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。

表3-4为合理和不合理等价类的划分表3-4合理等价类和不合理等价类表根据上表3-4设计测试用例①p=100 w=20 s=300②p=120,w=20,s=30③p=100,w=-20,s=300④p=100,w=20,s=-300⑤p=-100,w=-20,s=-300执行结果:图3-9执行结果图(3)子任务三:用基于决策表的测试方法设计测试用例原理:在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。

在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。

处理这类问题的一个非常有力的分析和表达工具是判定表,或称决策表。

制作决策表一般经过下面4个步骤。

(1)列出所有的条件桩和动作桩。

(2)填入条件项。

(3)填入动作项,制定出事判定表。

(4)简化、合并相似规则或者相同动作。

经过分析条件桩为:p<=0||w<=0||s<=0||p>100、s<250、250≤s<500 、500≤s<1000、1000≤s<2000、2000≤s 。

动作桩有四种:有效数据、无效数据、有折扣和无折扣。

如果是无效数据就不需要判断后5个条件。

每种折扣都有对应的范围条件,符合一种就不需要判断其他条件所以就需要设计6个测试用例。

(1)无效数据。

(2)路程小于250的。

(3)路程在250和500之间的。

(4)路程在500和1000之间的。

(5)路程在1000和2000之间的。

(6)路程超过2000的。

如表3-5所示为优化的决策表。

表优化的决策表四、课程设计总结本次白盒测试选择的是正整数分解质因数,在编程过程中,考虑了多种情况,通过画程序流程图对程序充分地了解,对白盒测试有了一定的认识,学会了一些基本的用法和操作,测出了一些代码规范的问题,能够分析测试结果了。

黑盒测试选择的是运输公司对用户计算运费,学会了边界值、等价类、决策表测试方法,对于边界值测试,边界值时不能只取边界那一点,也需要取边界有效最大值和边界有效最小值。

而决策表测试要学会优化条件,降低组合,形成非常优化的决策表。

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

五、参考文献《软件测试方法和技术》第二版朱少民主编。