太原理工大学软件测试实验报告2016.docx
本科实验报告课程名称: 软件测试技术 实验项目: 软件测试技术实验 实验地点: 逸夫楼304 专业班级: 软件1415 学号:2014005960 学生姓名: 朱伟 指导教师: 兰方鹏 2016 年 9 月 12日实验名称实验一白盒测试方法实验地点逸夫楼304实验时间2016.09.23一、实验目的和要求 熟练掌握白盒测试方法中的逻辑覆盖和路径测试覆盖方法。 通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 运用所学理论,完成实验研究的基本训练过程。二、实验内容和原理实验内容:测试以下程序段Void DoWork(int x,int y,int z)1 int k=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三、主要仪器设备笔记本电脑四、操作方法与实验步骤 画出程序的控制流图(用题中给出的语句编号表示)。 分别以语句覆盖、分支覆盖、条件覆盖和基本路径覆盖法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 编写完整的 4->5 程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、分支覆盖测试用例表、条件覆盖测试用例表、基本路径测试用例表)五、实验数据记录和处理测试用例表用例编号输入期望结果覆盖标准覆盖路径实际结果1x=4, y=6,z=7;j=1;k=23语句覆盖abcdfghjj=1k=232x=4,y=6,z=7j=1;k=23判定覆盖abcdfghjj=1;k=233x=4, y=4,z=11j=2;k=0判定覆盖abeghjj=2;k=0;4x=4,y=4,z=11j=2;k=0条件覆盖abeghjj=2;k=05x=0, y=6,z=9j=1;k=0条件覆盖abeghjj=1;k=06x=4,y=6,z=7j=1;k=23基本路径覆盖abcdfghjj=1;k=237x=3, y=4,z=9j=2;k=11基本路径覆盖abcdfijj=2;k=118x=0, y=6,z=11j=1;k=0基本路径覆盖abeghjj=1;k=09x=0,y=4,z=11j=2;k=0基本路径覆盖abeijj=2;k=0六、实验结果与分析 期望结果与实际结果相同一、 语句覆盖:(覆盖路径:abcdfghj)二、 判定覆盖:(1) 覆盖路径(abcdfghj)(2) 覆盖路径(abeghj)三、 条件覆盖(1) 覆盖路径(abeghj)(2) 覆盖路径(abeghj)四、 基本路径覆盖(1) 覆盖路径(abcdfghj)(2) 覆盖路径(abcdfij)(3) 覆盖路径(abeghj)(4) 覆盖路径(abeij)五、 程序代码#include<stdlib.h>#include<stdio.h>#include<math.h>void DoWork(int x,int y,int z)int k=0,j=0;if (x>0)&&(z<10)k=x*y-1;j=sqrt(k);if(x=4)|(y>5)j=x*y+10;j=j%3;printf("j=%dn",j);printf("k=%dn",k);void main()int a,b,c;printf("请输入第一个数:");scanf("%d",&a);printf("请输入第二个数:");scanf("%d",&b);printf("请输入第三个数:");scanf("%d",&c);DoWork(a,b,c);printf("软件1415班 朱伟 2014005960");system("pause");七、讨论、心得通过实验,用Diagram Designer软件画了流程图,让我充分理解并且掌握了白盒测试方法,对于语句覆盖,判定覆盖,条件覆盖,基本路径覆盖的掌握更加清晰透彻,每一种方法对于我们的测试都十分适用实验名称实验二黑盒测试方法实验地点逸夫楼402实验时间2016.09.27一、实验目的和要求 熟练掌握黑盒测试方法中的等价类测试方法和边界值测试方法。 通过实验掌握如何应用黑盒测试方法设计测试用例。 运用所学理论,完成实验研究的基本训练过程。二、实验内容和原理1用你熟悉的语言编写一个判断三角形问题的程序。要求:读入代表三角形边长的三个整数,判断它们能否组成三角形。如果能够,则输出三角形是等边、等腰或一般三角形的识别信息;如何不能构成三角形,则输出相应提示信息。2使用等价类方法和边界值方法设计测试用例。三、主要仪器设备笔记本电脑四、操作方法与实验步骤 先用等价类和边界值方法设计测试用例,然后用白盒法进行检验与补充。 判断三角形问题的程序流程图和程序流图如图 1 和图 2 所示。用你熟悉 的语言编写源程序。 使用等价类方法设计测试用例,并填写完成表 2 和表 3。 输入设计好的测试用例,执行源程序,记录输出结果。五、实验数据记录和处理表 2. 等价类划分表输入条件有效等价类无效等价类是否构成三角形1.任意两边之和大于第三边4.两边之和小于第三边5.两边之和等于第三边6.存在一边为07.存在两边为08.存在三边为09.存在一边不是整数10.存在两边不是整数11.存在三边不是整数是否等腰三角形2.三边中任意两边长度相等12.任意两边不等是否等边三角形3.三角形三边长度都相等13.三边不等表 3. 测试用例表用例编号测试数据( A,B,C) 等价类覆盖情况输出13,2,5覆盖等价类523,2,7覆盖等价类430,2,3覆盖等价类640,0,3覆盖等价类750,0,0覆盖等价类861.5,2,3覆盖等价类971.5,2.5,3覆盖等价类1081.5,2.5,2.8覆盖等价类1193,4,5覆盖等价类1,12103,3,5覆盖等价类1,2,13113,3,3,覆盖等价类1,3 边界值分析法 三、 代码:#include<stdlib.h>#include <stdio.h>void main()int a,b,c;printf("请输入三个整数:a,b,c:");scanf("%d %d %d",&a,&b,&c);if(b+c)>a)&&(c+a)>b)&&(a+b)>c)if(a=b&&b=c)printf("该三角形为等边三角形n");else if(a=b|b=c|c=a)printf("该三角形为等腰三角形n");elseprintf("该三角形为普通三角形n");elseprintf("该数值不能组成三角形n");printf("软件1415班 朱伟 2014005960");system("pause");六、实验结果与分析七、讨论、心得 通过实验,使我充分理解并且掌握了等价类划分法和边界值法,我们也应该熟练掌握黑盒测试的方法。掌握并熟悉每一种测试方法,才能在测试中提高软件的质量,保证软件能够达到要求。实验名称实验三 QTP 自动化测试实验地点逸夫楼402实验时间2016.09.30一、实验目的和要求 实验要求自带笔记本,安装 QTP 软件(V9.2),独立完成实验内容,可以互相讨论。 实验目的了解 QTP 软件,熟悉 QTP 自动化测试原理;掌握 QTP 软件的脚本录制;掌握 QTP 检查点的插入,能够利用QTP 软件进行功能测试(界面测试)和回归测试。二、实验内容和原理 实验原理Qui4->5k T8st Pro98ssion1l 简称 QTP,是 M8r4->5ury Int8r14->5tiv8 公司开发一款自动化测试软件,该公司于 2006 年 11 月被 HP 公司收购。QTP 自动化测试软件主要侧重于功能测试(界面测试)和回归测试。 实验内容本实验以 QTP9.2 版本为例,首先对 QTP 自带实例“9li10ht R8s8v1tion10”(飞机订票系统)进行脚本录制,然后插入检查点进行测试,最后分析和讨论实验结果。三、主要仪器设备 笔记本电脑(win7ows 操作系统) QTP9.2四、操作方法与实验步骤1安装 QTP9.2,启动该软件。先解压文件,解压后先查看“安装重要说明”文件,根据该文件说明进行安装,安装成功后需要重新启动电脑,根据软件提示操作即可。安装完成后启动“Qui4->5kT8st Pro98ssion1l”,进入软件主界面。2对 (飞机订票)系统进行脚本录制。 启动 QTP 软件快捷方式,进入 QTP 工作界面。 点击工具栏上的“record”图标进行脚本录制,如图 3 所示: 图3在弹出的“RecordandRunSettings”对话框中切换至“Windows Applications”标签,如图4 所示:图4 在弹出的对话框中,选择“Application details:”中右边的“+”标签,如图 5所示:图5 在弹出的对话框中按照默认选项选择,然后点击“ok”按钮,如图6 所示:图6 在弹出的“Login”界面中输入用户名和密码,如图7 所示。注意:用户名至 少是4 个字符,密码是“mercury”。图7在弹出的“Flight Reservation”窗口中选择订票日期、出发地和目的地,然后 选择“Flight”图标选择航班,如图8 所示。注意:日期格式“MMDD-YY”,并 且必须是当前日期之后。图8 在弹出的“Flight Table”表中选择一趟航班,点击“ok”按钮返回。 在“Name”中填写订票人姓名,选择订票数目“Ticktets”和仓位“Class”,然后 点击“Insert Order”按钮,生成订单,如图9 所示。图9 选择工具栏“File”菜单中的“Exit”子菜单或者点击关闭按钮,关闭“Flight Reservation”窗口。点击 QTP 主界面工具栏中的“Stop”按钮,停止脚本录制。至 此,订票系统录制完毕,如图10 所示:图103保存录制脚本并对脚本进行回放 首先点击工具栏上的保存图标,保存刚才录制的脚本,然后点击“Run”按钮,根据默认选择,对录制的脚本进行回放并生成测试结果表,如图 11和图12 所示。图11图12在测试结果表中,Result 结果为:Done,表明系统运行完成,测试结果是否 满足预期?需要加入“检查点”进行验证。4插入“检查点”验证订单是否生成 在“keyword view”视图中单击“Insert Order”这一行,同时QTP 主界面右下 角“Active Screen”中会显示这一步操作的界面,如图13 所示。图13 在“Action Screen”视图中“Order No”标签对应的文本框中点鼠标右键,在 弹出的快捷菜单中选择“Insert Standard Checkpoint”,如图14 所示。图14 在弹出的对话框中单击“ok”按钮打开“Checkpoint properties”对话框,在该 对话框中只选择“text”属性这一行,然后选择“insert statement:”中的“After current step”选项,单击“Configure value”标签中“Constant”类型最右边的图标,如图 15 所示:图15 在弹出的对话框中先选中“Regular expression”标签,然后在 Value 中输入 值:“0-9+”,(“0-9+”是一个正则表达式,该表达式的含义是判断是否为数字), 最后点击“ok”按钮,如图16 所示:图16 返回“Checkpoint properties”对话框,单击“ok”按钮,至此,检查点插入成 功, 保存脚本,重新运行脚本,生成如图17 所示的测试结果表。测试结果表 明测试通过,订单生成成功。5在图 15 中的“constant”一栏中输入一个常数值,重新运行脚本,分析实验结 果图176. 重新录制脚本。重复上述过程“2. 对 Flight Resevationg(飞机订票)系统进行脚 本录制”中的-,接着录制以下步骤和。 选择工具栏“File”菜单中的“Fax Order”子菜单,打开“Fax Order No.xx”将机 票订单传真出去,在“Fax Order No.xx”窗口中填写传真号码以及代理人签名 “Agent signature”,其中 No.xx 表示生成的传真订单号,具体号码以实际为准, 然后点击“Send”,如图18 所示:图18 发送成功后系统返回“Flight Reservation”,并显示传真发送状态, 如图19所示。图19 关闭“Flight Reservation”窗口,停止录制。 7回放以上脚本,回放结果失败,分析原因。8按以下步骤修改。 切换到“Keyword View”视图,鼠标右击“Fax Order No.xx”,在弹出快捷菜 单中选择“Object Properties”,如图20 所示。图20 在弹出的“Object Properties”窗口中点击text 的Value 值中的图标“<#>”,如 图21 所示。图21 在弹出的对话框中,选中“Regular expression”,把 constant 中的值改为如图22 所示的内容。图22 关闭窗口,重新回放脚本,查看脚本是否回放成功。9参照以上实验,再添加一个验证“Login”界面中“Agent Name”的检查点 提示:利用正则表达式对 Agent Name 进行校验,即:对不少于4 个字符的Agent Name 再加以限定,分别设计一个能够通过校验的正则表达式和一个不能 通过校验的正则表达式。五、实验数据记录和处理(记录“四、操作方法与实验步骤”中第9步的实验记录和处理)六、 实验结果与分析(记录并分析“四、操作方法与实验步骤”中第9 步的实验结果)七、讨论、心得通过本次实验学会了使用测试软件进行自动化测试,对qtp的使用更加熟练。理解测试工具的好处,给我们节省了很多不必要的麻烦,也给我们带来了很多的方便。