ImageVerifierCode 换一换
格式:DOCX , 页数:99 ,大小:3.65MB ,
资源ID:12440851      下载积分:8 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12440851.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件测试技术实验指导书版.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

软件测试技术实验指导书版.docx

1、软件测试技术实验指导书版软件测试技术实验指导书吴鸿韬 河北工业大学计算机科学与软件学院2016年9月第一章 实验要求 1第二章 白盒测试实践 3第三章 黑盒测试实践 6第四章 自动化单元测试实践 7第五章 自动化功能测试实践 35第六章 自动化性能测试实践 56附录1实验报告封皮参考模版 71附录2小组实验报告封皮参考模版 72附录3软件测试计划参考模版 73附录4 测试用例参考模版 77附录5单元测试检查表参考模版 81附录6测试报告参考模版 82附录7软件测试分析报告参考模版 87第一章实验要求一、实验意义和目的软件测试是软件工程专业的一门重要的专业课,本课程教学目的是通过实际的测试实验,

2、使学生系统地理解软件测试的基本概念和基本理论,掌握软件测试和软件测试过程的基本方法和基本工具,熟练掌握软件测试的流程、会设计测试用例、书写测试报告,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。本实验指导书共设计了2个设计型、3个验证型实验和一个综合型实验,如表1所示。设计型实验包括白盒测试实践和黑盒测试实践,验证型实验包括自动化单元测试实践、自动化功能测试和自动化性能测试实践,主要目标是注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实践教学,使学生掌握软件测试的方法和技术,并能运用测试工具软件进行自动化测试。综合型实验以软件设计与编程实

3、践课程相关实验题目为原型、在开发过程中进行测试设计与分析,实现软件开发过程中的测试管理,完成应用软件的测试工作,提高软件测试技能,进一步培养综合分析问题和解决问题的能力。表1 实验内容安排实验内容学时实验性质实验要求实验一 白盒测试实践4设计必做实验二 黑盒测试实践4设计必做实验三 自动化单元测试实践4验证必做实验四 自动化功能测试实践4验证必做实验五 自动化性能测试实践4验证必做实验六、综合测试实践课外综合选做二、实验环境NUnit、JUnit、LoadRunner、Quick Test Professional、VC6.0、Visual Studio 2010、SQL数据库。三、实验过程要

4、求 每次实验前详细阅读实验指导书,熟悉实验目的和实验内容,制订测试计划,设计测试用例。实验后整理并提交测试报告,项目结束后要提交测试总结。实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到实验室内做实验。四、实验成绩评价实验课程的总成绩由实验考勤和实验报告成绩组成,主要是三个方面:(1)上机实验考勤:每次上机应主动在指导老师处签到,冒签等不诚信行为一旦被发现,取消本次实验成绩。如果学生需要请假,必须提前出具正式假条。(2)实验过程考核:每次实验课,指导教师根据实验过程情况,随机抽查,进行当次实验的答辩。(3)实验报告提交:应

5、根据指导教师要求按时提交每次实验的电子版实验报告。实验报告中包含软件测试流程中所需要提交的所有相关文档,附件中给出的相关文档模版的内容和格式仅供参考。如果发现学生抄袭、伪造实验数据,或实验报告和设计报告抄袭、雷同,则涉及的所有学生的该课程实验成绩记为0分。各部分所占比例如表2所示。表2 实验成绩分配表实验内容分值实验考勤10%实验过程10%实验一 白盒测试实践实验报告10%实验二 黑盒测试实践实验报告10%实验三 自动化单元测试实践实验报告20%实验四 自动化功能测试实践实验报告20%实验五 自动化性能测试实践实验报告20%第二章白盒测试实践一、实验目的1、构建编码规范,依据编码规范进行编码;

6、 2、利用代码审查方法进行单元测试实践;3、掌握白盒测试方法,运用白盒测试方法设计测试用例,进行测试实践;二、实验内容本实验要求采用任一所熟悉的开发语言,依据所构建的编码规则,设计并实现任一给定题目或自选题目(注意:最后给出的是基于对话框的程序),进而利用白盒测试技术设计测试用例,结合代码审查方法,进行单元测试。参考题目1、三角形问题接受三个整数a、b和c作为输入,用做三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形。(说明:三边边长小于200)2、电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0或

