软件测试实验报告.docx
《软件测试实验报告.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告.docx(25页珍藏版)》请在冰豆网上搜索。
![软件测试实验报告.docx](https://file1.bdocx.com/fileroot1/2023-2/3/69c0c422-e970-443b-8b6a-0bf7f7a37da1/69c0c422-e970-443b-8b6a-0bf7f7a37da11.gif)
软件测试实验报告
本科实验报告
课程名称:
软件测试技术
实验项目:
软件测试技术试验
实验地点:
实验楼211
专业班级:
软件工程学号:
学生姓名:
戴超
指导教师:
兰方鹏
2015年10月7日
太原理工大学学生实验报告
学院名称
计算机与软件学院
专业班级
软件工程
实验成绩
学生姓名
戴超
学号
实验日期
2015.10.
课程名称
软件测试
实验题目
实验一白盒测试方法
一、实验目的和要求
(1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。
(2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。
(3)运用所学理论,完成实验研究的基本训练过程。
二、实验内容和原理
测试以下程序段
voiddowork(intx,inty,intz)
{
(1)intk=0,j=0;
(2)if((x>0)&&(z<10))
(3){
(4)k=x*y-1;
(5)j=sqrt(k);
(6)}
(7)if((x==4)||(y>5))
(8)j=x*y+10;
(9)j=j%3;
(10)}
三、主要仪器设备
四、操作方法与实验步骤
说明:
程序段中每行开头的数字(1-10)是对每条语句的编号。
A画出程序的控制流图(用题中给出的语句编号表示)。
B分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
C编写完整的C程序(含输入和输出),使用你所设计的测试用例运行上述程序段。
完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、基本路径测试用例表)
流程图为:
控制流图:
设判定条件M=(x>0)&&(z<10)N=(x==4)||(y>5)
设路径
P1(abcdefhijl)=MandNP2(abcdefhkl)=Mand/N
P3(abgijl)=/MandNP4(abgkl)=/Mand/N
1.语句覆盖
输入{x=4,y=7,z=9}输出{j=2,k=27}覆盖路径P1(abcdefhijl)
2.判定覆盖
输入{x=4,y=7,z=9}输出{j=2,k=27}覆盖路径P1(abcdefhijl)
输入{x=4,y=3,z=12}输出{j=1,k=0}覆盖路径P3(abgijl)
3.条件覆盖
对于第一个判定条件M,分割如下
条件x>0取真时为T1,取假时为F1。
条件z<10取真时为T2,取假时为F2。
对于第二个判定条件N,分割如下
条件x==4取真时为T3,取假时为F3。
条件y>5取真时为T4,取假时为F4。
测试用例
取值条件
具体取值
通过路径
输入{x=4,y=3,z=12}输出{j=1,k=0}
T1,F2,T3,F4
x>0,z>=10,x==4,y<=5
P3(abgijl)
输入{x=0,y=7,z=9}输出{j=1,k=0}
F1T2,F3,T4
x<=0,z<10,x!
=4,y>5
P3(abgijl)
4.判定-条件覆盖
测试用例
取值条件
具体取值
判定条件
通过路径
输入{x=4,y=7,z=9}输出{j=2,k=27}
T1,T2,T3,T4
x>0,z<10,x==4,y>5
M,N
P1(abcdefhijl)
输入{x=0,y=4,z=12}输出{j=0,k=0}
F1F2,F3,F4
x<=0,z>=10,x!
=4,y<=5
/M,/N
P4(abgkl)
5.条件组合覆盖
组合编号
覆盖条件取值
判定条件取值
判定条件组合
1
TI,T2
M
x>0,z<10,M取真
2
TI,F2
/M
x>0,z>=10,M取假
3
FI,T2
/M
x<=0,z<10,M取假
4
FI,F2
/M
x<=0,z>=10,M取假
5
T3,T4
N
x==4,y>5,N取真
6
T3,F4
N
x==4,y<=5,N取真
7
F3T4
N
x!
=4,y>5,N取真
8
F3,F4
/N
x!
=4,y<=5,N取假
测试用例
测试用例
取值条件
覆盖路径
覆盖组合
输入{x=4,y=7,z=9}输出{j=2,k=27}
T1,T2,T3,T4
P1(abcdefhijl)
1,5
输入{x=4,y=3,z=12}输出{j=1,k=0}
T1F2,T3,F4
P3(abgijl)
2,6
输入{x=0,y=7,z=9}输出{j=1,k=0}
F1,T2,F3,T4
P3(abgijl)
3,7
输入{x=0,y=4,z=12}输出{j=0,k=0}
F1F2,F3,F4
P4(abgkl)
4,8
6.路径覆盖
测试用例
覆盖路径
覆盖条件
覆盖组合
输入{x=4,y=7,z=9}输出{j=2,k=27}
P1(abcdefhijl)
T1,T2,T3,T4
1,5
输入{x=3,y=4,z=9}输出{j=2,k=27}
P2(abcdefhkl)
T1F2,F3,F4
1,8
输入{x=0,y=7,z=12}输出{j=0,k=0}
P3(abgijl)
F1,F2,F3,T4
4,7
输入{x=0,y=4,z=12}输出{j=0,k=0}
P4(abgkl)
F1F2,F3,F4
4,8
程序代码:
五、讨论心得
白盒测试包括了多种试验方法,语句覆盖,分支覆盖,条件覆盖,路径覆盖,组合条件覆盖,其中每一种条件覆盖方法对于我们都十分的适用,充分的利用每一种方法,理解白盒测试的原理,在实验中也明白了好多。
实验室名称
实验楼211
指导老师签名:
学院名称
计算机与软件学院
专业班级
软件
实验成绩
学生姓名
戴超
学号
实验日期
2015.10.
课程名称
软件测试
实验题目
实验二黑盒测试方法
一、实验目的和要求
(1)熟练掌握黑盒测试方法中的等价类测试方法和边界值测试方法。
(2)通过实验掌握如何应用黑盒测试用例。
(3)运用所学理论,完成实验研究的基本训练过程。
2、实验内容和原理
(1)用你熟悉的语言编写一个判断三角形问题的程序。
要求:
读入代表三角形边长的三个整数,判断它们能否组成三角形。
如果能够,则输出三角形是等边、等腰或者一般三角形的识别信息;如果不能构成三角形,则输出相应提示信息。
(2)使用等价类方法和边界值方法设计测试用例。
3、主要仪器设备
4、操作方法与实验步骤
(1)先用等价类和边界值方法设计测试用例,然后用百合法进行检验和补充。
(2)判断三角形问题的程序流程图和程序流图如图1和图2所示。
用你熟悉的语言编写源程序。
(3)使用等价类方法设计测试用例,并填写表2和表3。
(4)输入设计好的测试用例,执行源程序,并记录结果。
图1.程序流程图
图2.程序流图
表2.创建等价类
输入条件
有效等价类
无效等价类
是否构成三角形
1.任意两边之和大于第三边
4两边之和小于第三边
5两边之和等于第三边
6存在一边为0
7存在2边为0
8存在3边为0
9存在一边不是整数
10存在2边不是整数
11存在3边不是整数
是否等腰三角形
2.三边中任意两边长度相等
12.任两边不等
是否等边三角形
3.三角形三边长度都相等
13..三边不等
表3.测试用例表
用例编号
测试数据(A,B,C)
等价类覆盖情况
输出
1
{a=3,b=4,c=6}
覆盖等价类1,5,7
2
{a=2,b=3,c=4}
覆盖等价类2,5,7
3
{a=2,b=4,c=4}
覆盖等价类3,5,7
4
{a=4,b=4,c=4}
覆盖等价类4,5,7
5
{a=1.5,b=2,c=2}
覆盖等价类6
6
{a=5,b=3.3,c=5}
覆盖等价类9
7
{a=5,b=5,c=3.2}
覆盖等价类9
8
{a=3,b=6,c=0}
覆盖等价类7
实验原码:
五、讨论心得
在试验中,我们应该熟练的掌握黑盒测试的方法,与测试过程,通过不同的测试方法,程序运行的过程也随之不同。
并且了解到了黑盒测试中的等价类划分依据边界值分析等测试的方法,我们也应该熟练的掌握,掌握并熟悉每一种测试方法,才能在测试中提高软件的质量,保证软件能够达到要求,我们还应该好好的学习黑盒测试。
实验室名称
实验楼211
指导老师签名:
学院名称
计算机与软件学院
专业班级
软件
实验成绩
学生姓名
戴超
学号
实验日期
2015.10.
课程名称
软件测试
实验题目
实验三QTP自动化测试
一、实验目的和要求
(1)实验要求
自带笔记本,安装QTP软件,独立完成实验内容,可以互相讨论。
(2)实验目的
了解QTP软件,熟悉QTP自动化测试原理;掌握QTP软件的脚本录制;掌握QTP检查点的插入,能够利用QTP软件进行功能测试(界面测试)和回归测试。
二、实验内容和原理
(1)实验原理
QTP是mercuryInteractive公司开发一款自动化测试软件,该公司于2006年11月被HP公司收购。
QTP自动化测试主要侧重于功能测试(界面测试)和回归测试。
(2)实验内容
本实验以QTP9.2版本为例,对QTP自带实例FlightReservation(飞机订票系统)进行脚本录制,然后插入检查点进行测试,最后分析和讨论实验结果。
三、主要仪器设备
4、操作方法与实验步骤
(1)运行QTP自带实例程序,在弹出的“LOGIN”界面输入用户名和密码。
(用户名:
Aaron密码:
mercury)
(2)添加QTP自带示例程序
(3)在弹出的“FlightReservation”窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班。
(4)在弹出的“flighttable”表中选择一趟航班,点击“ok”按钮返回,在Name中填写订票人姓名,选择订票数目“tickets”和仓位“class”然后点击“installorder”按钮,生成订单。
(5)点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。
保存脚本并对脚本进行回放。
(6)插入检查点验证订单是否生成。
在actionscreen视图中的orderno标签对应的文本框中点鼠标右键,在弹出的快捷菜单中选择“insertstandardcheckpoint”,在弹出的对话框中,单击ok,选中text属性一行,然后选择“insetstatement”
(7)选择工具栏中“file”菜单中的“faxorder”将机票订单传真出去,在“faxorderno.xx”窗口中填写传真号码以及代理人前面“agentsignature”,其中no.xx表示生成的传真订单号,具体号码以实际为准,然后点击“send”
(8)回放以上脚本,回访结果失败。
(9)切换到“keywordview”视图,鼠标右击“faxorderno.xx”在弹出的快捷菜单中选择“objectproperties”。
在弹出的窗口中点击text的value值中图标“<#>”,并改成如下图所示的值。
(10)关闭窗口,重新回放脚本,查看脚本时候回放成功。
(11)参照以上实验,再添加一个验证login界面中“agentname”的检查点。
(12)设计能够通过校验的正则表达式^\w{4,16}$,并回放成功。
(13)设计不能通过校验的正则表达式^\w{1,4}$并回放失败如下
5、实验结果与分析
1.第一个检查点的添加中最后传真订单回放失败原因分析:
提交订单并发送传真的时候,该系统会自动生成一个订单号,而进行回放的时候又会生成另一个订单号,然后后续回放失败,因为和之前录制时的订单号不匹配,找不到从而中端回放。
修改:
停止回放之后右键列表中的FaxOrderNo.xx的ObjectProperties,在弹出的窗口中点击text的value值中的图标“<#>”,弹出的对话框中把constant中的值改成如下,即FaxOrderNo\.[0-9]+,然后保存关闭。
2.添加第二个验证“Login”界面中的“AgentName”的检查点中:
设计能够通过校验的正则表达式^\w{4,16}$;设计不能通过校验的正则表达式^\w{1,4}$。
实验室名称
实验楼211
指导老师签名: