软件测试技术教学案例

上传人:无*** 文档编号:67157762 上传时间:2022-03-30 格式:DOC 页数:46 大小:1.50MB
收藏 版权申诉 举报 下载
软件测试技术教学案例_第1页
第1页 / 共46页
软件测试技术教学案例_第2页
第2页 / 共46页
软件测试技术教学案例_第3页
第3页 / 共46页
资源描述:

《软件测试技术教学案例》由会员分享,可在线阅读,更多相关《软件测试技术教学案例(46页珍藏版)》请在装配图网上搜索。

1、漳州职业技术学院计算机工程系软件测试技术Software Testing Technology教学案例漳州职业技术学院计算机工程系目 录第一篇、黑盒测试用例设计方法案例集- 4 -1、概述- 4 -2、等价类划分法- 5 -2.1.概念- 5 -2.2.等价类划分法的应用- 5 -2.3.等价类划分案例- 6 -3、边界值分析法- 15 -3.1.概念- 15 -3.2.边界值分析法的应用- 15 -3.3.案例- 17 -4、错误推测法- 25 -4.1.概念- 25 -4.2.错误推测法的应用- 25 -5、因果图法- 26 -51.概念- 26 -5.2.因果图法的应用- 26 -5.3

2、.案例- 28 -1)根据因果图建立判定表。- 28 -6、判定表驱动法- 31 -61.概念- 31 -6.2.判定表驱动法- 31 -6.3.案例- 33 -6.4 判定表总结- 38 -7、正交试验设计法- 39 -71.概念- 39 -7.2.正交试验设计法的应用- 39 -7.3.案例- 39 -8、功能图法- 40 -81.概念- 40 -82. 功能图法的应用- 40 -83.案例- 40 -9、场景法- 41 -91.概念- 41 -92. 场景法的应用- 41 -9.3.案例- 41 -10、状态迁徙图法- 42 -101.概念- 42 -102.状态迁徙图法的应用- 42

3、-103.案例- 42 -11、测试用例设计综合策略- 43 -111.测试用例设计综合策略- 43 -第二篇、白盒测试用例设计方法案例集- 44 -第三篇、性能测试案例集- 45 -第四篇、其它测试案例集- 46 -第一篇、 黑盒测试用例设计方法案例集1、概述黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。本案例集中收集了大量的实际应用的例子,以供大家选用。2、等价类划分法2.1.概念等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一

4、类中的其他值。等价类又可分为有效等价类和无效等价类:有效等价类是指符合需求规格说明书,合理的输入数据集合无效等价类是指不符合需求规格说明书,无意义的输入数据集合2.2.等价类划分法的应用等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成

5、的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。无效等价类:与有效等价类的定义恰巧相反。设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。划分等价类的六大原则:在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.例:输入值是学生成绩,范围是0100:在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. 布尔量是一个二值枚举类型, 一

6、个布尔量具有两种状态: true 和 false 。在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. 例:输入条件说明输入字符为:中文、英文、阿拉伯文三种之一,则分别取这三种这三个值作为三个有效等价类,另外把三种字符之外的任何字符作为无效等价类。在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类将等价类转化成测试用例:按照输入条件有效等价类无效等价类 建立等价类表

7、,列出所有划分出的等价类为每一个等价类规定一个唯一的编号.设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.2.3.等价类划分案例案例1、构成三角形程序测试【案例情景】某程序规定:输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较

8、复杂。)分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 非三角形 。2)如果三条边相等即满足条件(7),则程序输出为 等边三角形 。3)如果只有两条边相等、即满足条件(6),则程序输出为 等腰三角形 。4)如果三条边都不相等,则程序输出为 一般三角形 。 【案例分析】列出等价类表并编号覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)-(7)4 4 5 (1)

9、-(7),(8)4 5 5 (1)-(7),(9) 5 4 5 (1)-(7),(10)4 4 4 (1)-(7),(11)覆盖无效等价类的测试用例:案例2、档案管理系统中日期测试用例设计【案例情景】设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的日期检查功能。(不考虑2月的问题)【案例分析】1)划分等价类并编号,下表等价类划分的结果输入等价类有效等价类无效等价类日期的类型及长度6位数字字符有非数字字符少于6位数字字符多于6位数字字符年份范围在1

