目录一、课程设计目的------------------------------------------------------------- 1二、课程设计题目描述与要求--------------------------------------------------- 12、1白盒测试 ------------------------------------------------------------ 12、1、1原理 --------------------------------------------------------- 12、1、2题目描述 ----------------------------------------------------- 12、1、3要求 --------------------------------------------------------- 12、2黑盒测试 ------------------------------------------------------------ 12、2、1原理 --------------------------------------------------------- 12、2、2题目描述 ----------------------------------------------------- 22、2、3要求 --------------------------------------------------------- 2三、课程设计报告内容--------------------------------------------------------- 23、1白盒测试 ------------------------------------------------------------ 33、1、1程序代码 ----------------------------------------------------- 33、1、2执行方法 ----------------------------------------------------- 43、1、3程序界面 ----------------------------------------------------- 43、1、4程序流程图 --------------------------------------------------- 43、1、5程序流图 ----------------------------------------------------- 53、1、6白盒测试方法设计测试用例 ------------------------------------- 63、2黑盒测试 ----------------------------------------------------------- 103、2、1程序代码 ---------------------------------------------------- 113、2、2执行方法 ---------------------------------------------------- 123、2、3程序界面 ---------------------------------------------------- 123、2、4程序流程图 -------------------------------------------------- 133、2、5黑盒测试方法设计测试用例 ------------------------------------ 13四、课程设计总结----------------------------------------------------------- 19五、参考文献--------------------------------------------------------------- 19一、课程设计目的(1)掌握白盒测试用例的设计方法(2)掌握白盒测试基本测试方法:分支覆盖、条件覆盖、基本路径测试。
(3)掌握黑盒测试用例的设计方法(4)掌握黑盒测试基本测试方法:边界值、等价类、基于决策表的测试。
二、课程设计题目描述与要求2、1白盒测试2、1、1原理白盒测试也称为结构测试或逻辑驱动测试,也就就是已知产品的内部工作过程,清楚最终生成的软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状体、逻辑结构,运行路径等,检验程序中每条路就是否都能按照预定的要求正确工作,检验程序内部的动作或运行就是否符合设计规格要求,所有内部成分就是否按规定正常进行。
2、1、2题目描述将一个正整数分解质因数(1000之内)。
例如:输入90,打印出90=2*3*3*5。
2、1、3要求提供执行代码、执行方法与程序界面;包括分析过程及测试用例及测试用例执行结果。
(1)分支覆盖测试方法设计测试用例(2)条件覆盖测试方法设计测试用例(3)基本路径测试方法设计测试用例2、2黑盒测试2、2、1原理黑盒测试方法,也称功能测试或就是数据驱动测试方法。
在测试时,把程序瞧成就是一个不能打开的黑盒子。
在完全不考虑程序内部结构与内部特性的情况下,测试人员针对软件直接进行的测试。
检查系统功能就是否按照需求规格说明书的规定正常使用,就是否能正常的接收输入数据而输出正确的结果。
检查相应的文档就是否采用了正确的模板,就是否满足规范要求等。
黑盒测试不关注内部结构,而就是着眼于程序外部的用户界面,关注软件的输入输出,关注用户需求,从用户的角度验证软件功能,实现端到端的测试。
黑盒测试的方法根据用户的体验评估软件的质量,验证产品的每个功能就是否都能正常使用,就是否满足用户需求。
2、2、2题目描述运输公司对用户计算运费,路程越远运费越低。
设每公里每吨货物的基本运费为p,货物重量为w,距离为s,折扣为d,标准如下:s<250 没有折扣250≤s<500 2%折扣500≤s<1000 5%折扣1000≤s<2000 8%折扣2000≤s 10%折扣每吨每千米单价p不能超过100RMB,路程不能超过5000千米。
2、2、3要求提供执行代码、执行方法与程序界面;包括分析过程及测试用例及测试用例执行结果(1)用边界值测试方法设计测试用例(2) 用等价类测试方法设计测试用例(3)用基于决策表的测试方法设计测试用例三、课程设计报告内容3、1白盒测试3、1、1程序代码public class ceshi {public static void main(String[] args) {Scanner a = new Scanner(System、in);int e=0;int n;do{System、out、println("请输入一个正整数:");n = a、nextInt();if(n>1000){System、out、println("input error!");e = 1;}else{e=0;}}while(e==1);for(int k=2;k<=n/2;k++){if(n%k==0){System、out、print(k+"*");n= n/k; //用递归把n重新定值k=2; //这步很重要,让for循环重新执行}}System、out、print(n); //把最后一个质因数输出}}3、1、2执行方法通过编写的java程序在Eclipse上运行3、1、3程序界面图3-1程序界面图3、1、4程序流程图图3-2分解质因数的程序流程图3、1、5程序流图图3-3计算天数的程序流图3、1、6白盒测试方法设计测试用例(1)子任务一:分支覆盖测试方法设计测试用例原理:分支覆盖,使得程序中每一个分支都至少被执行一次。
用分支覆盖测试方法设计测试用例,按照下列步骤进行:为了达到分支覆盖的目标,就要设法设计测试用例,使得②、③、④的各个分支被执行一次,满足表3-1中判断结果表3-1 7个判断结果表这样,可以设计两个测试用例,可以覆盖这些分支。
② N<0 or N>1000;;如N=-1,-2,-3,、、、 or N=1001,1002,、、、 0<N<1000;如N=1,2,3,、、、,999 ③ K<=N/2成立 K<=N/2不成立 ④ N%k=0成立 N%k=0不成立N=12:经过的路径就是①②③④⑥③④⑥③④⑦③⑤测试用例执行结果: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)=区域数目。