7、1的三位数字; 后 缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。3、保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为: 投保额保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表2-1所示。表2-1年龄 性别婚姻抚养人数 20-39 40-59 其它 M F 已婚 未婚 1人扣0.5点 最多扣3点(四舍五入取整) 6点 4点 2点 5点 3点 3点5点4、某公司薪水计算程序某软件的一个模块的需求规格说明书中描

8、述,如图2-1所示:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。5、公交一卡通自动充值软件,如图2-2所示图2-1图2-26、两位整数加法计算器图2-37、电子商务网站用户注册功能(推荐)参考任意电子商务网站(如京东,当当等)的用户注册功能,以B/S或C/S架构实现该功能,并应用白盒测试相关理论对其进行测试。三、实验要求1、独立完成;2、提交编码规范,根据编码规范进行程序设计和测试;3、提交源代码,源代码中应包含必要的注释;4、提交测试用例说明书及缺陷报告 第三章 黑盒测试实践一、实验目的1、

9、掌握并运用黑盒测试用例设计方法进行测试用例设计,进行测试实践。二、实验内容掌握黑盒测试的基本理论,能够利用白盒测试理论设计测试用例,并在所开发的软件中进行测试。白盒测试技术要求掌握语句覆盖、分支覆盖、路径覆盖等白盒测试用例设计方法。针对实验二所设计并实现的程序,利用多种黑盒测试技术设计测试用例,进行单元测试。本实验要求采用任一所熟悉的开发语言,依据所构建的编码规则,设计并实现任一给定题目或自选题目(注意:最后给出的是基于对话框的程序),进而利用黑盒测试技术设计测试用例,结合代码审查方法,进行单元测试。参考题目1、三角形问题接受三个整数a、b和c作为输入,用做三角形的边。程序的输出是由这三条边确

10、定的三角形类型:等边三角形、等腰三角形、不等边三角形。(说明:三边边长小于200)2、电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0或1的三位数字; 后 缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。3、保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为: 投保额保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表2-1所示。4、某公司薪水计算程序某软件的

11、一个模块的需求规格说明书中描述,如图2-1所示:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。5、公交一卡通自动充值软件,如图2-2所示6、两位整数加法计算器,如图2-3所示。7、电子商务网站用户注册功能(推荐)参考任意电子商务网站(如京东,当当等)的用户注册功能,以B/S或C/S架构实现该功能,并应用黑盒测试相关理论对其进行测试。三、实验要求1、独立完成;2、提交测试用例说明书及缺陷报告第四章 自动化单元测试实践一、实验目的1、熟悉NUnit/JUnit/VS2010等自动化测试工具,能熟练应

12、用自动化单元测试工具进行单元测试二、实验内容自动化测试是对手工测试的有益补充,可以通过自动化测试工具提高测试效率,改善软件产品质量。NUnit是为.Net开发环境准备的自动化单元测试框架,JUnit是针对Java语言设计的自动化单元测试工具,它们的作用就是帮助测试人员方便的完成单元测试工作。Visual Studio 2010集成开发环境通过集成Visual Studio Ultimate 2010和VS Test Professional 2010等工具对软件测试提供了强有力的支持,可以创建和管理单元测试,UI测试,web测试,负载测试等。针对实验二所设计并实现的程序,本项目要求根据所设计测

13、试用例,利用NUnit/JUnit/VS2010等自动化测试工具进行自动化单元测试,并给出代码覆盖情况。三、实验要求1、独立完成;2、提交测试脚本3、提交测试代码及缺陷报告。四、NUnit 概述1、Nunit主界面 NUnit是一个单元测试框架,专门针对于.NET来写的.图4-1 NUnit运行的效果图4-2 NUnit运行的另外一个效果 从中我们可以非常容易发现,右边是个状态条,图4-1是红色的,图4-2是绿色的.为什么会这样呢?因为如果所有测试案例运行成功,就为绿色,反之如果有一个不成功,则为红色,但也有黄色的.左面的工作域内则是我们写的每一个单元测试.在右边面板的中间,可以看到测试进度条