10、9902049之间小于1990大于2049月份范围在0112之间等于00大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为、,设计的测试用例如下:测试数据 期望结果 覆盖的有效等价类200211 输入有效 、3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据 期望结果 覆盖的无效等价类 95June 无效输入 20036 无效输入 2001006无效输入 198912 无效输入 200401 无效输入 200100 无效输入 200113 无效输入 案例3、NextDate()函数测试用例【案例情景】NextDate 函数包含三个变量:mon

11、th 、 day 和 year ,函数的输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: 1month12 1day31 1920year2050 【案例分析】1)有效等价类为: M1月份:1月份12 D1日期:1日期31 Y1年:1812年20122)若条件 中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如 month 的值不在 1-12 范围当中 。显然还存在着大量的 year 、 month 、 day

12、的无效组合, NextDate 函数将这些组合作统一的输出: 无效输入日期 。其无效等价类为: M2月份:月份12 D2日期:日期31 Y2年:年2012 弱一般等价类测试用例 月份 日期 年 预期输出 6 15 1912 1912年6月16日 强一般等价类测试用例同弱一般等价类测试用例 注:弱-有单缺陷假设;健壮-考虑了无效值 (一)弱健壮等价类测试 用例ID 月份 日期 年 预期输出 WR1 6 15 1912 1912年6月16日 WR2 -1 15 1912 月份不在112中 WR3 13 15 1912 月份不在112中 WR4 6 -1 1912 日期不在131中 WR5 6 32

13、 1912 日期不在131中 WR6 6 15 1811 年份不在18122012中 WR7 6 15 2013 年份不在18122012中(二)强健壮等价类测试 用例ID 月份 日期 年 预期输出SR1 -1 15 1912 月份不在112中 SR2 6 -11912 日期不在131中 SR3 6 15 1811 年份不在18122012中 SR4 -1 -11912 两个无效一个有效 SR5 6 -11811 两个无效一个有效 SR6 -1 15 1811 两个无效一个有效 SR7 -1 -11811 三个无效案例4、佣金问题等价类测试用例【案例情景】佣金问题等价类测试用例,它是根据佣金函

14、数的输出值域定义等价类,来改进测试用例集合。输出销售额1000元 佣金1010001800 佣金=220+(销售额-1800)*20%【案例分析】测试用例 枪机(45) 枪托(30) 枪管(25) 销售额 佣金 1 5 5 5 500 50 2 15 15 15 1500 175 3 25 25 25 2500 360根据输出域选择输入值,使落在输出域等价类内,可以结合弱健壮测试用例结合。案例5、变量的命名规则问题等价类测试用例【案例情景】变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用

15、例。【案例分析】表 5-1 等价类划分表 输入条件 合理等价类 不合理等价类 长度 ( 1 )小于 40 个字符 ( 2 )等于 40 个字符 ( 5 )大于 40 个字符 第一个字符 ( 3 )英文字母 ( 6 )非英文字母 其他字母 ( 4 )英文字母、数字或下划线的任意组合 ( 7 )空格 ( 8 )标点符号 ( 9 )运算符号 ( 10 )其他可显示字符 表 5-2 测试用例表 测试数据 测试范围 期望结果 ( 1 ) s_name12 等价类( 1 ) , ( 3 ) , ( 4 ) 有效 ( 2 ) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr

16、等价类( 2 ) , ( 3 ) , ( 4 ) 有效 ( 3 ) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff 等价类( 5 ) 无效 ( 4 ) 234name 等价类( 6 ) 无效 ( 5 ) ab gh 等价类( 7 ) 无效 ( 6 ) ab!2f 等价类( 8 ) 无效 ( 7 ) fg+ghh 等价类( 9 ) 无效 ( 8 ) Hgh 等价类( 10 ) 无效 边界值分析是等价类划分的一种补充。通常,程序在处理边界时容易发生错误,而等价类划分技术是在某一等价类中任取一组数据进行测试,不一定代表边界状态。因此,在测试过程中以刚好等于、小于

