1、上海电机学院课程设计报告课程名称: 软件质量保证与测试 课题名称: 软件质量保证与测试 姓 名: 孙 诚 班 级: BX0903 带教教师: 郭煦 报告日期: .06.14 电 子 信 息 学 院目录前言3一、课程设计目和意义4二、课程设计内容5三、课程设计环节与办法63.1 正交实验法63.2 黑盒测试63.3 自动化单元测试63.4 白盒测试73.5 针对MS Paint软件测试73.6 性能测试73.6.1 WebSite测试73.6.2 WebSite负载测试83.7 用QTP进行自动化测试83.8 使用Apache Bench(ab)进行性能测试。9四、课程设计实现104.1 正交实
2、验法104.2 黑盒测试124.3 自动化单元测试134.4 白盒测试214.5 针对MS Paint软件测试234.6 性能测试254.6.1 WebSite测试254.6.2 WebSite负载测试274.7 用QTP进行自动化测试344.8 使用ApacheBench(ab)进行性能测试43五、小结46参照文献47前言实训课程作为一门实践性课程,是检查学生课堂教学成果一种实践环节,学生应当通过两周实训时间,综合运用课内实验所掌握技术和技巧,完毕一种中档规模项目测试,这一测试任务涉及测试筹划制定,测试用例设计,测试成果收集,以及撰写符合规范测试报告等一种完整软件测试阶段。学生可以通过完毕上
3、述任务基本上,对课程学习内容有一种比较深刻掌握,并且可以承担起一定实际工作责任。 一、课程设计目和意义测试是软件工程专业学生所必须具备技能,对于此后但愿可以在软件测试方向发展学生特别重要,通过该课程开设,但愿学生可以不但纯熟课内实验所涉及软件测试技术,掌握基本测试办法和工具使用,并可觉得此后工作上运用打下夯实基本。二、课程设计内容课程设计规定完毕如下工作:1. 制定测试筹划,并且编写测试筹划(依照提供测试筹划书,完毕如下内容书写:简介,测试进度,测试资源,黑盒测试,性能测试,顾客界面测试)。2. 制定功能测试测试用例,编写功能测试用例报告,测试用例报告内容见环节与办法,并在需要状况下运用适当工
4、具完毕测试(例如QTP),同步收集测试成果。3. 制定性能测试用例,将性能测试用例写入性能测试用例报告中。4. 制定顾客界面测试用例(例如对错误输入,普通使用习惯,错误信息提示,界面易用性),将测试用例写入功能测试用例报告中。三、课程设计环节与办法3.1 正交实验法运用正交实验法设计对ppt打印功能测试用例。环节1拟定影响功能因子与状态共有四个因子:打印范畴分:所有、当前幻灯片、给定范畴n 打印内容分:幻灯片、讲义、备注页、大纲视图n 打印颜色/灰度分:彩色、灰度、黑白n 打印效果分:幻灯片加框和幻灯片不加框。环节2选取一种适当正交表 可运用正交设计助手完毕正交表选取和实验数据拟定。环节3运用
5、正交表构造测试数据集 依照已拟定实验数据,写出测试数据集,并将测试数据集转换为测试用例。3.2 黑盒测试针对windows系统自带计算器测试(1) 黑盒测试针对模块:1在原则型选项下,运用等价类办法,测试计算器常规计算功能2在科学性选项下,运用等价类办法和边界值办法,测试计算器各种计算功能(2) 顾客界面测试针对模块:测试软件易用性和软件错误提示等涉及顾客界面功能(3) 测试管理3.3 自动化单元测试用ANT从SVN检出代码,并用JUNIT完毕单元测试环节1.安装ant并设立环境变量安装ant。安装后,设立两个环境变量:ANT_HOME和Path。两个环境变量分别取值:ant安装途径和ant安
6、装途径bin。环节2.在Eclipse中创立项目。环节3.创立文献夹”src”和”lib”环节4.将jar文献复制到lib目录下。环节4.在项目中创立构建文献build.xml。环节5.设立项目构建器。环节6. 设立类途径。环节7. 编写被测试类代码。环节8. 运营。环节9.查看测试报告。用浏览器打开repo文献夹中index.html文献,即可查看生成测试报告。3.4 白盒测试使用逻辑覆盖测试办法测试如下程序段1.void doWork(int x,int y,int z)2.int k=0,j=0;3.if(x3)&(z5)8.j=x*y+10;9.j = j%3;10.(1) 画出程序控
7、制流图(用题中给出语句编号表达)(2) 分别以语句覆盖、鉴定覆盖、条件覆盖、鉴定/条件覆盖、组合覆盖和途径覆盖办法设计测试用例,并写出每个测试用例执行途径(运用题中给出语句编号表达)。3.5 针对MS Paint软件测试(1) 黑盒测试针对模块:1测试软件绘制图形功能,调色板运用,图片复制粘贴等图像解决功能2对图像菜单下功能测试(2) 性能测试针对模块和参数设立:模仿10个顾客对绘图工具使用,观测系统性能和响应(3) 顾客界面测试针对模块:测试软件易用性,操作提示,例如覆盖操作等(4) 测试管理3.6 性能测试用LoadRunner进行性能测试。3.6.1 WebSite测试(1)对web程序
8、使用1保证示例 Web 服务器正在运营。2. 打开 Mercury Tours 应用程序。3. 登录到 Mercury Tours。4. 预订航班。5. 结束您 Mercury Tours 会话。单击“注销”进行注销。3.6.2 WebSite负载测试(1) Web Site程序简朴负载测试1. 打开“Mercury LoadRunner”窗口。2. 打开 Controller 在“负载测试”选项卡中,单击“运营负载测试”。3. 打开示例测试。4. 单击“启动场景”按钮 。将显示 Controller 运营视图, Controller 将开始运营场景。(2) 监控负载测试: (3) 录制脚本1
9、 启动 LoadRunner 2 打开 VuGen。3 创立一种空白 Web 脚本4.开始录制脚本前,请打开网址如下:http:/localhost:1080/WebTours/5. 打开 Mercury Tours 应用程序。6. 点击开始录制,进入录制状态,7. 登录到 Mercury Tours。8. 预订航班操作结束后,单击“注销”进行注销。9.脚本录制完毕后,会显示录制完毕后 Recording Summary界面。(4) 分析场景1.上述实验内容完毕后,点击Results | Analyse Result,将会看到测试成果分析。2在Analysis工具中Graph菜单画出如下记录图
10、(Running VUser,Avage Transaction Graph,Transaction per second)。3.7 用QTP进行自动化测试建立QTP检查点(1)检核对象1. 执行QuickTest 并启动Recording测试脚本2. 将测试脚本另存成名为Checkpoint测试脚本3. 确认【Active Screen】是启动4. 选用要建立检查点网页5. 建立一种原则检查点6. 储存测试脚本(2) 检查网页1. 选用要建立检查点网页2. 建立一种网页检查点3. 储存测试脚本a)参数化b)建立输出值(3)检查文字1. 选用要建立检查点网页2. 建立文字检查点3. 储存测试脚
11、本(4)检查表格1. 选用要建立检查点网页2. 建立表格检查点3. 储存测试脚本3.8 使用Apache Bench(ab)进行性能测试。1. 找到ab所在文献夹。在Apachebin目录下。2. 将命令行切换到ab所在目录3. 对Tomcat服务器index.jsp进行性能测试,分析测试数据,重要使用n和c参数。4. 在Tomcat服务器index.jsp文献所在文献夹加入一种html文献,内容可以自定义,名称为index.html。用ab对这个html文献进行性能测试。5. 用相似测试参数分别对index.jsp和index.html进行测试,比较测试成果,分析性能有差别因素四、课程设计实
12、现4.1 正交实验法运用正交实验法设计对ppt打印功能测试用例。环节1拟定影响功能因子与状态共有四个因子:n 打印范畴分:所有、当前幻灯片、给定范畴n 打印内容分:幻灯片、讲义、备注页、大纲视图n 打印颜色/灰度分:彩色、灰度、黑白n 打印效果分:幻灯片加框和幻灯片不加框。环节2选取一种适当正交表 可运用正交设计助手完毕正交表选取和实验数据拟定。环节3运用正交表构造测试数据集 依照已拟定实验数据,写出测试数据集,并将测试数据集转换为测试用例。对此测试用例进行简化后,删除不必要项,则得到如下测试用例:表4-1 ppt打印测试用例打印范畴打印内容颜色/灰度幻灯片加框实验1所有幻灯片彩色是实验2所有
13、讲义灰度否实验3当前幻灯片大纲视图黑白否实验4给定范畴备注页彩色否实验5给定范畴大纲视图灰度是4.2 黑盒测试针对windows系统自带计算器测试(1) 黑盒测试针对模块:1在原则型选项下,运用等价类办法,测试计算器常规计算功能表4-2 计算器原则型测试用例设计输入预期输出实际输出操作环节与否有效等价类3+255依次点击按钮3 + 2 =是3-211依次点击按钮3 2 =是3*266依次点击按钮3 * 2 =是3/21.51.5依次点击按钮3 / 2 =是根号422依次点击按钮2 sqrt是3/0报错除数不能为零依次点击按钮3 / 0 = 否根号-1报错函数输入无效依次点击按钮 1 +/- s
14、qrt否2在科学性选项下,运用等价类办法和边界值办法,测试计算器各种计算功能表4-3 计算器科学型测试用例设计输入预期输出实际输出操作环节与否有效等价类sin9011选取角度复选框 依次点击按钮 9 0 sin是cos000选取角度复选框 依次点击按钮 0 cos是log10022依次点击按钮 100 log是log-100报错函数输入无效依次点击按钮 100 +/- log否ln0报错函数输入无效依次点击按钮 0 ln否,且在边界值 (2) 顾客界面测试针对模块:测试软件易用性和软件错误提示等涉及顾客界面功能易用性测试:计算器附带原则型和科学型两种模式,操作简便,功能强大,可以随时切换,且可
15、以用键盘上数字键、运算符直接输入来代替鼠标单击按钮,运用更加灵活、简朴。错误提示:当输入错误运算或函数后,将会提示错误信息,如输入5/0=后,成果为:4.3 自动化单元测试环节1.安装ant并设立环境变量安装ant。安装后,设立两个环境变量:ANT_HOME和Path。两个环境变量分别取值:ant安装途径和ant安装途径bin。环节2.在Eclipse中创立项目,如下图。环节3.创立文献夹,需要创立文献夹只有”src”和”lib”环节4.将jar文献复制到lib目录下。提供ant-junit.jar和junit.jar和svnantlib下jar文献复制到项目lib目录下,在项目中创立构建文献
16、build.xml。向build.xml文献中写入如下内容: 环节5.设立项目构建器。在项目上单击右键,选取“properties”命令,成果如下图:选取Builders选项。去掉”Java Builder”前面勾,单击”new”按钮。成果如下图:选取Ant Build,单击”OK”按钮。成果如下图:指定要使用build文献和项目根途径。如下图:环节6. 设立类途径Eclipse“Windows菜单”“Preferences”选项AntRuntimeAnt HomeEntires “Add External JARs”添加lib目录下jar文献。环节7. 编写被测试类代码。注意类名字要和bui
17、ld.xml文献中类名称保持一致。将编写好代码提交到test版本库。由ant从版本库中检出代码,请勿手工检出。检出代码时,要拟定你apache服务器已启动。/SimpleTest.javapackage com.test;import java.util.ArrayList;import java.util.Collection;import junit.framework.Assert;import org.junit.Before;import org.junit.Test;public class SimpleTest private Collection collection;Befo
18、republic void setUp() collection = new ArrayList(); Testpublic void testEmptyCollection() Assert.assertTrue(collection.isEmpty(); Testpublic void testOneItemCollection() collection.add(new String(123); Assert.assertEquals(6,collection.size(); 环节8.运营后,控制台输出成果,如下图:环节9.打开html格式报告,查看测试成果,如下图:4.4 白盒测试使用逻
19、辑覆盖测试办法测试如下程序段1.void doWork(int x,int y,int z)2.int k=0,j=0;3.if(x3)&(z5)8.j=x*y+10;9.j = j%3;10.(3) 画出程序控制流图(用题中给出语句编号表达)NYNY23456789110(4) 分别以语句覆盖、鉴定覆盖、条件覆盖、鉴定/条件覆盖、组合覆盖和途径覆盖办法设计测试用例,并写出每个测试用例执行途径(用题中给出语句编号表达)。表4-4 语句覆盖用例设计测试用例详细取值条件鉴定条件通过途径输入:x=4,y=6,z=9输出:k=23,j=1x=4,y5,z5,z103 = T7 = T1-2-3-4-5
20、-6-7-8-9-10输入:x=3,y=5,z=10输出:k=0,j=0x=3,y=103 = F7 = F1-2-9-10表4-6 条件覆盖用例设计测试用例详细取值条件取值条件通过途径输入:x=4,y=6,z=9输出:k=23,j=1x3,z5T1,T2,T3,T41-2-3-4-5-6-7-8-9-10输入:x=3,y=5,z=10输出:k=0,j=0x=10,x!=4,y3,z5T1,T2,T3,T43 = T7 = T1-2-3-4-5-6-7-8-9-10输入:x=3,y=5,z=10输出:k=0,j=0x=10,x!=4,y3,z3,z=10,3取假3F1,T23 = Fx3,z1
21、0,3取假4F1,F23 = Fx=10,3取假5T3,T47 = Tx=4,y5,7取真6T3,F47 = Tx=4,y5,7取真8F3,F47 = Fx!=4,yTutorial demo_scenario.lrs。启动场景,查看Vuser在系统上生成负载。选取demo_scenario.lrs新建场景启动场景,生成负载(2) 录制脚本启动 LoadRunner ,选取“创立/ 编辑脚本”,并通过选取“Web (HTTP/HTML)”来创立一种空白 Web 脚本。创立空白Web脚本对Mercury Web Tours 应用程序进行脚本录制。填写脚本录制选项卡测试录制脚本最后,对场景进行分析
22、。并可以通过Analysis工具中Graph菜单画出有关记录图。场景分析图参数视图Hits per Second记录图Througout记录图Transaction Summary记录图Average TransactionResponse Time记录图4.7 用QTP进行自动化测试建立QTP检查点检核对象1. 执行QuickTest 并启动Recording测试脚本在【Open Test】对话窗口,选取刚刚录制Recording测试脚本,然后点选【Open】。2. 将测试脚本另存成名为Checkpoint测试脚本点选【File】【Save As】。将测试脚本存档成Checkpoint。3.
23、 确认【Active Screen】是启动若没启动点选工具列上【Active Screen】按钮,或是点选【View】【Active Screen】。4. 选用要建立检查点网页5. 建立一种原则检查点对【Active Screen】中First Name edit box 点选鼠标右键,选用【Insert StandardCheckpoint】。6. 查看测试成果:7. 储存测试脚本点选【File】【Save】或是点选工具列上【Save】按钮。检查网页1. 选用要建立检查点网页2. 建立一种网页检查点3. 查看测试成果4. 储存测试脚本点选【File】【Save】或是点选工具列上【Save】按
24、钮检查文字1. 选用要建立检查点网页2. 建立文字检查点测试成果:3. 储存测试脚本点选【File】【Save】或是点选工具列上【Save】按钮。检查表格1. 选用要建立检查点网页2. 建立表格检查点3. 查看测试成果4. 储存测试脚本点选【File】【Save】或是点选工具列上【Save】按钮。4.8 使用ApacheBench(ab)进行性能测试1.找到ab所在文献夹。在Apachebin目录下。2.将命令行切换到ab所在目录,如下图3.对Tomcat服务器index.jsp进行性能测试,分析测试数据,重要使用n和c参数。一方面使用ab指令发出祈求,如下图:接着等待测试成果:4.在Tomc
25、at服务器index.jsp文献所在文献夹加入一种html文献,内容可以自定义,名称为index.html。用ab对这个html文献进行性能测试。使用ab命令,对index.html进行测试如下图5.用相似测试参数分别对index.jsp和index.html进行测试,比较测试成果,分析性能有差别因素分析:依照成果显示,同样条件下,index.jsp文献响应时间较长,祈求解决时间较长,而index.html传播速率要更快,解决速度更高。分析因素重要为:index.jsp文献字节数稍大,并且jsp文献需要编译后执行,影响响应速度;而html文献无需编译可以直接发送给浏览器进行解释,节约了诸多时间
26、。五、小结本次课设,在学习完软件测试基本概念和办法后,进行了对其一系列工具以及测试办法实际训练。其中涉及黑盒测试、白盒测试、功能测试、性能测试、自动化测试、测试用例编写与分析等等,并且用到了黑盒测试中档价值划分、边界值分析、正交设计以及白盒测试语句覆盖、鉴定覆盖、条件覆盖、鉴定-条件覆盖、条件组合覆盖和途径覆盖等基本办法作为理论基本,将之应用于各种测试工具或办法上。从中使用到工具备正交设计助手、ant+junit集成在Eclipse环境下测试工具、LoadRunner、QTP、ApacheBench等测试工具,使得自己对软件测试理解更进了一步。参照文献1 Glenford J Myers. 软件测试艺术. 王峰,陈杰译. 北京:机械工业出版社,2 朱少民. 全程软件测试. 北京:电子工业出版社,3 朱少民. 轻轻松松自动化测试. 北京:电子工业出版社,4 Andrew Hunt ,David Thomas. 单元测试之道. 陈伟柱等译. 北京:电子工业出版社,5 John D McGregor,David A Sykes. 面向对象软件测试. 杨文宏等译. 北京:机械工业出版社,中信出版社,