14、。进度条的颜色反映了测试执行的状态:绿色 描述目前所执行的测试都通过 黄色 意味某些测试忽略,但是这里没有失败 红色 表示有失败 底部的状态条表示下面的状态: 状态.说明了现在运行测试的状态。当所有测试完成时,状态变为Completed.运行测试中,状态是Running: (是正在运行的测试名称)。 Test Cases说明加载的程序集中测试案例的总个数。这也是测试树里叶子节点的个数。 Tests Run 已经完成的测试个数。 Failures 到目前为止,所有测试中失败的个数. Time 显示运行测试时间(以秒计) File主菜单有以下内容: New Project允许你创建一个新工程。工程

15、是一个测试程序集的集合。这种机制让你组织多个测试程序集,并把他们作为一个组对待。 Open 加载一个新的测试程序集,或一个以前保存的NUnit工程文件。 Close关闭现在加载的测试程序集或现在加载的NUnit工程。 Save 保存现在的Nunit工程到一个文件。如果正工作单个程序集,本菜单项允许你创建一个新的NUnit工程,并把它保存在文件里。 Save As允许你将现有NUnit工程作为一个文件保存。 Reload 强制重载现有测试程序集或NUnit工程。NUnit-Gui自动监测现加载的测试程序集的变化。 2、一些常用属性在NUnit里,有以下几种属性:TestFixture Test

16、TestFixtureAttribute 本属性标记一个类包含测试,当然setup和teardown方法可有可无.(关于setup 和teardown方法在后面介绍) 做为一个测试的类,这个类还有一些限制 必须是Public,否则NUnit看不到它的存在. 它必须有一个缺省的构造函数,否则是NUnit不会构造它. 构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次,如果要是构造函数要什么副作用的话,那不是乱了. TestAttributeTest属性用来标记一个类(已经标记为TestFixture)的某个方法是可以测试的.这个测试方法可以定义为: publicvoidMet

17、hodName()从上面可以看出,这个方法没有任何参数,其实测试方法必须没有参数.如果我们定义方法不对的话,这个方法不会出现在测试方法列表中.也就是说在NUnit的界面左边的工作域内,看不到这个方法.还有一点就是这个方法不返回任何参数,并且必须为Public. 例如: 1usingSystem;2usingNUnit.Framework;34namespaceMyTest.Tests56TestFixture7publicclassSuccessTests89TestpublicvoidTest1()10/*/11121314 在NUnit中,用Assert(断言)进行比较,Assert是一个

18、类,它包括以下方法:AreEqual,AreSame,Equals, Fail,Ignore,IsFalse,IsNotNull,具体请参看NUnit的文档。3、如何在.NET中应用NUnit 第1步.增加一个NUnit框架引用 在Microsoft Visual Studio .NET里创建这个例子时,你需要增加一个NUnit.framework.dll引用,如下: 在Solution Explorer右击引用,然后选择增加引用NUnit.framework组件,在Add Reference对话框中按Select和OK按钮。第2步.为工程加一个类. 为工程加一个Cmp类,作为被测代码。这里是

19、这个例子的代码。 using System;public class Cmp public static int Largest(int list) int index, max=Int32.MaxValue; if (list.Length = 0) throw new ArgumentException(Empty list); for (index = 0; index max) max = listindex; return max; 第3步.建立测试代码 using NUnit.Framework; TestFixture public class TestLargest Testp

20、ublic void LargestOf3() Assert.AreEqual(9, Cmp.Largest(new int 8,9,7); Test ExpectedException(typeof(ArgumentException) public void Empty() Cmp.Largest(new int ); 第4步.编译运行测试. 现在生成solution。成功编译后,开始应用程序。NUnit-Gui,测试程序集的结构如图4-3所示:图 4-3 测试程序集的测试在 NUnit-Gui中的视图按Run按钮。树的节点变为绿色,而且测试运行器窗口上的进度条变绿,绿色代表成功通过。Ex

21、pectedException 这里是一个验证这个假设的测试.有的时候,我们知道某些操作会有异常出现,例如, 在实例中增加除法,某个操作被0除,抛出的异常和.NET文档描述的一样.参看以下源代码. 1 Test2 ExpectedException(typeof(DivideByZeroException)3publicvoidDivideByZero()45intzero=0;6intinfinity=a/zero;7Assert.Fail(Shouldhavegottenanexception);8除了Test属性之外, DivideByZero方法有另外一个客户属性: ExpectedE

22、xception. 在这个属性里,你可以在执行过程中捕获你期望的异常类型,例如在本例就是DivideByZeroException.如果这个方法在没有抛出期望异常的 情况下完成了,这个测试失败.使用这个属性帮助我们写程序员测试验证边界条件(Boundary Conditions). Ignore 属性 由于种种原因,有一些测试我们不想运行.当然,这些原因可能包括你认为这个测试还没有完成,这个测试正在重构之中,这个测试的需求不是太明确.但你有不想破坏测试,不然进度条可是红色的哟.怎么办?使用Ignore属性.你可以保持测试,但又不运行它们.namespace ClassLibrary1 usin

23、g NUnit.Framework; TestFixture public class TestLargest Test public void LargestOf3_1() Assert.AreEqual(9, CMP.Largest(new int 8, 9, 7 ); Test public void LargestOf3_2() Assert.AreEqual(9, CMP.Largest(new int 8, 7, 9 ); Test Ignore ExpectedException(typeof(ArgumentException) public void Empty() CMP.

24、Largest(new int ); Ignore属性可以附加到一个独立的测试方法,也可以附加到整个测试类(TestFixture).如果Ignore属性附加到TestFixture,所有在fixture的测试都被忽略. Category属性 对于测试来说,你有的时候需要将之分类,此属性正好就是用来解决这个问题的。你可以选择你需要运行的测试类目录,也可以选择除了这些目录之外的测试都可以运行。在命令行环境里 /include 和/exclude来实现。在GUI环境下,就更简单了,选择左边工作域里的Catagories Tab,选择Add和Remove既可以了。 图 4-4 在一个程序员测试中使用

25、 Ignore属性 namespace ClassLibrary1 using NUnit.Framework; TestFixture public class TestLargest Test Category(class2) public void LargestOf3_1() Assert.AreEqual(9, CMP.Largest(new int 8, 9, 7 ); Test Category(class2) public void LargestOf3_2() Assert.AreEqual(9, CMP.Largest(new int 8, 7, 9 ); Test Cat

26、egory(class1) ExpectedException(typeof(ArgumentException) public void Empty() CMP.Largest(new int ); NUnit-GUI界面图4-5使用Catagories属性的界面四、VS2010单元测试1、创建被测代码public class Cmp public static int Largest(int list) if (list.Length = 0) throw new ArgumentException(Empty list); int index, max = Int32.MinValue;

27、 for (index = 0; index max) max = listindex; return max; 2、创建单元测试图4-6 TestMethod public void TestMethod1() int list = 7, 8, 9 ; int expected = 9; int actual; actual = Cmp.Largest(list); Assert.AreEqual(expected, actual); TestMethod ExpectedException(typeof(ArgumentException) public void Empty() Cmp.

28、Largest(new int ); 2、运行测试通过“调试”菜单-“开始执行”测试代码,测试结果显示如图所示图4-73、查看代码覆盖率运行测试并查看代码覆盖率(1)在“解决方案资源管理器”的“解决方案项”下,双击运行配置文件 Local.testsettings。随即出现 “测试设置”对话框。 (2)单击 “数据和诊断”,选中“代码覆盖率”。 图4-8(3)双击“代码覆盖率”,选中被测程序,保存配置文件修改并退出图4-9(4)运行测试(5)“测试”菜单“窗口”,选择“代码覆盖率”,随即打开 “代码覆盖率结果”窗口。 “代码覆盖率结果”窗口中的 “层次结构”列将显示一个节点,该节点包含最新测试运行中得到的所有代码覆盖率数据。展开此节点,得到如图所示代码覆盖率结果图。此表中的列显示了各个方法、类和整个命名空间的覆盖率统计数据。图4-10(6)双击选中的方法,将打开 Class1.cs 源代码文件并定位到 该 方法所在的位置。在此文件中,可以看到代码突出显示效果。用浅蓝色突出显示的代码行已在测试运行中执行过,用浅褐色突出显示的代码行已部分执行过,而用红褐色突出显示的代码行则还没有执行过。可以通过滚动查看此文件中其他方法的覆盖率。图4

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2