17、及大于边界值的数据作为测试数据,容易发现程序中的错误。例如,某模块的有效值是 0 100 ,则可以取 -0.1 、 0.1 、 99.9 、 100.1 作为测试数据。 测试策略 :不同的测试方案设计的方法各有所长,用某种方法设计出的测试方案可能最容易检测出某种类型的错误,但对于其他类型的错误则可能无法检测出来。可以利用每种测试方法设计出有用的测试方案,但没有一种方法能设计出全部测试方案。 因此,在对信息系统进行测试时,应该联合使用各种设计测试方案的方法,形成一种综合策略。通常的做法是:用黑盒测试法设计基本的测试方案,再用白盒测试法补充一些必要的测试方案。通常采用的测试策略是: ( 1 )在进

18、行测试方案设计时,将逻辑覆盖、等价类划分和边界值分析等方法综合运用,使测试用例既能检测设计的内部要求,又可以检测设计的接口要求。 ( 2 )视具体情况用等价类划分法补充测试方案;必要时再用错误推测法等其他方法补充测试方案;对照程序逻辑,检查已经设计出的测试方案。可以根据对程序可靠性的要求采用不同的逻辑覆盖标准,如果现有方案未达到规定的覆盖标准,则应再补充测试方案。 ( 3 )在对大型复杂系统进行测试时,一般不进行全面的测试,而采用抽样测试或重点测试的方式,有针对性地选择具有代表性的测试用例,或将测试重点放在容易出错的位置及重要模块上,以减少测试费用,提高测试效率。案例6、电话号码问题等价类测试

19、用例【案例情景】某城市的电话号码由三部分组成。这三部分的名称和内容分别是 地区码:空白或三位数字; 前 缀:非0或1开头的三位数; 后 缀:四位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。【案例分析】解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。输入条件有效等价类无效等价类地区码空白(1),3位数字(2)有非数字字符(5),少于3位数字(6),多于三位数字(7)前缀从200到999之间的3位数字(3)有非数字字符(8),起始位为0(9),起始位为1(10),少于3位数字(11),多于3位数字(12)后缀4

20、位数字(4)有非数字字符(13),少于4位数字(14),多于4位数字(15) 第二步:确定调试用例。调试数据范围期望结果 ( ) 2762345等价类(1),(3),(4)有效 (635) 8059321等价类(2),(3),(4)有效 对11个无效等价类,要选择11个调试用例,如下所示: 调试数据 范围 期望结果(20A) 1234567 无效等价类(5)无效 (33 ) 2345678 无效等价类(6)无效 (7777) 3456789 无效等价类(7) 无效 (777) 34A6789无效等价类(8) 无效 (234) 0456789无效等价类(9)无效 (777) 1456789 无效

21、等价类(10) 无效 (777) 346789 无效等价类(11)无效 (777) 23456789 无效等价类(12)无效 (777) 345678A 无效等价类(13) 无效 (777) 345678 无效等价类(14)无效 (777) 34556789 无效等价类(15) 无效 选取的调试数据可以不同,关键是与调试内容相符。案例7、8位计算机十六进制问题等价类测试用例【案例情景】针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为7f7f(不区分大小写字母),如0x13、0x6A、0x3c。请采用等价类划分的方法设计测试用例。【案例分析】输入

22、条件有效等价类无效等价类开头字符由0x或0X开头1)以字母开头 以非0数字开头(2)(3)数值字符数字或AF的字母 4)AF以外的字母(5)数值字符个数1个6)0个(7)数值-7f且7f 8)7f 或 7f(9)(10)用例1:0x7F, 覆盖等价类(1)(4)(6)(8) 用例2:-0Xb, 覆盖等价类(1)(4)(6)(8) 用例3:0X0, 覆盖等价类(1)(4)(6)(8) 用例4:0x, 覆盖等价类(1)(7) 用例5:A7, 覆盖等价类(2) 用例6:-1A, 覆盖等价类(3) 用例7:0X8h, 覆盖等价类(1)(5) 用例8:0x80, 覆盖等价类(1)(4)(10) 用例9:

23、-0XaB, 覆盖等价类(1)(4)(9)案例8、聊天工具QQ帐号问题等价类测试用例【案例情景】腾讯公司的即时聊天工具QQ: 关于QQ用户登录框,你该怎么去考虑测试用例的设计呢?当然,我们要从两个方面去考虑:一是QQ帐号,二是QQ密码。就拿QQ帐号这一个输入框,你怎么去考虑进行测试用例的设计?【案例分析】把QQ帐号进行分类:有效的和无效的。有效的:(1)长度在6-10位之间 (2)类型是0-9自然数无效的:(1)长度小于6(2)长度大于10(3)负数 (4)小数(5)英文字母 (6)字符 (7)特殊字符 (8)中文(9)编程语言中的转义字符 (10)空 (11)空格 这样就可以看出来,有效的当

