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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

软件测试技术.docx

1、软件测试技术软件测试技术实验指导书桂林工学院电计系计算机教研室二七年五月目 录 时间: 机房号: 得分: 实验1 JUnit用例测试JUnit是一款由Erich Gamma(设计模式的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人员做单元测试之用,可以从网站上免费获得。本文使用的是NetBeans自带的JUnit 3.8.1。二、创建项目下面打开NetBeans,然后点击菜单“文件”-“新建项目”,打开“新建项目”对话框:请在“类别”中选择“常规”,再从“项目”中选择“Java应用程序”,然后点击“下一步”,进入“新建Java应用程序”对话框:在这个对

2、话框中需要设置项目的名称以及项目所在目录,我为自己的项目起名为JUnitTest,“项目位置”为G:YPJCCKJUnitNetBeans,此外,请将“创建主类”前的对号去掉。项目创建好后,已经自带了JUnit 3.8.1。三、编写用于测试的JavaBean用于测试的JavaBean很简单,名为Book,只有id和name两个属性,这两个属性将分别用于两个用例当中。下面开始编写该JavaBean。请点击“文件”-“新建文件”,打开“新建文件”对话框:确保“项目”选择的是JUnitTest,然后在“类别”中选中Java类,在“文件类型”中选中Java类,点击“下一个”,进入下一窗口:设置类名为B

3、ook,包为net.zheng.junit.test,设置完成后点击“完成”,修改代码如下:package net.zheng.junit.test;public class Book private String id = null;private String name = null;public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) this.name =

4、name;至此,用于测试的JavaBean编写完成。四、编写测试用例这里只用了一个类进行测试,名为BookTest,该类继承自junit.Framework.TestCase类。BookTest类包含两个用例,分别对应该类的testId和testName方法,即每个方法实现了一个测试用例。注意,在JUnit中,junit.framework.TestCase的子类中每个用来实现测试用例的方法都必须以testXXX的格式来命名,这些方法在运行时会被执行。此外,BookTest还包括setUp和tearDown这两个方法,前者在每个测试方法开始之前执行,多用来做初始化;后者在每个测试方法完成之后执

5、行,多用来清理资源。下面开始编写BookTest。请点击“文件”-“新建文件”,打开“新建文件”对话框:确保“项目”选择的是JUnitTest,然后在“类别”中选中JUnit类,在“文件类型”中选中现有类的测试,点击“下一个”,进入下一窗口:选择要测试的类,点击“完成”,修改代码如下:package net.zheng.junit.test;import junit.framework.TestCase;import junit.framework.Assert;public class BookTest extends TestCase Book book = null;/建议为测试类创建构

6、造public BookTest(String name) super(name);protected void setUp() throws Exception /调用超类的setUp(),以确保测试环境被初始化super.setUp();System.out.println(测试开始!);book = new Book();System.out.println(book对象被初始化!);protected void tearDown() throws Exception System.out.println(book对象将被清理!);book = null;System.out.print

