软件测试实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:软件测试方法
一:实验题目
采用白盒测试技术和黑盒测试技术对给出的案例进行测试
二:试验目的
本次实验的目的是采用软件测试中的白盒测试技术和黑盒测试技术对给出的案例进行测试用例设计。从而巩固所学的软件测试知识,对软件测试有更深层的理解。
三:实验设备
个人PC机(装有数据库和集成开发环境软件)
四:实验内容
1):为以下流程图所示的程序段设计一组测,分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。并在各题下面写出测试用例、覆盖路径及结果等。
2):画出下列代码相应的程序流程图,并采用基本路径测试方法为以下程序段设计测试用例(需列出具体实验步骤)。
void Do (int X, int A , int B)
{
1 if ( (A>1)&&(B==0) )
2 X = X/A;
3 if ( (A==2)||(X>1) )
4 X = X+1;
5 }
采用基本路经测试方法测试用例,并写出具体步骤
3):在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:
用户名:要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;
密码:要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。测试以上用例。
用所学的语言进行编码,然后进行等价类测试,当用户名和密码正确输入时提示注册成功;当错误输入时,显示不同的错误提示
通过分析测试用例以及最后得到的测试用例表分析所测程序的正确性,最后总结自己在这次试验中的收获并写出自己在这次试验中的心得体会。
五:实验步骤
1)
(1)用语句覆盖方法进行测试
语句覆盖的基本思想是设计若干测试用例,运行被测程序,使程序中每个可执行语句至少被执行一次。由流程图可知该程序有四条不同的路径:
P1:A-B-D
P2:A-B-E
P3:A-C-F
P4:A-C-G
由于p1p2p4包含了所有可执行的语句,按照语句覆盖的测试用力设计原则,设计测试用例
语句覆盖测试用例
测试用例具体取之条件通过路径
X=17,y=17x>8,y>5,x>16,y>10P4(A-C-G)
X=6,y=4X<=8,y<=5,x>0,y>0P1(A-B-D)
X=-5,y=-3X<=8,y<=5,x<=0,y<=0P2(A-B-E)无法检测出逻辑错误
(2)用判定覆盖方法进行测试
判定覆盖的基本思想是设计若干测试用例,运行被测程序,使得程序每个判断的取真和取假分支至少各执行一次,即判断条件真假均被满足。
条件覆盖测试用例
测试用例具体取之条件判定条件通过路径
X=17,y=17x>8,y>5,x>16,y>10A=T,C=T P4(A-C-G)
X=6,y=4X<=8,y<=5,x>0,y>0A=F,B=F P1(A-B-D)
X=-5,y=-3X<=8,y<=5,x<=0,y<=0A=F,B=T P2(A-B-E)
X=10,y=6x>8,y>5,x<16,x<10A=T,C=F P3(A-C-F)
(3)用条件覆盖进行测试
条件覆盖的基本思想是设计若干测试用例,执行被测程序后要使每个判断中每个条件的可能取值至少满足一次。对于第一个判定条件A,可以分割如下:
条件x>8:取真时为T1,取假时为F1;
条件y>5: 取真时为T2,取假时为F2;
对于第二个判定条件B,可分割如下:
条件x>0:取真时为T3,取假时为F3;
条件y>0:取真时为T4,取假时为F4;
对与第三个判定条件C,可分割如下:
条件x>16:取真时为T5,取假时为F5;
条件y>10:取真时为T6,取假时为F6;
根据条件覆盖测试思想,组成测试用例如图:
条件覆盖条件取值不同时,有时会覆盖相同路径,因此无法完全覆盖
(4)用判定/条件覆盖进行测试
判定/条件覆盖进行测试实际上是将前两种方法结合起来的一种设计方法,他是判定和条件覆盖设计方法的交集,及设计足够的测试用例,使得判定啊条件中的所有条件可能取值至少执行一次,同时,所有的判断可能结果至少执行一次。依据此思想
判定/条件覆盖无法完全覆盖路径
(5)用组合覆盖方法进行测试
条件组合覆盖的基本思想是设计足够的测试用例,使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判断结果也至少出现一次。
条件组合覆盖测试方法也有缺陷,在某些情况下无法完全覆盖基本路径。
(6)用路径覆盖测试用例
路径覆盖就是涉及所有测试用例来覆盖程序所有可能的执行路径,可得到下图:
测试用例覆盖路径覆盖条件
X=9,y=6P3(A-C-F)T1,T2,T3,T4,F5,F6
X=17,y=11P4(A-C-G)T1,T2,T3,T4,T5,T6,
X=7,y=4P2(A-B-E)F1,F2,T3,T4,F5,F6
X=-1,y=-1P1(A-B-D)F1,F2,F3,F4,F5,F6
2)
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂度,导出基本可执行路径集合从而设计测试用例的方法
(1)求出所给代码流程图如下所示:
A
B
C
(2)通过对流程图的分析,可以得到V(G)=3;
(3)确定基本路径;通过程序流程控制图来导出基本的路径集合,通过分析可知,这里面有三条基本路径,给出所有的基本路径。
A-C-D-E
A-C-E
A-B-E
(4)准备测试用例,确保基本路径中的每一条路径被执行一次。
A=2,B=1,X=2可以覆盖路径A-C-D-E
A=3,B=0,X=0可以覆盖路径A-C-E
A=2,B=0,X=3可以覆盖路径A-B-E