24、中只要取1或几个就可以通过测试了,在无效的当中取1或几个就可以进行失败测试了,所以这样的方法很简单、高效。3、边界值分析法3.1.概念边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。3.2.边界值分析法的应用 根据大量的测试统计数据,很多错误是发生在输入或输出范围的边界上,而不是发生在输入/输出范围的中间区域。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或

25、刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。边界值分析法与等价类分析法的区别:边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。例:测试计算平方根的函数-输入:实数-输出:实数-需求说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息平方根非法-输入值小于0并返回0;库函数Print-Line可以用来输出错误信息。等价类划分: I.可以考虑作出如下划分: a、输入 (i)=0 b、输出 (a)=0 和 (b) Error I

26、I.测试用例有两个: a、输入4,输出2。对应于 (ii) 和 (a) 。 b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入 最小负实数 b、输入 绝对值很小的负数 c、输入 0 d、输入 绝对值很小的正数 e、输入 最大正实数通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下。利用边界值作为测试

27、数据 项边界值测试用例的设计思路字符起始-1个字符/结束+1个字符假设一个文本输入区域允许输入1个到255个 字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值。数值最小值-1/最大值+1假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件。空间小于空余空间一点/大于满空间一点例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件。内部边界值分析: 在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从

28、软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。 内部边界值条件主要有下面几种:数值的边界值检验:计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。项范围或值位(bit)0 或 1字节(byte)0 255字(word)065535(单字)或 04294967295(双字)千(K)1024兆(M)1048576吉(G)1073741824字符的边界值检验:在计算机软件中,字符也是很重要的表示元素,其

29、中ASCII和Unicode是常见的编码方式。如下列出了一些常用字符对应的ASCII码值。 字符ASCII码值空 (null)0空格 (space)32可输入的字符33126094857AZ6590az97122ASCII表: 其它边界值检验:在不同的行业应用领域,依据硬件和软件的标准不同而具有各自特定的边界值。如下列出部分手机相关的边界值:硬件设备范围或值手机锂电池电压工作电压:3.64.2V;保护电压:2.53V不等手机正常使用温度-25C+60C基于边界值分析方法选择测试用例的原则如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例

30、如,如果程序的规格说明中规定:重量在10公斤至50公斤范围内的邮件,其邮费计算公式为。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。例如,一个输入文件应包括1255个记录,则测试用例可取1和255,还应取0及256等。将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出每月保险金扣除额为0至1165.25元,其测试用例可取0.00及1165.24、还可取一0.01及116526等。再如一程序属于情

31、报检索系统,要求每次最少显示1条、最多显示4条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。分析规格说明,找出其它可能的边界条件。3.3.案例案例1、学生标准化考试批阅试卷,产生成绩报告的程序测试现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:标题:这一组只有一个记录,其内容为输出成绩报告的名字。

32、试卷各题标准答案记录:每个记录均在第80个字符处标以数字2。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3个记录相应为第51至第100,第101至第150,题的答案。每个学生的答卷描述:该组中每个记录的第80个字符均为数字3。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3纪录分别给出他的第51至第100,第101至第150题的解答。然后是学生乙的答卷记录。学生人数不超

33、过200,试题数不超过999。 程序的输出有4个报告: a)按学号排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。 d)试题分析报告。按试题号排序,列出各题学生答对的百分比【案例分析】解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。输出条件及相应的测试用例表。案例2、三角形问题的边界值分析测试用例【案例情景】在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为1, 100 。【案例分析】1.测试用例abc预期输出Test1Test2Test3Te

34、st4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形2. NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050 。测试用例mo

35、uthdayyear预期输出Test1Test2Test3Test4Test5Test6Test766666661515151515151519111912191319752049205020511911.6.161912.6.161913.6.161975.6.162049.6.162050.6.162051.6.16Test8Test9Test10Test11Test12Test13666666-112303132200120012001200120012001day超出1312001.6.22001.6.32001.7.1输入日期超界day超出131Test14Test15Test16T