7、ln(测试结束!);/调用超类的tearDown(),以确保测试环境被清理super.tearDown();public void testId() book.setId(001); /设置id属性的值为001/使用Assert查看id属性的值是否为001Assert.assertEquals(001, book.getId();System.out.println(id属性被测试!);public void testName() book.setName(ASP); /设置name属性的值为ASP/使用Assert查看name属性的值是否为JSP,这是个必然出现错误的测试Assert.ass

8、ertEquals(JSP, book.getName();System.out.println(name属性被测试!);这里setUp和tearDown方法没什么好说的,就是执行了对book对象的初始化和清理,不过testId和testName需要说明一下。前者是在对book的id属性进行测试,首先赋值为”001”,然后使用Assert的assertEquals方法查看id属性中存放的值是否是期待的值,由于我的期待值也是”001”,所以执行后这个用例应该是成功的;后者则是对book的name属性进行测试,也是首先赋值为”ASP”,然后使用Assert的assertEquals方法查看其值是否

9、是期待的,由于我特意将期待值设定为根本不可能的”JSP”,因此这个用例执行后会出现一个错误。但请注意,由于我是特意要让测试出现错误,所以将期待值设定成了不可能的值,如果你是测试人员,请千万不要这么做,否则如果别的地方导致了错误,很容易给自己造成不必要的麻烦。下面简单介绍一下上边用到的静态类junit.framework.Assert。该类主要包含8个方法:1assertEquals()方法,用来查看对象中存的值是否是期待的值,与字符串比较中使用的equals()方法类似;2assertFalse()和assertTrue()方法,用来查看变量是是否为false或true,如果assertFal

10、se()查看的变量的值是false则测试成功,如果是true则失败,assertTrue()与之相反;3assertSame()和assertNotSame()方法,用来比较两个对象的引用是否相等和不相等,类似于通过“=”和“!=”比较两个对象;4assertNull()和assertNotNull()方法,用来查看对象是否为空和不为空;5fail ()方法,意为失败,用来抛出错误。我个人认为有两个用途:首先是在测试驱动开发中,由于测试用例都是在被测试的类之前编写,而写成时又不清楚其正确与否,此时就可以使用fail方法抛出错误进行模拟;其次是抛出意外的错误,比如要测试的内容是从数据库中读取的数

11、据是否正确,而导致错误的原因却是数据库连接失败。五、运行BookTest编写好BookTest后,就可以运行了。请在“项目”栏中选中BookTest,点击鼠标右键,选择“运行文件”,测试信息会从“输出”窗口输出:六、测试套件当有多个测试类需要一次性进行测试时,可以使用测试套件来完成这项工作。在NetBeans中,点击“文件”-“新建文件”,打开“新建文件”对话框:确保“项目”选择的是JUnitTest,然后在“类别”中选中JUnit类,在“文件类型”中选中测试套件,点击“下一个”,进入下一窗口:修改“类名”为AllTests,点击“完成”,然后修改代码如下:package net.zheng.

12、junit.test;import junit.framework.*;public class AllTests extends TestCase public AllTests(String testName) super(testName);public static Test suite() TestSuite ts= new TestSuite(AllTests);ts.addTestSuite(BookTest.class);return ts;其中TestSuite是用来组织测试类的,通过其addTestSuite()方法将测试类添加到ts对象中,凡是添加到ts中的测试类都将在运

13、行文件时被执行。此外,您也可以在定义ts对象时利用其构造函数将测试类添加给ts对象,例如:TestSuite ts = new TestSuite(BookTest.class);这并不会影响到后续使用addTestSuite()方法。测试套件的运行方法与之前一样。此外,JUnit自身也提供了运行测试的环境,但需要在NetBeans中做一些改动,所以就不作详细介绍了,这里只将代码给出:package net.zheng.junit.test;import junit.framework.*;public class Test public static void main(String arg

14、s) /使用TestSuite组装测试类TestSuite ts = new TestSuite();ts.addTestSuite(TestBook.class);/textui,命令行方式junit.textui.TestRunner.run(ts);/Swingui,Swing方式/junit.swingui.TestRunner.run(ts.getClass();/awtui,AWT方式/junit.awtui.TestRunner.run(ts.getClass();时间: 机房号: 得分: 实验2 黑盒测试实验边界值和因果图1实验目的:(1) 掌握边界值分析方法设计测试用例;(2

15、) 能够分析问题,画出因果图,得出判定表,从而用因果图法设计测试用例。2实验环境无特殊要求。3实验内容:自动售货机问题:分析这一段说明,列出原因和结果 画出因果图。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 11. 投入1元硬币且押下饮料按钮 ? 12. 押下橙汁或啤酒的按钮 ? 13. 应当找5角零钱并且售货机有零钱找 ? 14. 钱已付清 转换成判定表在判定表中,把不可能出现的情况删去。最后根据判定表中剩下的列作为确定测试用例的依据,设计测试用例。4实验总结 (1)边界值分析法的设计原则。(2)因果图法的设计步骤。5实验思考题 等价类划分法和边

16、界值分析法的联系和区别。6本次实验易犯错误:在画因果图时,中间结点怎样产生?时间: 机房号: 得分: 实验3 黑盒测试实验等价类划分 在软件测试中,黑盒测试中的等价类划分法非常重要。对于软件测试工程师而言,这是一项基本测试技能,掌握它是十分必要的。1实验目的 (1)掌握等价类划分方法的步骤;(2)扩宽测试思维; 2实验环境 无特殊要求。3实验内容及步骤 (1)三角形问题中,首先分析输入和输出; (2)针对输入进行等价类划分; (3)从等价类划分的表格中设计测试用例; (4)NextDate问题4实验过程 1三角形问题 分析三角形问题中给出和隐含的对输入条件的要求: 1)整数 2)三个数3)非零

17、数 4)正数 5)两边之和大于第三边6)等腰 7)等边如果 a 、 b 、 c 满足条件( 1 ) ( 4 ),则输出下列四种情况之一:如果不满足条件(5),则程序输出为 “ 非三角形 ” 。如果三条边相等即满足条件(7),则程序输出为 “ 等边三角形 ” 。如果只有两条边相等、即满足条件(6),则程序输出为 “ 等腰三角形 ” 。如果三条边都不相等,则程序输出为 “ 一般三角形 ” 。划分等价类并编号,如下表所示:输入条件输入3个整数有效等价类无效等价类1. 整数 2. a为非整数 3. b为非整数 4. c为非整数 5. a和b为非整数 6. b和c为非整数 7. a和c为非整数 8. a

