实验一:软件测试方法
一:实验题目
采用白盒测试技术和黑盒测试技术对给出的案例进行测试
二:试验目的
本次实验的目的是采用软件测试中的白盒测试技术和黑盒测试技术对给出的案例进行测试用例设计。从而巩固所学的软件测试知识,对软件测试有更深层的理解。
三:实验设备
个人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包含了所有可执行的语句,按照语句覆盖的测试用力设计原则,设计测试用例
语句覆盖测试用例
无法检测出逻辑错误
(2)用判定覆盖方法进行测试
判定覆盖的基本思想是设计若干测试用例,运行被测程序,使得程序每个判断的取真和取假分支至少各执行一次,即判断条件真假均被满足。
条件覆盖测试用例
(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) 用路径覆盖测试用例
路径覆盖就是涉及所有测试用例来覆盖程序所有可能的执行路径,可得到下图:
2)
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂度,导出基本可执行路径集合从而设计测试用例的方法
(1)求出所给代码流程图如下所示:
(2)通过对流程图的分析,可以得到V(G)=3;
(3)确定基本路径;通过程序流程控制图来导出基本的路径集合,通过分析可知,这里面有三条基本路径,给出所有的基本路径。
l A-C-D-E
l A-C-E
l A-B-E
(4)准备测试用例,确保基本路径中的每一条路径被执行一次。
l A=2,B=1,X=2可以覆盖路径A-C-D-E
l A=3,B=0,X=0可以覆盖路径A-C-E
l A=2,B=0,X=3可以覆盖路径A-B-E
3)
首先完成一个用户注册的页面regiter.jsp,并用javascript进行用户名和密码进行测试,运行结果如下:
(2)新建userregiter.class把对数据库的操作封装在里面,新建usebean.class用来获得输入字符。
(3)web.xml文件配置如下<?xml version="1.0" encoding="gb2312"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>regiter.jsp</welcome-file>
</welcome-file-list>
</web-app>
()
六:程序代码
七:测试用例表
八:测试结果分析
九:个人实验小结
对于任务一:分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。并在各题下面写出测试用例、覆盖路径及结果等。
对于任务二:,
对于任务三:1、。
2、分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类)并设计出相应的测试用例。
第二篇:软件测试实验报告模板
《软件测试》实验内容及格式
标题:实验序号 实验名称
一.实验目的
二.实验类型及内容:(基本型、综合型)
基本型:指针对软件测试的单项基本概念进行实验,如:等价类划分测试、边界值分析等;
综合性:一般含三项及三项以上软件测试内容的基本概念的测试。.
三.实验步骤
简述实验成功(或失败)的过程,对于较为复杂的或带有综合性的实验需要写出详细的关键性过程。
四.测试程序代码
五.实验结果
试验结果包括:输入、输出及程序运行结果的数据、报表及截图形式。每个图要有标题,且还应配有适当的注解。
六.结果分析
试验无论成功与失败,都应适当地做一些简要的分析与说明。对于一些较为复杂的试验,尽可能给出详细的说明并进行与改进前后的对比试验,且给出结果与分析。
七.结束语
对本实验的总结和感受。例如,可对各个实验的成功所获得的经验及技巧进行适当的总结,还可谈谈你的一些感受。
附:参考实验名称
(以下程序除编写程序进行测试外,还应利用自动化白盒测试工具PurifyPlus进行测试)
(一.基本概念验证)
1.一般三角形问题的等价类测试
2.直角三角形问题的等价类测试(p48 习题6.)
3. 直角三角形问题的决策表测试(p48 习题7.)
4. 三角形问题的边界值分析测试
5.因果图法分析测试
6.决策表法应用测试
7.控制流覆盖(逻辑覆盖)综合测试
8.逻辑覆盖率和测试用例有效性度量统计的程序插装测试
9.断言检测的程序插装测试
10.程序变异的程序插装测试
(二.故障模式)
11.内存泄露故障模式测试
12.数组越界故障模式测试
13.使用未初始化变量故障模式测试
14.非法计算类故障模式测试
15.死循环结构故障模式测试
16.资源泄漏故障模式测试
17.并发故障模式测试
(三.安全漏洞模式)
18.缓冲区溢出漏洞模式测试
19.被污染的数据漏洞模式测试
20.竞争条件漏洞模式测试
21.风险操作漏洞模式测试
(四.缺陷模式)
22.低性能缺陷模式测试
(五.工具使用)
23.白盒测试工具Rational PurifyPlus(Purify、PureCoverage、Quantify)综合应用及
测试
24.黑盒测试工具WinRunner应用及测试
25.黑盒测试工具QuickTest Professional(QTP)应用及测试
26.系统测试工具LoadRunner应用及测试