36、est17Test18Test19-112111213151515151515200120012001200120012001Mouth超出1122001.1.162001.2.162001.11.162001.12.16Mouth超出112案例3、关于租船记时程序的功能测试用例【案例情景】请结合等价类和边界值的方法,编写关于租船记时程序的功能测试用例。该程序的输入是开始时间startTime和结束时间endTime,其中时间是以12小时的hh:mm格式表示,且假设租船的最早开始时间是7:00am,最晚结束时间是8:00pm;该程序的输出是租船的时间数,格式为xx小时xx分钟。序号 测试用例描

37、述 输入参数 期望输出 startTimeendtime 【案例分析】序号 测试用例描述 输入参数 期望输出 startTimeendtime 123456789101112131415时间小于1小时(均为上午) 12:00am 12:59am 0:59 时间小于1小时(均为下午) 3:22pm 3:42 pm 0:20 时间小于1小时(开始上午,结束下午)12:55am 1:10pm 0:15 时间大于1小时(均为上午,整小时)7:00am 11:00am 4:00 时间大于1小时(均为下午,非整小)2:27pm 4:15pm 1:48 时间大于1小时(开始上午,结束下午) 8:00am 5

38、:29pm 9:29 时间等于12小时(正常时间) 7:00am 7:00pm 12:00 时间大于12小时(边界时间) 7:00am 8:00pm 13:00 时间进位(均为上午或下午) 10:50am 12:00am 1:10 时间进位(开始上午,结束下午) 12:59am 3:40pm 2:41 时间颠倒(均为上午或下午) 9:00am 7:00am error 时间颠倒(开始上午,结束下午) 7:00pm 12:00am error 时间越界(开始) 6:50am 9:00am error 时间越界(结束) 7:10am 8:30pm error 输入错误7:60am9:amerror

39、案例4、请结合等价类方法给出getNumDaysInMonth(int month, int year)方法的测试用例【案例情景】 请结合等价类方法给出getNumDaysInMonth(int month, int year)方法的测试用例,其中getNumDaysInMonth方法根据给定的月份和年份返回该月份的总天数。【案例分析】月的等价类: 31天的月份; 30天的月份; 2月 年的等价类: 闰年; 非闰年案例4、自动饮料售货机软件进行黑盒测试【案例情景】 现在要对一个自动饮料售货机软件进行黑盒测试,该软件的规格说明如下: 一个自动售货机软件可以销售单价1元5角的盒装饮料。该售货机只接

40、收1元和5角两种硬币,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,则送出相应的饮料;若投入的硬币少于1元5角,则显示错误信息并退出硬币;若投入的硬币多于1元5角,则送出饮料的同时退还多余的硬币。 请设计测试该软件的全部测试用例。【案例分析】案例5、选择题练习(巩固概念)(1)用边界值分析法,假定1X100,那么X在测试中应该取的边界值是_(54)_。(54)AX=1,X=100 BX=0,X=1,X=100,X=101CX=2,X=99DX=O,X=101 (2)针对下面程序段,边界值问题可以定位在_(62)_。1:Rem Create a 10 element integer

41、array2:Rem lnitialize each element to -13:Dim data(10) As Integer4:Dim i As Integer5:For i=1 TO 106:data(i)=-17:Next i8:End(62) A. data(1)B. data(0)C. data(9)D. data(10) (3)在某大学学籍管理信息系统中,假设学生年龄的输入范围为 1640,则根据黑盒测试中的等价类划分技术,下面划分正确的是 (46) 。(46)A.可划分为 2 个有效等价类,2 个无效等价类B.可划分为 1 个有效等价类,2 个无效等价类C.可划分为 2 个有