18、、b、c为非整数 9. 三个数 10. 只输入a 11. 只输入b 12. 只输入c 13. 只输入a、b 14. 只输入b、c 15. 只输入a、c 16. 输入三个以上 17. 非零数 18. a为0 19. b为0 20. c为0 21. a和b为0 22. b和c为0 23. a和c为0 24. a、b、c为0 25. 正数 26. a0 27. b0 28. c0 29. a0且b0 30. a0且c0 31. b0且c0 32. a0且b0且cc 35. b+ca 36. a+cb 37. a+b=c 38. a+bc 39. b+c=a 40. b+ca 41. a+c=b 42

19、. a+cb 43. 等腰三角形44. a=b但ac 45. b=c但ab 46. a=c但ab47. 等边三角形48. a=b=c 为有效等价类设计测试一个用例为每一个无效等价类至少设计一个测试用例 2NextDate问题NextDate 函数包含三个变量 month、day和year,函数的输出为输入日期后一天的日期。 例如,输入为1989年5月16日,则函数的输出为1989年5月17日。 要求输入变量 month、 day和year均为整数值,并且满足下列条件,也就是有效等价类:1 month12 1day31 1812year2012若条件(1)(3)中任何一个条件失效,则 NextD

20、ate 函数都会产生一个输出,指明相应的变量超出取值范围,比如 “month 的值不在 1-12 范围当中”。显然还存在着大量的 year、month、day 的无效组合,我们可以给出下列无效等价类: month12 day31 year2012 测试用例的设计这里就略过,请读者们根据划分好的等价类自行设计。5实验总结 (1)等价类划分方法。(2)用等价类划分法进行测试用例设计的收获体会。6实验思考题 为每一个无效等价类至少设计一个测试用例,比如,NextDate问题中我能不能设计这样的测试用例:0000年-1月38日,为什么?7本次实验易犯错误:等价类分析;为每一个无效等价类至少设计一个测试

21、用例。 时间: 机房号: 得分: 实验4 白盒测试在软件测试中,白盒测试中的基本路径测试非常重要。对于软件测试工程师而言,这一关不能掠过。即它是软件测试人员一定要熟练掌握的基本技能之一。1实验目的 (1)掌握基本路径测试的步骤;(2)提高程序分析的能力; (3)掌握基本路径测试方法。2实验环境 Pc机一台、vc+运行环境。3实验内容及步骤 (1)程序结构分析,得到控制流图; (2)计算圈复杂度; (3)得到基本路径集; (4)设计测试用例; (5)执行测试,记录结果。 4实验过程 (1)从程序流程图得到控制流图 程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控制结构的图形表示了。在

22、这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。为了了更加突出控制流的结构,需要对程序流程图做一些简化。在图中我们给出了简化的例子。其中(a)图示一个含有两个出口判断和循环的程序流程图,我们把它简化成(b)的形式,称这种简化了的程序流程图叫做控制流图。在控制流图中只有两种图形符号,它们是:1.节点:以标有编号的圆圈表示。它代表了程序流程图中矩形框表示的处理、菱形表示的两个到多个出口判断以及两条到多条流线相交的汇合点。 2.控制流线或弧:以箭头表示。它与程序流程图中的流线是一致的,表明了控制的顺序。为了方便讨论,控制流线通常标有名字,如图中所标的a、b、c等。

23、 (a) (b)(2)计算环形复杂度 环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本独立路径数目边。5实验总结 (1)基本路径测试的方法。(2)基本路径测试的收获体会。6实验思考题 (1)我们计算圈复杂度的目的是什么? (2)在实验过程中,基本独立路径的概念如何理解?7. 本次实验易犯错误:(1)控制流图画错; (2)圈复杂度计算错误; (3)基本路径集分析错误。 时间: 机房号: 得分: 实验5 手机通讯录测试1实验目的 (1)实行功能测试(2)能够分析问题,得到测试需求。 (3)能够自行设计测试过程,测试用例,执行测试后记录测试结果,并且做到最后写的测试

24、文档(测试用例设计、缺陷报告)有比较高的可读性。2实验环境 手机一台和相应的手机说明书,手机卡一张。3实验内容及步骤 测试依据:软件研制规范,软件需求说明书,用户手册。分析测试的内容: 手机输入法有很多种,比如T9,拼音,字母,数字等等。在编写测试用例的时候,首先要保证各输入法是否能正常输入;能否正常保存;在进行错误输入的时候,是否有响应的提示。在这里举出几个例子:1、存储在SIM卡上的记录添加: 1)姓名输入: i)是否可以使用任意输入法添加汉字、字母、数字,达到姓名允许的最大字节,并能正常保存。 ii)是否可以使用任意输入法添加汉字、字母、数字,在没有进行输入时,是否有警告提示或是否可以正

25、常保存(根据产品要求)。 iii)是否可以使用任意输入法添加汉字、字母、数字,超过姓名允许的最大字节,是否有告警提?是否可以正常保存。 iV)是否可以进行汉字、字母、数字的混合输入,并重复iiii,是否有异常。 2)电话号码的输入: i)是否可输入数字至最大值,并可正常保存。 ii)在不输入数字时,进行保存时,是否有告警提示。 iii)是否可以输入汉字,字母,此时是否有告警提示或异常。 iv)是否可以输入特殊字符,如+、P、*、#,是否可以正常保存。这里给介绍个出错的案例:连续输入多个*,P或+,不按电话的号码的正常顺序进行输入,试试,比如+139*P123,看看是个什么样的效果,是否显示正常

26、。 3)在输入过程中按返回键、挂机键、或翻合翻盖、电源键,是否有告警提示或异常。 4)在各MMI界面下,各按键功能是否正常。 5)待机界面下直接输入数字至最大值,是否可以正常保存。 6)待机界面下直接输入数字即特殊字符(,P),是否可以正常保存。 7)将1),6)步骤进行一下排列组合,查看是否有异常情况。 1对2,2对4,4对16,所以测试用例经常的几千条,几万条根本就不希奇,一个名片夹写上1K条也之是写了个小部分。修改 1)单条记录的修改: a) 是否可以对单条记录进行修改,包括姓名和数字,并重复上面中的1), 2),3),4)各步骤。 b) 连续将多条记录的内容(姓名或电话号码)修改成一样

27、。 c) 手机或SIM卡的所有记录全部一样。(此条仅作为一条测试手段,在实际的应用中无实际意义。) 2)连续多条记录进行修改 此条的测试目的是对软件进行压力测试。删除 1)对单条记录进行删除 i)删除后,列表显示是否正常;数量是否正确。 ii)SIM卡记录为空时,进行删除时,是否有告警提示。 iii)SIM卡记录仅为一条时,删除后,是否有SIM卡内容为空的提示。 iv)在删除过程中,各功能键是否正常。 v)在删除过程中,进行中断操作,是否正常,比如挂机键,电源键等等。 2)对多条记录进行删除,目的是对软件的进行压力测试。 i)连续对SIM卡的多条记录进行删除,是否出现异常情况。 ii)删除SIM卡记录直至为空时,是否有异常。 iii)在删除过程中,各功能键是否正常。 查找 由于各手机的查找功能定制的不同,我们要具体情况具体分析。2 存储在手机上的记录 存储在手机上的记录和存储在SIM卡上的记录的测试用例基本相同。在测试过程中需要留心的是SIM卡的存储容量以及手机的存储容量,由于软件的定制不同,往往在不同处易出现故障。比如SIM卡的姓名栏可存储5个汉字,或8个字母、数字,电话号码可以存20位,手机的姓名栏目可以存12个汉字,20个字母、数字,电话号码可以存30位。在这个不同点之间就容易出现故障。3 批量操作 SIM卡记录复制到手机 1) 1条SIM

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1