太原理工软件测试实验报告.docx
本科实验报告课程名称:软件测试技术实验工程:软件测试技术试验实验地点:实验楼211专业班级:软件工程1316学号:2023005793学生姓名:戴理指导教师:兰方鹏2023年10月7日太原理工大学学生实验报告学院名称计算机与软件学院专业班级软件工程1316实验成绩学生姓名戴超学号2023005793实验日期2023.10.课程名称软件测试实验题目实验一白盒测试方法一、实验目的和要求(1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。(2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。(3)运用所学理论,完成实验研究的根本训练过程。二、实验内容和原理测试以下程序段voiddowork(intx,intyjntz)(1) intk=O,j=O;(2) if(x>0)&&(z<10)(4) k=x*y-h(5) j=sqrt(k);(6) if(x=4)(y>5)(8) j=x*y+10;(9) j=j%3;(10) 三、主要仪器设备WindowseditionWindows7UltimateCopyright©2009MicrosoftCorporation.Allrightsreserved.ServicePacklSystemRatin9:WindowsExperienceIndexProcessorInteI(R)CoreJM)-3230MCPU2.60GHz2.60GHzInstalledmemory(RAM):4.00GB(2.38GBusable)Systemtype32-bitOperatingSystemPenandTouch:NoPenorTouchInputisavailableforthisDisplay四、操作方法与实验步骤说明:程序段中每行开头的数字(I-IO)是对每条语句的编号。A画出程序的控制流图(用题中给出的语句编号表示)。B分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。C编写完整的C程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、根本路径测试用例表)流程图为:控制流图:278N=(=4)(y>5)P2(abcdefhkl) = M and /NP4(abgkl) =/ M and/N设判定条件M=(x>O)&&(z<10)设路径Pl(abcdefhijl)=MandNP3(abgijl)=/MandN1 .语句覆盖输入x=4,y=7,z=9输出j=2,k=27覆盖路径Pl(abcdefhijl)"D:PracticesoftwaretestshiyanlshiyanlDebugiinputthefirstnumber:4inputthesecondnunbe:?inputthethirdnumbei*:9j=2k=271316戴超Pressanykeytocontinue2 .判定覆盖输入x=4,y=7,z=9输出j=2,k=27覆盖路径Pl(abcdefhijl)inputthefirstnumber:4inputthesecondnumber:?inputthethirdnunber:9j=2k=2?1316戴超Pvessanykeytocontinue输入x=4,y=3,z=12输出j=l,k=O覆盖路径P3(abgijl)"D:PracticesoftwaretestshiyanlshiyanlDebugrinputtheFi*stnumber:4inputthesecondnunbei*:3inputthethirdnumber:12j=lk=01316或超Pressanykeytocontinue3条件覆盖对康第一个判定条件M,分割如下条件x>0取真时为Tl,取假时为Fl。条件ZVlO取真时为T2,取假时为F2。对于第二个判定条件N,分割如下条件x=4取真时为T3,取假时为F3。条件y>5取真时为T4,取假时为F4。;the FirSt number:0;the second number:?;thethirdnumber:?4.判定-条件覆盖测试用例取值条件具体取值通过路径输入x=4,y=3,z=12输出j=l,k=OT1,F2,T3,F4x>0,z>=10,x=4,y<=5P3(abgijl)输入x=0,y=7,z=9输出j=l,k=O)F1T2,F3,T4x<=0,z<10,x!=4,y>5P3(abgijl)*"D:PracticesoftwaretestshiyanlshiyanlDebugrinputthefirstnumber:4inputthesecondnumber:3inputthethirdnumber:12J=Ik=01316戴超P*essanykeytocontinuea测试用例取值条件具体取值判定条件通过路径输入x=4,y=7,z=9输出j=2,k=27T1,T2,T3,T4x>0,z<10,x=4,y>5M,NPl(abcdeflij1)输入x=0,y=4,z=12输出j=O,k=OF1F2,F3,F4x<=0,z>=10,x!=4,y<=5M,NP4(abgkl)inputthefirstnunber:4inputthesecondnumber:?inputthethirdnumber:?j=2k=271316戴超F,ressanykeytocontinue"D:PracticesoftwaretestshiyanlshiyanlDebugrrinputtheFirstnumber:0inputthesecondnunber:4inputthethirdnumber:12J=0k=01316戴超Pressanykeytocontinue5.条件组合覆盖组合编号覆盖条件取值判定条件取值判定条件组合1TI,T2Mx>0,z<10,M取真2TI,F2/Mx>0,z>=10,M取假3FI,T2/Mx<=0,z<10,M取假4FI,F2/Mx<=0,z>=10,M取假5T3,T4Nx=4,y>5,N取真6T3,F4Nx=4,y<=5,N取真7F3T4Nx!=4,y>5,N取真8F3,F4/Nx!=4,y<=5,N取假测试用例测试用例取值条件覆盖路径覆盖组合输入x=4,y=7,z=9输出j=2,k=27T1,T2,T3,T4Pl(abcdeflijl)1,5输入x=4,y=3,z=12输出j=l,k=OT1F2,T3,F4P3(abgijl)2,6输入x=0,y=7,z=9输出j=I,k=OF1,T2,F3,T4P3(abgijl)3,7输入x=0,y=4,z=12输出U=O,k=0F1F2,F3,F4P4(abgkl)4,8"D:PracticesoftwaretestshiyanlshiyanlDebugrinputthefirstnumber:4inputthesecondnunber:?inputthethirdnumber:9j=2k=271316戴超PressanykeytocontinueinputtheFirstnumber:4inputthesecondnumber:3inputthethirdnumber:12J=Ik=01316戴超Ppessanykeytocontinue"D:PracticesoftwaretestshiyanlshiyanlDebugirinput input input J=I k=0the the thefrstnumber:0secondnumber:?thirdnumber:91316戴超Pressanykeytocontinue100UP=frstnumber:0secondnumber:4thirdnumber:!?1116.路径覆盖测试用例覆盖路径覆盖条件覆盖组合输入x=4,y=7,z=9输出(j=2,k=27PKabcdefhijl)T1,T2,T3,T41,5输入x=3,y=4,z=9输出j=2,k=27P2(abcdefhkl)TlF2,F3,F41,8输入x=0,y=7,z=12输出j=O,k=OP3(abgijl)F1,F2,F3,T44,7输入x=0,y=4,z=12输出j=O,k=OP4(abgkl)F1F2,F3,F44,8,DPracticesoftwaretestshiyanlshiyanlDebuginputinputinputthethethefrstnunber:3secondnuber三4thirdnumber:9k=ll1316戴超Pressanykeytocontinueinputinputinputj=lk=0thethethefirstnumber:。secondnumber:?thirdnunber:121316Wt3Pressanykeytocontinueinputthefirstnumber:0inputthesecondnumber:4inputthethirdnumber:12J=0k=01316戴超Pressanykeytocontinue程序代码:itinclude<stdio.h>Kinclude<nath.h>uoidDoWork(int×,inty,intz)intk=0,j=0;if(×>0)&&(z<10)k=×*y-1;j=sqrt(k);>if(×=4)(y>5)j=x*y+10;j=j%3;printf(,j三%dn"fj);printF(,k=¾dn,k);uoidmain()inta,bvc;printF(,inputtheFirstnumber:*');scanF('%d",6a);PrintfrinPUtthesecondnumber:");scanF("%d",8lb);printF("inputthethirdnumber:');scanF("%d'',8tc);DoWork(aybvc);Printf(“13161超”);>l五、讨论心得白盒测试包括了多种试验方法,语句覆盖,分支覆盖,条件覆盖,路径覆盖,组合条件覆盖,其中每一种条件覆盖方法对于我们都十分的适用,充分的利用每一种方法,理解白盒测试的原理,在实验中也明白了好多。实验室名称实验楼211指导老师签名:学院名称计算机与软件学院专业班级软件1316实验成绩学生姓名戴超学号2023005793实验日期2023.10.课程名称软件测试实验题目实验二黑盒测试方法一、实验目的和要求(1)熟练掌握黑盒测试方法中的等价类测试方法和边界值测试方法。(2)通过实验掌握如何应用黑盒测试用例。(3)运用所学理论,完成实验研究的根本训练过程。二、实验内容和原理U)用你熟悉的语言编写一个判断三角形问题的程序。要求:读入代表三角形边长的三个整数,判断它们能否组成三角形。如果能够,那么输出三角形是等边、等腰或者一般三角形的识别信息;如果不能构成三角形,那么输出相应提示信息。(2)使用等价类方法和边界值方法设计测试用例。三、主要仪器设备WindowseditionWindows7UltimateCopyright©2009MicrosoftCorporation.Allrightsreserved.ServicePack1SystemRating:WindowsExperienceIndexProcessorInteI(R)Core(TM)6-3230MCPU2.60GHz2.60GHzInstalledmemory(RAM):4.00GB(238GBusable)Systemtype:32-b<tOperatingSystemPenandTouch:NoPenorTouchInputisavailableforthisDisplay四、操作方法与实验步骤(1)先用等价类和边界值方法设计测试用例,然后用百合法进行检验和补充。(2)判断三角形问题的程序流程图和程序流图如图1和图2所示。用你熟悉的语言编写源程序。(3)使用等价类方法设计测试用例,并填写表2和表3。(4)输入设计好的测试用例,执行源程序,并记录结果。图1.程序流程图开始停止图2.程序流图表2.创立等价类输入条件有效等价类无效等价类是否构成三角形1.任意两边之和大于第三边4两边之和小于第三边5两边之和等于第三边6存在一边为O7存在2边为O8存在3边为O9存在一边不是整数IO存在2边不是整数11存在3边不是整数是否等腰三角形2.三边中任意两边长度相等12.任两边不等是否等边三角形3.三角形三边长度都相等13.三边不等表3.测试用例表实验原码:ttinclude<stdio.h>uoidain()inta,b,c;Printfr请输入三个整数:a,b,c:“);scanF(,¾d*d¾d,',&a,&b,&c);if(b+c)>a)8rft(c+a)>b)ftft(a÷b)>c)<if(a=bftb=c)<PrintFr该三角形为等边三角形n“);elseif(a=bb=cc=a)Printfr该三角形为等腰三角形n“);else<Printf(,该三角形为普通三角形n“);>elsePrintfr该组值不能组成三角形!);>Printfr软件1316戴超“);)1五、讨论心得在试验中,我们应该熟练的掌握黑盒测试的方法,与测试过程,通过不同的测试方法,程序运行的过程也随之不同。并且了解到了黑盒测试中的等价类划分依据边界值分析等测试的方法,我们也应该熟练的掌握,掌握并熟悉每一种测试方法,才能在测试中提高软件的质量,保证软件能够到达要求,我们还应该好好的学习黑盒测试。实验室名称实验楼211指导老师签名:学院名称计算机与软件学院专业班级软件1316实验成绩学生姓名戴超学号2023005793实验日期2023.10.课程名称软件测试实验题目实验三QTP自动化测试一、实验目的和要求(1)实验要求自带笔记本,安装QTP软件,独立完成实验内容,可以互相讨论。(2)实验目的了解QTP软件,熟悉QTP自动化测试原理;掌握QTP软件的脚本录制;掌握QTP检查点的插入,能够利用QTP软件进行功能测试(界面测试)和回归测试。二、实验内容和原理(1)实验原理QTP是mercuryInteractive公司开发一款自动化测试软件,该公司于2006年11月被HP公司收购。QTP自动化测试主要侧重于功能测试(界面测试)和回归测试。(2)实验内容本实验以QTP9.2版本为例,对QTP自带实例FlightReservation(飞机订票系统)进行脚本录制,然后插入检查点进行测试,最后分析和讨论实验结果。三、主要仪器设备WindowseditionWindows?UltimateCopyright©2009MicrosoftCorporation.Allrightsreserved.SystemRating:ProcessorInstalled memofy (RAM):System type:Pen and Touch:Windows Experience IndexServicePacklInteI(R)CoreJM)5-3230MCPU2.60GHz2.60GHz4.00GB(238GBusable)32bitOperatingSystemNoPenorTouchInputisavailableforthisDisplay四、操作方法与实验步骤(1)运行QTP自带实例程序,在弹出的“LOGIN”界面输入用户名和密码。(用户名:AarOn密码:mercy)OK CanCel Help(2)添加QTP自带例如程序RecordandRunSettingsWebWindowsAppbcationsRecordandruntestonanyopenWindows-basedapplication<Recordandrunonlyon:lrApplicationsopenedbyQuickTestApplicationsopenedviatheDesktop(bytheWindowsshell)kApplicationsspecifiedbelowOKCancel>plyHelp(3)在弹出的“FlightReSerVation"窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班。(4)在弹出的“flighttable”表中选择一趟航班,点击“ok”按钮返回,在Name中填写订票人姓名,选择订票数目"tickets"和仓位"class"然后点击"installorderw按钮,生成订单。(5)点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。保存脚本并对脚本进行回放。(6)插入检查点验证订单是否生成。在actionscreen视图中的Orderno标签对应的文本框中点鼠标右键,在弹出的快捷菜单中选择"insertstandardcheckpoint,z,在弹出的对话框中,单击ok,选中text属性一行,然后选择"insetstatement*普*CheckpointPropertiesl¾MNagIInsertOrder_2ass:WinButtonProperty enabledTruefocusedTrueheight23G Constant 09卜C ParameterypeB 皿 R P。9卜 DatTabteCnsert-OrderJtexf.(IGfobaISheet)Checkponttimeout,lsecondsInsertstatement<BeforecurrentstepCMerCUrTertStePOKCancelHelp(7)选择工具栏中"file"菜单中的"faxorder”将机票订单出去,在"faxorderno.x,z窗口中填写号码以及代理人前面“agentsignature*,其中no.xx表示生成的订单号,具体号码以实际为准,然后点击“send"FaxOrderNo.18Name:Order:Flight:Date:IdaleyFrom:Departure:1816927To:10/25/15Arrival:LondonIIo:33AMClass:ttTickets:LosAngeles11J7AMTicketPrice:TOtaI:(EconomyFaxNumber:P123.20AgentSignature1369.60(010)823-3119lSendSignaturewithorderPreviewFaxISendCancelClearSignatureIQi-Il艇FlightReservation(8)回放以上脚本,回访结果失败。(9)切换到“keywordview*视图,鼠标右击“faxorderno.xx,z在弹出的快捷菜单中选择"objectpropertiesz,o在弹出的窗口中点击text的ValUe值中图标“<#>",并改成如下列图所示的值。(10)关闭窗口,重新回放脚本,查看脚本时候回放成功。五、实验结果与分析1.第一个检查点的添加中最后订单回放失败原因分析:提交订单并发送的时候,该系统会自动生成一个订单号,而进行回放的时候又会生成另一个订单号,然后后续回放失败,因为和之前录制时的订单号不匹配,找不到从而中端回放。修改:停止回放之后右键列表中的FaxOrderNo.xx的ObjectProperties,在弹出的窗口中点击text的VaIUe值中的ReconJRUn5FTlenrMjonl-SlOKZlRRtymeNWEdBbKBFhrFmr:SRyToWLaa3RlerW市比=IOKNot?MIicfcetsHhwwiCM.IjgrAarhi外5bSb97te'hQfirtName*edtbthW*EdBweActwb11aIF11s11the*RyFrVl,ncmfaRTo'm图标“<#>,弹出的对话框中把constant中的值改成如下,即FaxOrder实验室名称Bt。尸:Irpert实验楼211指导老师签名:AlAhem?''Vtb>M,dbo>hfer*bvtlonH2”MrtTman1I123No.0-9+,然后保存关闭。2.添加第二个验证“Login"界面中的aAgentName的检查点中:设计能够通过校验的正那么表达式w4,16)$;设计不能通过校验的正那么表达式wl,4$o