42、效等价类,1 个无效等价类D.可划分为 1 个有效等价类,1 个无效等价类(4) 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成(44)个等价区间。 A2 B3 C4 D6(5) 下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for (i=1,i=1并且X=10,如果用边界值分析法,X在测试中应该取(48)值。A1,10 B0,1,10,11 C1,11 D1,5,10,11(7) 以下(49)方法不是黑盒测试用例的设计方法。 A. 场景法 B. 边界值法 C. 因果图法 D. 路径法(8)(2009) 系统功能测试过程中,验证需

43、求可以正确实现的测试用例称为(32) 。 (32)A业务流程测试用例 B功能点测试用例 C通过测试用例 D失败测试用例 (33)不属于功能测试用例构成元素。 (33)A测试数据 B测试步骤 C预期结果 D实测结果 针对电子政务类应用系统的功能测试,为设计有效的测试用例,应(34) 。 (34)A使业务需求的覆盖率达到100% B利用等价类法模拟核心业务流程的正确执行 C对一个业务流程的测试用例设计一条验证数据 D经常使用边界值法验证界面输入值 (35)测试用例设计方法既可以用于黑盒测试,也可以用于白盒测试。 (35)A边界值法 B基本路径法 C正交试验设计法 D逻辑覆盖法 对“功能测试的回归测

44、试经常要多次重复”的正确理解是(36) 。 (36)A回归测试应该执行初测时所用的全部测试用例 B回归测试只要执行发现缺陷的那些测试用例即可 C通过多次的回归测试可以发现所有缺陷 D回归测试就是验收测试 功能测试执行过后一般可以确认系统的功能缺陷,缺陷的类型包括(37) 。 功能不满足隐性需求功能实现不正确 功能易用性不好功能不符合相关的法律法规 (37)A B C D4、错误推测法4.1.概念基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。4.2. 错误推测法的应用基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。1.例

45、如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。2.例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:1)程序是否把空格作为回答2)在回答记录中混有标准答案记录3)除了标题记录外,还有一些的记录最后一个字符即不是2也不是34)有两个学生的学号相同5)试题数是负数3.例如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:1)输入的线性表为空表;2)表中只含有一个元素;3)输入表中所有元素已排好序;4)输入表已按逆序排好;5)输入表中部分或全部元素相同。4

46、.例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:1)无SIM 卡插入时进行呼出(非紧急呼叫) 2)插入已欠费SIM卡进行呼出3)射频器件损坏或无信号区域插入有效SIM卡呼出4)网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)5)网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字5、因果图法51.概念因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。5.2.因果图法的应用等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、

47、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。1.因果图介绍1)4种符号分别表示了规格说明中向4种因果关系。2)因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3)C1表示原因,通常置于图的左部;e1表示结果,通常在图的右部。C1和e1均可取值0或1,0表示某状

48、态不出现,1表示某状态出现。 2.因果图涉及的概念1)关系恒等:若c1是1,则e1也是1;否则e1为0。非:若c1是1,则e1是0;否则e1是1。或:若c1或c2或c3是1,则e1是1;否则e1为0。“或”可有任意个输入。与:若c1和c2都是1,则e1为1;否则e1为0。“与”也可有任意个输入。2)约束输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。输入条件的约束有以下4类:E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。I约束(或):a、b和c中至少有一个必须是1,即

49、a、b 和c不能同时为0。O约束(唯一);a和b必须有一个,且仅有1个为1。R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。3.采用因果图法设计测试用例的步骤:1)分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。2)分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。3)由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情

50、况, 在因果图上用一些记号表明约束或限制条件。4)把因果图转换为判定表。5)把判定表的每一列拿出来作为依据,设计测试用例。5.3.案例案例1、按某软件规格说明书包含这样的要求进行输入输出测试【案例情景】 某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。【案例分析】 解答:1)根据题意,原因和结果如下: 原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一数字。 结果: 21修改文件; 22 给出信息L; 23给出信息M。2)其对应的因果图如下:11

51、为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。1) 根据因果图建立判定表。表8表中8种情况的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 案例2、自动售货机软件测试用例的设计【案例情景】有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭

52、,在送出饮料的同时退还5角硬币。【案例分析】1)分析这一段说明,列出原因和结果原因:1售货机有零钱找2投入1元硬币3投入5角硬币 4押下橙汁按钮5.押下啤酒按钮 结果: 21售货机零钱找完灯亮 22退还1元硬币23退还5角硬币 24送出橙汁饮料25送出啤酒饮料2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:11 投入1元硬币且押下饮料按钮 12押下橙汁或啤酒的按钮13应当找5角零钱并且售货机有零钱找14钱已付清3)转换成判定表:4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。案例3、【案例情景】【案例分析】案例4【案例情景】【案例分析】6、判定表驱动法61.概念判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。6.2.判定表驱动法1.判定表的优点能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!