本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼专业班级:学生姓名:指导教师:谢红薇2015年10月14日1太原理工大学学生实验报告实验名称实验一白盒测试方法实验地点实验楼211实验时间2015.10.9一、实验目的和要求(1)熟悉掌握白盒测试方法中的逻辑覆盖和路径覆盖的测试方法。(2)通过实验掌握逻辑覆盖测试用例设计,掌握流程图的绘制。(3)运用所学理论,完成实验研究的基本训练过程。二、实验内容和原理测试以下程序段VoidDoWork(intx,inty,intz){(1)intk=0,j=0;(2)if((x0)&&(z10))(3){(4)k=x*y-1;(5)j=sqrt(k);(6)}(7)if((x==4)||(y5))(8)j=x*y+10;(9)j=j%3;(10)}说明:程序中每行开头的数字(1-10)是对每句语句的编号。a画出程序的控制流图(用题中给出的语句编号表示)。b分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。三、实验仪器设备笔记本电脑四、操作方法与实验步骤1、绘制控制流图控制流图:22、编写完整C程序附:程序代码#includestdio.h#includemath.h152abe4789Ecdfhgij63lkS3intdowork(intx,inty,intz){intk=0,j=0;if((x0)&&(z10)){k=x*y-1;j=sqrt(k);}if((x==4)||(y5))j=x*y+10;j=j%3;returnj;}voidmain(){intx,y,z,j;printf(输入x,y,z的值);scanf(%d%d%d,&x,&y,&z);j=dowork(x,y,z);printf(j的值%d,j);}3、设计用例并运行记录分析设判定条件M=(x0)&&(z10)N=(x==4)||(y5)设路径P1(abcdefhijl)=MandNP2(abcdefhkl)=Mand/NP3(abgijl)=/MandNP4(abgkl)=/Mand/N1.语句覆盖输入{x=4,y=8,z=9}输出{j=0}覆盖路径P1(abcdefhijl)2.判定覆盖输入{x=4,y=8,z=9}输出{j=0}覆盖路径P1(abcdefhijl)4输入{x=4,y=4,z=15}输出{j=0}覆盖路径P3(abgijl)3.条件覆盖对于第一个判定条件M,分割如下条件x0取真时为T1,取假时为F1。条件z10取真时为T2,取假时为F2。对于第二个判定条件N,分割如下条件x==4取真时为T3,取假时为F3。条件y5取真时为T4,取假时为F4。测试用例取值条件具体取值通过路径输入{x=4,y=3,z=15}输出{j=1}T1,F2,T3,F4x0,z=10,x==4,y=5P3(abgijl)输入{x=0,y=8,z=7}输出{j=1}F1T2,F3,T4x=0,z10,x!=4,y5P3(abgijl)4.判定-条件覆盖测试用例取值条件具体取值判定条件通过路径输入{x=4,y=8,z=8}输出{j=2,k=27}T1,T2,T3,T4x0,z10,x==4,y5M,NP1(abcdefhijl)输入{x=0,y=3,z=15}输出{j=0,k=0}F1F2,F3,F4x=0,z=10,x!=4,y=5/M,/NP4(abgkl)55.条件组合覆盖组合编号覆盖条件取值判定条件取值判定条件组合1TI,T2Mx0,z10,M取真2TI,F2/Mx0,z=10,M取假3FI,T2/Mx=0,z10,M取假4FI,F2/Mx=0,z=10,M取假5T3,T4Nx==4,y5,N取真6T3,F4Nx==4,y=5,N取真7F3T4Nx!=4,y5,N取真8F3,F4/Nx!=4,y=5,N取假测试用例测试用例取值条件覆盖路径覆盖组合输入{x=4,y=8,z=8}输出{j=0}T1,T2,T3,T4P1(abcdefhijl)1,5输入{x=4,y=4,z=15}输出{j=2}T1F2,T3,F4P3(abgijl)2,6输入{x=0,y=8,z=8}输出{j=1}F1,T2,F3,T4P3(abgijl)3,7输入{x=0,y=3,z=15}输出{j=0}F1F2,F3,F4P4(abgkl)4,86.路径覆盖测试用例覆盖路径覆盖条件覆盖组合输入{x=4,y=8,z=8}输出{j=0}P1(abcdefhijl)T1,T2,T3,T41,5输入{x=3,y=3,z=8}输出{j=2}P2(abcdefhkl)T1F2,F3,F41,8输入{x=0,y=7,z=15}输出{j=1}P3(abgijl)F1,F2,F3,T44,7输入{x=0,y=4,z=15}输出{j=0}P4(abgkl)F1F2,F3,F44,86五、讨论心得在试验过程中,我们对于白盒测试还是没有熟练的掌握,还需要不断地练习,但是我们也已经收获了很多,特别是路径测试,我们掌握到了路径测试的一些方法,知道了划分路径的方法,,怎样设计测试用例。测试的过程就是找错的过程,我们要通过方法去找到软件中存在的问题,这才是软件测试的意义,我们便需要不断地学习怎么进行软件测试,特别是白盒测试。实验室名称实验楼211指导老师签名:7实验名称实验二黑盒测试方法实验地点实验楼211实验时间2015.10.12一、实验目的和要求(1)熟悉掌握黑盒测试方法中的等价类测试方法和边界值测试方法。(2)通过实验掌握如何应用黑盒测试方法设计测试用例。(3)运用所学理论,完成实验研究的基本训练过程。二、实验内容和原理1、用你熟悉的语言编写一个判断三角形问题的程序。2、使用等价类方法和边界值方法设计测试用例。三、主要仪器设备笔记本电脑四、操作方法和步骤(1)编写C语言程序附:实验代码#includestdio.h#includemath.hvoidmain(inta,intb,intc){scanf(%d%d%d,&a,&b,&c);if((a+bc)||(a+cb)||(b+ca))printf(不是三角形);elseif(a==b)if(b==c)printf(等边三角形);elseprintf(等腰三角形);elseif(a==c)if(b==c)printf(等边三角形);elseprintf(等腰三角形);elseif(b==c)if(b==a)8printf(等边三角形);elseprintf(等腰三角形);elseprintf(是三角形);}开始AB+CBC+ACA+BA=BB=CA=CB=C印出不是三角形印出等边三角形印出等腰三角形印出不等边三角形停止TFFFFFFFTTTTTT图2.1程序流程图9S12119108E7653241adecbwsrpgmhgfkjinlt图2.2流图10(2)设计用例运行记录创建等价类输入条件有效等价类无效等价类三条边的关系1.两边之和小于等于第三边2.三条不等3.其中两边相等4.三条边都相等输入类型5.输入整数类型6.输入非整数类型输入值的范围7.08.=0对应测试用例:a.{a=5,b=6,c=12}覆盖等价类1,5,7b.{a=3,b=4,c=5}覆盖等价类2,5,7c.{a=3,b=6,c=6}覆盖等价类3,5,7d.{a=4,b=4,c=4}覆盖等价类4,5,7e.{a=2.2,b=4,c=4}覆盖等价类6f.{a=3,b=1.2,c=3}覆盖等价类611g.{a=3,b=3,c=1.2}覆盖等价类6h.{a=4,b=5,c=0}覆盖等价类7五、讨论心得在试验中,我了解到了黑盒测试中的等价类划分依据边界值分析等测试的方法,通过不同的方法,所进行的测试过程也是不同的,但是都需要我们去熟练掌握,只有掌握并熟悉每一种测试方法,才能在测试中提高软件的质量,保证软件能够达到要求。我们需要学习的还有很多。实验室名称实验楼211指导老师签名:12实验名称实验三QTP自动化测试实验地点实验楼211实验时间10.12一、实验目的和要求(1)实验要求自带笔记本,安装QTP软件(V9.2),独立完成实验内容,可以互相讨论。(2)实验内容了解QTP软件,熟悉QTP自动化测试原理;掌握QTP软件的脚本录制;掌握QTP检查点的插入,能够利用QTP软件进行功能测试(界面测试)和回归测试。二、实验内容和原理(1)实验原理QuickTestProfessional简称QTP,是MercuryInteractive公司开发一款自动化测试软件,该公司于2006年11月被HP公司收购。QTP自动化测试软件主要侧重于功能测试(界面测试)和回归测试。(2)实验内容本实验以QTP9.2版本为例,首选对QTP自带实例“FlightResevating”(飞机订票系统)进行脚本录制。然后插入检查点进行测试,最后分析和讨论实验结果。三、实验仪器设备(1)笔记本电脑(Windows操作系统)(2)QTP9.2四、操作方法与实验步骤1.安装QTP9.2,启动该软件。先解压文件,解压后先查看“安装重要说明”文件,根据文件说明进行安装,安装成功后需要重新启动电脑,根据安装提示操作即可。安装完成后启动“QuickTestProfessional”,进入软件主界面。2.对FlightResevationg(飞机订票)系统进行脚本录制。(1)启动QTP软件快捷方式,进入QTP工作界面。(2)点击工具栏上的“Record”图标进行脚本录制,如图3所示:图313(3)在弹出的“ResordandRunSettings”对话框中切换至“WindowsApplications”标签,如图4所示:图4(4)在弹出的对话框中,选择“Applicationdetails”中右边的“+”标签,如图5所示:图5(5)在弹出的对话框中按照默认选项选择,然后点击“ok”按钮,如图6所示:14图6(6)在弹出的“Login”界面中输入用户名和密码,如图7所示。注意:用户名至少是4个字符,密码是“mercury”。图7(7)在弹出的“FlightReservation”窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班,如图8所示。注意:日期格式“MM--DD--YY”,并且必须是当前日期之后。15图8(8)在弹出的“FlightTable”表中选择一趟航班,点击“ok”按钮返回。(9)在“Name”中填写订票人姓名,选择订票数目“Ticktets”和仓位“Class”,然后点击“InsertOrder”按钮,生成订单,如图9所示图916(10)选择工具栏“File”菜单中的“Exit”子菜单或者点击关闭按钮,关闭“FilghtReservation”窗口。点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。至此,订票系统录制完毕,如图10所示:图103.保存录制脚本并对脚本进行回放首先点击工具栏上的保存图标,保存刚才录制的脚本,然后点击“Run”按钮,根据默认选择,对录制的脚本进行回放并生成测试结果表,如图11和图12所示。图11图12在测试结果表中,Result结果为:Done,表明系统运行完成,测试结果是否满足预期?需要加入“检查点”进行验证。174.插入“检查点”验证订单是否生成(1)在“keywordview”视图中单击“InsertOrder”这一行,同时QTP主界面右下角“ActiveScreen”中会显示这一操作的界面,如图13所示。图13(2)在“ActiveScreen”视图中“OrderNo”标签对应的文本框中点击右键,在弹出的快捷菜单中选择“InsertStandardCheckpoint”,如图14所示。图14(3)在弹出的对话框中单击“ok”按钮打开“Checkpointproperties”对话框,在该对话框中