版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第三章 黑盒测试用例设计方法Yingli(哈尔滨英立科技有限公司) 3-2我们在哪?软件测试的分类软件测试的分类单元测试系统测试验收测试性能测试兼容性测试功能测试白盒测试方法层次或过程层次或过程方法(方法(哲学思想)特性特性-质量目标适用性测试可靠性测试集成测试安全性测试灰盒测试方法黑盒测试方法Yingli(哈尔滨英立科技有限公司) 3-3测试方法辩证法测试方法辩证法p白盒测试方法 vs. 黑盒测试方法p静态测试 vs. 动态测试p手工测试 vs. 自动化测试p有计划测试 vs. 随机测试p新功能测试 vs. 回归测试Yingli(哈尔滨英立科技有限公司) 3-4本章内容p讨论常用的黑盒测试
2、用例设计方法,包括 n等价类划分n边界值测试n决策表n错误猜测n场景法n正交实验法n行为建模n综合运用黑盒用例设计方法Yingli(哈尔滨英立科技有限公司) 3-5黑盒测试p说明说明 n把系统看成一个不透明的黑匣,在完全不考虑系统内部结构和处理过程的情况下验证系统是否达到用户需求。n不考虑系统或者组件的内部细节,只关注在选择的输入和相应的执行条件下所产生的输出结果n常用的黑盒测试技术包括p等价类划分p边界值测试p决策表p错误猜测1.场景法Yingli(哈尔滨英立科技有限公司) 3-6p如果你打算测试一个计算器程序的功能,你认为需要进行多少次输入?不可能进行完全的测试p结论是不计其数p整型: 从
3、 1+1 到 999999999999999999999999999999+ 999999999999999999999999999999p小数:1.0+0.1,1.0+0.2等等p键盘上的任何一种组合1.为乘法和除法运算重复上面的操作Yingli(哈尔滨英立科技有限公司) 3-7黑盒测试p请注意请注意n通常运用一种测试用例设计方法不能获得理想的测试用例集。在设计测试用例时,比较实用的方法是综合运用几种设计技术,取长补短。本章的最后会给出一个示例。n进行黑盒测试设计方法的主要依据是软件系统需求规格说明书,因此,在进行黑盒测试设计之前需要确保说明书是经过评审的,其质量达到了既定的要求。另外,如果
4、没有说明书的话,可以选择探索式测试n黑盒测试思想不仅可以用于测试软件的功能,同时,也可用于测试软件的非功能,如性能、安全、可用性等Yingli(哈尔滨英立科技有限公司) 3-8等价类划分p等价类等价类n对一个等价关系而言,某个元素相应的等价类是指与其等价的所有元素的集合p等价类中的各个元素具有相同的属性p(被划分集合)各个等价类之间不会存在相同的元素,它们的并集是被划分集合的全集p测试思想测试思想n在进行测试用例设计时,以具有相同的预期结果为等价划分原则,将系统的被测试域划分为不同的等价类集合,从中选出代表作为测试用例,以期达到尽可能完备同时又可避免冗余的测试。1.被测试域可能是输入域、输出域
5、、输入或输出域的部分或任何其它值得测试的范围Yingli(哈尔滨英立科技有限公司) 3-9等价类划分p分类分类 n有效等价类:对系统来说是有效的输入n无效等价类:所有其它可能存在的情况p设计测试用例步骤设计测试用例步骤n划分等价类n确定测试用例:解决如何组合各个被测条件等价类的问题p完全组合p部分组合Yingli(哈尔滨英立科技有限公司) 3-10划分等价类(1)p说明说明n到目前为止没有划分高质量等价类的标准方法,不同的功能说明可能使用不同的方法。n不同的等价类得到的测试用例质量不同。n在划分等价类时,可以参考下面的建议:n在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类
6、和两个无效等价类。 例如:成年人每分钟的心跳60-100之间为正常。 有效等价类:60-100 无效等价类:100n在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。 例如:用户连续输入错误密码的次数最多为3次。 有效等价类:3次1.在输入条件是一个布尔量的情况下,可确定一个有效等价类。 例如:单选的选中与不选中。 Yingli(哈尔滨英立科技有限公司) 3-11划分等价类(2)n在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 例如:输入数据为省份的选择。n在规定了输入
7、数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则) 。 例如:规定必须输入非0的正整数。 这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后得到从不同角度违反规则的无效等价类。 该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。n在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。 例如:核对日期的有效性,初步有效等价类是1=Month=12,1=Day=31 可是考虑到2月以及闰年、闰月、长
8、月、短月等,需要进一步细分,当然其中还涉及到了年月日组合的问题。 Yingli(哈尔滨英立科技有限公司) 3-12确定测试用例p步骤步骤n划分等价类n为每一个有效等价类和无效等价类规定一个唯一的编号n设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类, 重复这一步直到所有有效等价类均被测试用例所覆盖n设计一个测试用例,使其只覆盖一个无效等价类,重复这一步,直到所有无效等价类均被覆盖 p表示法表示法1.使用下面的表格有利于确定测试用例Yingli(哈尔滨英立科技有限公司) 3-13案例p功能说明功能说明nNextDate(年,月,日)是三个变量的函数。函数返回输入日期的下一个日期。变量年份
9、,月份,日期都是整数值,且满足下面的条件: 1900年 2060 ,1月 12, 1日 31. n分析和比较两种不同的等价类划分方法以及三种设计的结果Yingli(哈尔滨英立科技有限公司) 3-14参考答案1p参考答案参考答案n等价类及其编号p测试用例测试用例n覆盖等价类1,2,3: 测试输入=(2006,6,16), 预期结果=(2006,6,17)n覆盖等价类4,2,3: 测试输入=(1890,4,10), 预期结果=“输入错误!”1.覆盖等价类5,2,3: 测试输入=(2062,4,10), 预期结果=“输入错误!”Yingli(哈尔滨英立科技有限公司) 3-15参考答案1p测试用例测试
10、用例n覆盖等价类1,6,3: 测试输入=(2006,-2,16), 预期结果=“输入错误!”n覆盖等价类1,7,3: 测试输入=(2006,13,16), 预期结果=“输入错误!”n覆盖等价类1,2,8: 测试输入=(2006,6,0), 预期结果=“输入错误!”4.覆盖等价类1,2,9: 测试输入=(2006,4,33), 预期结果=“输入错误!”Yingli(哈尔滨英立科技有限公司) 3-16分析:p覆盖有效等价类123-一个测试用例p覆盖无效等价类每一个,分别按顺序替换一个有效的等价类423、523。163、173。128、129。Yingli(哈尔滨英立科技有限公司) 3-17参考答案
11、2p另一种答案另一种答案n等价类及其编号Yingli(哈尔滨英立科技有限公司) 3-18参考答案2p测试用例测试用例1n覆盖等价类1,3,7: 测试输入=(2000,7,16), 预期结果=(2000,7,17)n覆盖等价类2,4,8: 测试输入=(2006,4,29), 预期结果=(2006,4,30)1.覆盖等价类1,5,9: 测试输入=(2000,2,30), 预期结果=“输入错误!”Yingli(哈尔滨英立科技有限公司) 3-19参考答案2p测试用例测试用例1(续)(续)n覆盖等价类2,6,10: 测试输入=(2001,12,31),预期结果=(2002,1,1)n覆盖等价类11,3,
12、7: 测试输入=(1830,3,19), 预期结果=“输入错误!”4.覆盖等价类12,3,7: 测试输入=(3000,3,19), 预期结果=“输入错误!”Yingli(哈尔滨英立科技有限公司) 3-20参考答案2p测试用例测试用例1(续)(续)n覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!”n覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!”n覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!”7.覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”Yi
13、ngli(哈尔滨英立科技有限公司) 3-21参考答案3p测试用例测试用例2(续)(续)n覆盖等价类2,3,10: 测试输入=(2001,7,31), 预期结果=(2001,8,1)n覆盖等价类2,4,9: 测试输入=(2006,4,30), 预期结果=(2006,5,1)1.覆盖等价类1,5,8: 测试输入=(2000,2,29), 预期结果=(2000,3,1)Yingli(哈尔滨英立科技有限公司) 3-22参考答案3p测试用例测试用例2(续)(续)n覆盖等价类2,6,7: 测试输入=(2001,12,15),预期结果=(2001,12,16)n覆盖等价类11,3,7: 测试输入=(1830
14、,3,19), 预期结果=“输入错误!”4.覆盖等价类12,3,7: 测试输入=(3000,3,19), 预期结果=“输入错误!”Yingli(哈尔滨英立科技有限公司) 3-23参考答案3p测试用例测试用例2(续)(续)n覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!”n覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!”n覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!”n覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”Yingli(哈尔滨英立科技有限
15、公司) 3-24案例讨论p对三种设计结果的讨论对三种设计结果的讨论n每种结果都覆盖了一些应该测试的功能点n第一组结果过多的关注于对无效等价类的测试,遗漏了很多NextDate问题需测试的关键点,比如平年闰年、二月、大小月、月底等等。n第二组结果包含了第一组的结果的基础上,增加了对二月、年底等的测试1.第三组结果通过日常知识的运用,使得测试用例涵盖了大部分需测试的要点,尤其是测试用例1,2,3的有效性明显要比前二种结果中的要好,但仍有些遗漏,例如年底、平年的二月等Yingli(哈尔滨英立科技有限公司) 3-25案例讨论p如何再次提高测试用例质量呢?如何再次提高测试用例质量呢?n在实际测试时,可以
16、考虑增加一些测试用例来补充想到但是通过使用测试用例设计方法没有办法覆盖到的测试点(实际上,运用了错误猜测法)n根据功能规格说明,选取恰当的测试用例设计方法。Nextdate各个输入变量之间其实并不是完全独立的,在设计测试用例时并没有考虑到这点,可以使用:n各个变量之间进行全组合n决策表1.综合运用多种测试用例设计方法,以求得测试质量与成本之间的平衡Yingli(哈尔滨英立科技有限公司) 3-26p弱一般等价类n设计若干测试用例,每个测试用例应尽可能多地覆盖尚未覆盖的被测变量的有效等价类并且每个被测变量的有效等价类应至少出现一次n测试用例个数为:各个被测变量中的最大有效等价类个数p强一般等价类n
17、设计若干测试用例,使其覆盖所有被测变量有效等价类的组合n测试用例个数为:各个被测变量有效等价类数(乘法原理)等价类方法的补充说明Yingli(哈尔滨英立科技有限公司) 3-27p弱健壮等价类n设计若干测试用例,每个测试用例应尽可能多地覆盖尚未覆盖的有效等价类,对于无效等价类,每个测试用例只考虑一个被测变量的无效等价类n测试用例个数为:各个被测变量中的最大有效等价类个数+各个被测变量的无效等价类数p强健壮等价类n设计若干测试用例,使其覆盖所有被测变量的有效等价类和无效等价类的组合n测试用例个数为:各个被测变量的(有效等价类数+无效等价类数)等价类方法的补充说明Yingli(哈尔滨英立科技有限公司
18、) 3-28p函数y = f (x1,x2) 输入变量的取值范围分别为:x1 a,d, x2 e,g , 根据规格说明划分得相应的等价类nX1:有效等价类 a, b) b, c) c, d;无效等价类(-,a), (d, +)nX2:有效等价类 e,f) f,g;无效等价类(-,e), (g, +)abcdefg图例 弱一般等价类测试用例 强一般等价类测试用例 弱健壮等价类测试用例 强健壮等价类测试用例等价类方法的补充说明Yingli(哈尔滨英立科技有限公司) 3-29运用强健壮等价类方法p强健壮等价类强健壮等价类n用例个数:4*6*6 = 144n利用强健壮等价类获得的测试用例虽然覆盖了需测
19、试的各个要点,但是测试用例个数却大幅度提高,而且包含了若干无意义的测试用例Yingli(哈尔滨英立科技有限公司) 3-30演练p佣金问题等价类测试用例,它是根据佣金函数的输出值域定义等价类,来改进测试用例集合。输出销售额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根据输出域选择输入值,使落在输出域等价类内,可以结合弱健壮测试用例结合。Yingli(哈尔滨英立科技有限公司) 3-31练习:
20、实例1Yingli(哈尔滨英立科技有限公司) 3-32答案有效全覆盖,无效每个都覆盖有效全覆盖,无效每个都覆盖Yingli(哈尔滨英立科技有限公司) 3-33练习:实例2p保险费率计算p人人保险公司承担人寿保险已有多年历史, 该公司保费计算方式为投保额 保险率, 保险率又依点数不同而有别, 10 点以上费率为0.6 % ,10 点以下费率为0.1 % :Yingli(哈尔滨英立科技有限公司) 3-34p年龄p(199)p60岁以上20岁以下 2点pMALE 5点p性别pFEMALE 3点p已婚 3点p婚姻p未婚 5点p扶养人数p(19)p一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍
21、五 入 取 整 数 )Yingli(哈尔滨英立科技有限公司) 3-35一、分析输入数据型式p年龄: 一或两位数字。p性别: 以英文Male 、Female p、M 、F 表示。p婚姻: 已婚、未婚。p扶养人数: 空白或一位数字。p保险费率: 10 点以上, 10 点以下。Yingli(哈尔滨英立科技有限公司) 3-36二、划分输入数据Yingli(哈尔滨英立科技有限公司) 3-37划分输入数据Yingli(哈尔滨英立科技有限公司) 3-38三、设计输入数据Yingli(哈尔滨英立科技有限公司) 3-39设计输入数据Yingli(哈尔滨英立科技有限公司) 3-40四、根据以上分析设计测试用例Yi
22、ngli(哈尔滨英立科技有限公司) 3-41设计测试用例Yingli(哈尔滨英立科技有限公司) 3-42练习:实例3p 设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的日期检查功能。(不考虑2月的问题)Yingli(哈尔滨英立科技有限公司) 3-43p1)划分等价类并编号,下表等价类划分的结果p日期的类型及长度p6位数字字符有非数字字符少于6位数字字符多于6位数字字符年份范围在19902049之间小于1990大于2049月份范围在0112之间等于
23、00大于12p2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为、,设计的测试用例如下:p测试数据 期望结果 覆盖的有效等价类200211 输入有效 、3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据 期望结果 覆盖的无效等价类 95June 无效输入 20036 无效输入 2001006 无效输入 198912 无效输入 200401 无效输入 200100 无效输入 200113 无效输入 Yingli(哈尔滨英立科技有限公司) 3-44作业和考试:p某程序规定:输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成
24、的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) Yingli(哈尔滨英立科技有限公司) 3-45p分析题目中给出和隐含的对输入条件的要求: p(1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 非三角形 。 2)如果三条边相等即满足条件(7),则程序输出为 等边三角形 。 3)如果只有两条边
25、相等、即满足条件(6),则程序输出为 等腰三角形 。 4)如果三条边都不相等,则程序输出为 一般三角形 。 列出等价类表并编号Yingli(哈尔滨英立科技有限公司) 3-46Yingli(哈尔滨英立科技有限公司) 3-47覆盖有效等价类的测试用例:pa b c 覆盖等价类号码p3 4 5 (1)-(7)p4 4 5 (1)-(7),(8)p4 5 5 (1)-(7),(9) p5 4 5 (1)-(7),(10)p4 4 4 (1)-(7),(11)Yingli(哈尔滨英立科技有限公司) 3-48覆盖无效等价类的测试用例:Yingli(哈尔滨英立科技有限公司) 3-49p边界值边界值n任何值得
26、测试的范围的临界点,可分为n边界值:明确地定义在规格说明书中 n次边界:隐含在软件中必须经过分析才能获得 p测试思想测试思想n取边界点附近的值作为测试用例的输入,可参考如下的设计原则1.如果输入条件定义了数值区间(a,b),那么测试用例应包括a、b、稍微比a大、稍微比b大、稍微比a小和稍微比b小等几种情况. 举个例子,如果a,b是整数, 除在a,b之间取正常点外,a,b,a-1,b-1,a+1,b+1都应被测试边界值测试 Yingli(哈尔滨英立科技有限公司) 3-50p设计应遵循的原则设计应遵循的原则n如果输入条件规定了值的个数, 那么最小个数、最大个数、大于和小于最小值、大于和小于最大值都
27、应该被测试。n如果程序的输入域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例n上述原则也适用于输出条件n如果在程序中的数据结构有指定的边界,那么选择这个数据结构边界上的值作为测试用例。2.分析规格说明,找出其它可能的边界条件边界值测试 Yingli(哈尔滨英立科技有限公司) 3-51p功能描述功能描述n某选课系统中规定每门课程的选修人数在20,60之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。p测试设计测试设计n输入变量:选课人数n测试输入n选择当选课人数分别为19,20,21, 59,60和61等几个边界点1.再加上一个正常值点40案例 Yingli(哈尔
28、滨英立科技有限公司) 3-52边界值测试p从理论上来说,边界值可分为从理论上来说,边界值可分为n仅考虑有效区间单个变量边界值(一般边界值):用在最小值,略高于最小值,正常值正常值,略低于最大值和最大值处取变量的值。如果被测变量个数为n,则测试用例个数为4n+1n仅考虑有效区间多个变量边界值同时作用(一般最坏情况边界值):用各个变量的最小值,略高于最小值,正常值,略低于最大值和最大值的笛卡尔积集。如果被测变量个数为n,则测试用例个数为5n Yingli(哈尔滨英立科技有限公司) 3-53边界值测试p从理论上来说,边界值可分为从理论上来说,边界值可分为n同时考虑有效区间和无效区间单个变量边界值(健
29、壮边界值):除了在最小值,略高于最小值,正常值,略低于最大值和最大值处取变量的值,还要在略超过最大值以及略小于最小值之处值。如果被测变量个数为n,则测试用例个数为6n+1n同时考虑有效区间和无效区间多个变量边界值同时作用(健壮最坏情况边界值):用各个变量的略小于最小值,最小值,略高于最小值,正常值,略低于最大值,最大值和略超过大值的完全组合。如果被测变量个数为n,则测试用例个数为7nYingli(哈尔滨英立科技有限公司) 3-54p函数y = f (x1,x2) 输入变量的取值范围分别为:x1 a,b, x2 c,d , 边界值方法abcdX2X1一般边界值Yingli(哈尔滨英立科技有限公司
30、) 3-55p函数y = f (x1,x2) 输入变量的取值范围分别为:x1 a,b, x2 c,d , 边界值方法abcdX2X1一般最坏情况边界值Yingli(哈尔滨英立科技有限公司) 3-56p函数y = f (x1,x2) 输入变量的取值范围分别为:x1 a,b, x2 c,d , 边界值方法健壮边界值abcdX2X1Yingli(哈尔滨英立科技有限公司) 3-57p函数y = f (x1,x2) 输入变量的取值范围分别为:x1 a,d, x2 e,g , 边界值方法健壮最坏边界值abcdX2X1Yingli(哈尔滨英立科技有限公司) 3-58p三角形问题三角形问题n输入三个不超过20
31、0的整数,这三个值分别代表三角形三条边的长度,请判断这三个数构成的三角形是等边三角形,等腰三角形还是不等边三角形并将结果打印出来。p测试设计测试设计n三个输入变量:第一条边,第二条边,第三条边n测试输入n选择三条边长度分别为0,1,2,100,199,200,201等几个边界点n当仅有一个变量取边界值,其它取正常值,1.所有变量取边界值,案例 Yingli(哈尔滨英立科技有限公司) 3-59p三角形问题三角形问题n从得到的结果看,多变量同时取边界值得到的测试用例集的质量显然没有仅考虑一个变量边界值的情况好。虽然前者覆盖了后者所有的测试用例,但是花费的代价确实不小,前者的测试用例数是后者的十八倍
32、,预期结果为“输入错误”的用例约占总测试用例数63.6%,而且这些测试用例中的大多数是没有意义的n这主要是因为多变量同时取边界值关注的是变量同时取边界值点时对于功能的影响,三角形问题的各个变量之间相对独立,因此对于三角形问题仅考虑使用一个变量取边界值,另外一个变量取正常值的情况就可以了案例讨论 Yingli(哈尔滨英立科技有限公司) 3-60p边界值测试比较适合运用在有下列含义的变量上边界值测试比较适合运用在有下列含义的变量上n数值n字母n位置n数量n速度n大小边界值测试 Yingli(哈尔滨英立科技有限公司) 3-61p除了遵循前面论述的边界值设计原则,还应考虑测试下面的情况除了遵循前面论述
33、的边界值设计原则,还应考虑测试下面的情况n第一个/最后一个, 第一个-1/最后一个+1n开始/结束, 开始-1/结束+1n超过/低于, 刚刚超过/刚刚低于n空的/满的, 比空的少点/比满的多些n最短的/最长的, 稍微短点/稍微长点n最慢的/最快的, 稍微慢点/稍微快点n最早的/最晚的, 稍微早点/稍微晚点n最大的/最小的, 最大的+1/最小的-1n最高的/最低的, 最高的+1/最低的-1n距离最近的/距离最远的边界值测试Yingli(哈尔滨英立科技有限公司) 3-62边界值测试思想讨论p对于输出变量的边界上同样可以考虑使用边界值测试p虽然边界值测试是以黑盒测试方法的面貌出现,但是其思想不仅可以
34、用于测试功能,同样可以将边界值测试的思想用于测试代码Yingli(哈尔滨英立科技有限公司) 3-63练习:实例1Yingli(哈尔滨英立科技有限公司) 3-64Yingli(哈尔滨英立科技有限公司) 3-65练习:实例2Yingli(哈尔滨英立科技有限公司) 3-66Yingli(哈尔滨英立科技有限公司) 3-67实战1Yingli(哈尔滨英立科技有限公司) 3-68综合实战1(要求:按已学的知识写和其他自己能想到的)Yingli(哈尔滨英立科技有限公司) 3-69综合实战2Yingli(哈尔滨英立科技有限公司) 3-70上传资料的操作流程Yingli(哈尔滨英立科技有限公司) 3-71参考答
35、案p注册用例提示:内容方面、长度、一致、功能、界面及提示、其他等。p上传文件用例提示:文件大小,文件名称,文件格式,上传方面的功能,上传安全、上传性能、上传界面、其他等。Yingli(哈尔滨英立科技有限公司) 3-72(因果图)决策表 p定义定义n决策表由四个部分组成,分别是条件桩(condition stub), 条件项(condition entry), 动作桩(action stub)和动作项(action entry). n条件桩是条件的列表 n动作桩是满足条件时系统可能产生的动作的列表.n条件项是条件值的组合 n动作项是在条件值组合情况下发生的动作n表中的每一列称为一条规则。规则定义
36、了动作在什么条件下发生p决策表分为决策表分为n有限项决策表:每个条件只有两个值,如Y/N, T/F,1/0 等.1.扩展项决策表:条件项的取值有多个(大于2个)Yingli(哈尔滨英立科技有限公司) 3-73决策表示例p下面的决策表描述了读书时的场景条件桩条件桩动作桩动作桩条件项条件项动作项动作项规则规则Yingli(哈尔滨英立科技有限公司) 3-74决策表 p和测试用例之间的关系和测试用例之间的关系n一条规则对应一个测试用例, 条件项构成了测试用例的输入,相应的动作项则是预期结果输入条件输入条件输出结果输出结果测试输入测试输入预期结果预期结果测试用例测试用例条件桩条件桩动作桩动作桩条件项条件
37、项动作项动作项Yingli(哈尔滨英立科技有限公司) 3-75不相关项p为了减少测试用例的个数,我们可以合并具有相同动作结果的规则第一个条件无论取何值都会产生相同的动作,所以我们可以将第一条规则和第五条规则利用不相关项进行合并Yingli(哈尔滨英立科技有限公司) 3-76不相关项p不相关项用“-”表示. p规则数降低到4,相应的测试用例数也降低到4Yingli(哈尔滨英立科技有限公司) 3-77决策表 p决策表设计测试用例的步骤决策表设计测试用例的步骤n分析规格说明确定条件和动作n将条件和动作分别填入条件桩和动作桩中n在条件项中,根据逻辑关系填入条件的各种组合情况n在动作项中,根据规格说明,
38、给每个条件的组合情况填入相应的动作n重复步骤3、4直到所有逻辑关系被遍历完为止Yingli(哈尔滨英立科技有限公司) 3-78有限项决策表p示例示例n三角形问题:输入三个整数,这三个值分别表示三角形三条边的长度,请判断这个三角形是等边三角形,还是等腰三角形还是不等边三角形并打印相应的结果na,b,c 分别代表输入的整数,三角形问题的决策表为:Yingli(哈尔滨英立科技有限公司) 3-79有限项决策表p测试用例测试用例n规则1:测试输入 = (60,16,26), 预期结果 = 非三角形n规则2:测试输入 = (50,50,0), 预期结果 = 非三角形n规则3:测试输入 = (0,0,0),
39、 预期结果 = 非三角形n规则4:测试输入 = (60,60,60), 预期结果 = 等边三角形Yingli(哈尔滨英立科技有限公司) 3-80有限项决策表p测试用例测试用例n规则5:这种组合在现实中不可能存在n规则6:这种组合在现实中不可能存在n规则7:测试输入 = (60,60,26), 预期结果 = 等腰三角形n规则8:这种组合在现实中不可能存在Yingli(哈尔滨英立科技有限公司) 3-81有限项决策表p测试用例测试用例n规则9:测试输入 = (60,26,60), 预期结果 = 等腰三角形.n规则10:测试输入 = (26,60,60), 预期结果 = 等腰三角形n规则11:测试输入
40、 = (30,40,50), 预期结果 = 不等边三角形Yingli(哈尔滨英立科技有限公司) 3-82有限项决策表p注意注意:n一共有8个测试用例 n这8个测试用例仅仅测试了三角形问题的逻辑Yingli(哈尔滨英立科技有限公司) 3-83扩展项决策表p示例示例nNextDate(年,月,日)是三个变量的函数。函数返回输入日期的下一个日期。变量年份,月份,日期都是整数值,且满足下面的条件: 1900年 2060 ,1月 12, 1日 31n如果你选择有限项决策表,那么表中会存在256条规则. 试试下面的方法n日期的值包括pD1=从1到27pD2=28pD3=29pD4=30pD5=31n年份的
41、值包括pY1=闰年pY2=平年 n月份的值包括pM1=31天的月,除去12月pM2=30天的月pM3=2月pM4=12月Yingli(哈尔滨英立科技有限公司) 3-84扩展项决策表pNextDate问题的扩展项决策表问题的扩展项决策表:n日期的值包括pD1=从1到27pD2=28pD3=29pD4=30pD5=31n年份的值包括pY1=闰年pY2=平年 n月份的值包括pM1=31天的月,除去12月pM2=30天的月pM3=2月pM4=12月Yingli(哈尔滨英立科技有限公司) 3-85扩展项决策表p测试用例测试用例n规则1:测试输入 = (2007,7,19), 预期结果 = “2007-7
42、-20”n规则2:测试输入 = (2007,7,31), 预期结果 = “2007-8-1”n规则3:测试输入 = (2007,9,25), 预期结果 = “2007-9-26”n规则4:测试输入 = (2007,9,30), 预期结果 = “2007-10-1”Yingli(哈尔滨英立科技有限公司) 3-86扩展项决策表p测试用例测试用例n规则5:测试输入 = (2007,11,31),预期结果 = “日期输入错误”n规则6:测试输入 = (2000,2,15), 预期结果 = “2000-2-16”n规则7:测试输入 = (2000,2,29), 预期结果 = “2000-3-1”n规则8
43、:测试输入 = (2000,2,30), 预期结果 = “日期输入错误”Yingli(哈尔滨英立科技有限公司) 3-87扩展项决策表p测试用例测试用例n规则9:测试输入 = (2007,2,15), 预期结果 = “2007-2-16”n规则10:测试输入 = (2007,2,28), 预期结果 = “2007-3-1”n规则11: 测试输入 = (2007,2,28), 预期结果 = “日期输入错误”n规则12: 测试输入 = (2006,12,16), 预期结果 = “2006-12-17”n规则13: 测试输入 = (2006,12,31), 预期结果 = “2007-1-1”Yingl
44、i(哈尔滨英立科技有限公司) 3-88建议 p建议建议 n当测试逻辑时,决策表是一个非常好的选择. n为了降低测试用例个数,可以使用扩展项决策表n决策表并不是专用于设计测试用例的方法,它同样可以应用于其他方面,例如需求分析n复杂问题简单化-分割Yingli(哈尔滨英立科技有限公司) 3-89错误猜测 p定义定义 n基于经验和直觉推测程序中可能存在的各种错误, 针对这些错误设计相应的测试用例n常作为一种补充测试用例的设计方法pStepsn错误猜测设计法是一个在很大程度上凭直觉进行的比较随意的过程n用列表举出程序中可能有的错误和容易发生错误的特殊情况n基于该列表构造测试用例Yingli(哈尔滨英立
45、科技有限公司) 3-90发现程序经常出现的错误的方法:n单元测试中发现的模块错误;n产品的以前版本曾经发现的错误;n输入数据为0或字符为空;n当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;n这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入,Yingli(哈尔滨英立科技有限公司) 3-91场景分析法-测试树场景场景n场景可以遍历所有从用例开始到结束的包含基本流和备选流的路径 n场景1:基本流;n场
46、景2:基本流、备选流1;n场景3:基本流、备选流1、备选流2;n场景场景4:基本流、备选流:基本流、备选流3;n场景场景5:基本流、备选流:基本流、备选流3、备选流、备选流1;n场景6:基本流、备选流3、备选流1、备选流2;n场景7:基本流、备选流4;n场景8:基本流、备选流3、备选流4。注:为简单起见,场景5、6和8只考虑了备选流3循环执行一次的情况 某用例的基本流和备选流 Yingli(哈尔滨英立科技有限公司) 3-92场景法 p测试思想测试思想 n根据需求规格说明书中的用例所包含的事件流信息构造场景并设计相应的测试用例使每个场景至少发生一次n“步骤步骤n针对每个用例,构造该用例的所有场景
47、n针对每个场景,至少设计一个可以让该场景发生的测试用例n为每一个测试用例选择相应的测试输入Yingli(哈尔滨英立科技有限公司) 3-93案例 p课程注册用例的事件流课程注册用例的事件流n基本流的描述 n备选流的描述 课程注册系统Yingli(哈尔滨英立科技有限公司) 3-94构造场景 p步骤步骤p根据事件流描述,构造事件流图1.根据事件流图,构造场景覆盖从用例开始到结束的路径 备选流备选流 5备选流备选流 4备选流备选流 3备选流备选流 1 备选流备选流 2Yingli(哈尔滨英立科技有限公司) 3-95构造场景 p场景(部分)场景(部分)n场景1-成功的注册:基本流 n场景2-学生无法识别
48、:基本流,备选流1 n场景3-用户退出:基本流,备选流2 n场景4-选课不成功:基本流,备选流3 n场景5-课程目录系统不可用:基本流,备选流4 n场景6-课程注册已经结束:基本流,备选流5 备选流备选流 5备选流备选流 4备选流备选流 3备选流备选流 1 备选流备选流 2Yingli(哈尔滨英立科技有限公司) 3-96设计测试用例 p步骤:步骤: n确定执行用例场景所需的数据元素n构造矩阵p确定列内容:除了需要包含执行场景所需的数据元素,还需要包含测试用例标识、被测场景标识或名称p确定行内容:p根据每一场景,确定与其相关的测试用例输入项,在设计时,须保证每个场景至少包含一个正面测试用例一个负
49、面测试用例n根据被测场景特征,补充相应测试用例Yingli(哈尔滨英立科技有限公司) 3-97设计测试用例 p对于课程注册用例,确定其列内容为:p确定行内容nV表示这个条件必须是有效的才可执行基本流,I表示条件无效,n/a表示这个条件不适用于测试用例 Yingli(哈尔滨英立科技有限公司) 3-98填入测试数据 p步骤步骤n根据设计的矩阵结果,选择相应的测试数据Yingli(哈尔滨英立科技有限公司) 3-99实例Yingli(哈尔滨英立科技有限公司) 3-100Yingli(哈尔滨英立科技有限公司) 3-101测试树Yingli(哈尔滨英立科技有限公司) 3-102正交实验法 p几个常用的正交
50、表几个常用的正交表L 8(4124)L 4(23)因子因子的状态Yingli(哈尔滨英立科技有限公司) 3-103正交实验法 p正交表可分为正交表可分为n统一水平数正交表:表中各个因子的水平数是一样的n混合水平数正交表:表中的各个因子数的水平数不同p测试思想测试思想n根据被测软件的规格说明书找出影响其功能实现的操作对象和外部因素,把它们当作因子,而把各个因子的取值当作状态,构造出二元的因素分析表;然后,利用正交表进行各因子的状态组合,构造有效的测试输入数据集p正交表的因子对应被测对象的测试因素p因子的水平可以看成是各测试因素的取值。Yingli(哈尔滨英立科技有限公司) 3-104正交实验法
51、p设计步骤设计步骤n依据被测对象说明构造因子状态表n加权筛选,生成因素分析表n选取合适的正交表,生成测试数据集1.根据被测对象的特征,补充由正交表无法得到的测试用例Yingli(哈尔滨英立科技有限公司) 3-105构造因子-状态表 p案例案例n某系统的文件查询功能如下描述:某系统文件查询功能面向系统注册用户和非注册用户开放,查询条件有简单查询和高级查询之分,非注册用户只能查询公开文件并且查询结果只能在终端屏幕上显示,系统注册用户可以查询公开文件和授权文件并且查询结果可以输出到指定的文件或在终端上显示。Yingli(哈尔滨英立科技有限公司) 3-106加权筛选 p步骤步骤n确定各因子/状态的权值
52、,参见下页权值处理的活动图n计算权值p将各个因子的权值(Wi)相加,计算权总和(SUM)p将各个因子的权分别除以权总和,得到各因子的权比例ri1.采用因子数倒数的一半,即1/2n作为权比例标准值,将各个因子的权比例ri与1/2n比较,若ri1/2n,则保留,否则舍去该因子Yingli(哈尔滨英立科技有限公司) 3-107选择正交表p对于前面的例题由于有3个两水平因子,因此可以选用L 4(23)Yingli(哈尔滨英立科技有限公司) 3-108选择正交表pL18(3661)正交表Yingli(哈尔滨英立科技有限公司) 3-109选择正交表p最终的结果nA:0-A1,1-A2nB:0-B1,1-B
53、2nC:0-C1,1-C2, 2-C3nD:0-D1,1-D2, 2-D3nE:0-E1,1-E2, 2-E3,3-E4, 4-E5,5-E6Yingli(哈尔滨英立科技有限公司) 3-110全对偶测试p测试思想 在各变量两两之间进行组合构造测试用例,以期各变量的所有取值/域与其他变量的所 有取值/域构成的对偶在若干测试用例里每个值对偶至少出现一次p例如果被测变量为X,Y,Z。 X取值个数为2分别为X1,X2;Y取值个数为3分别为Y1,Y2,Y3; Z取值个数为1为Z1,那么满足全对偶就要考虑(X,Y)(X,Z) (Y,Z)三种组合情况下的每 个变量的所有取值和其他变量所有取值组成的对偶值,也
54、就是(X1,Y1),(X1,Y2),(X1,Y3), (X2,Y1),(X2,Y2),(X2,Y3), (X1,Z1),(X2,Z1),(Y1,Z1), (Y2,Z1), (Y3,Z1),这些对偶情 况在某个测试用例里至少出现一次。比如有测试用例(X1,Y2,Z1)那么就包括了三个对偶 (X1,Y2),(Y2,Z1),(X1,Z1)。我们的任务就是设计若干测试用例让上面11种对偶值在某个 测试用例里出现一次(当然,可以用不到11个测试用例来涵盖上面的11种对偶)Yingli(哈尔滨英立科技有限公司) 3-111组合测试-全对偶测试p步骤 - 构造对偶表。 1、列数为被测试的变量个数。在列上标出
55、变量名称,按可能取值的数量降序排列变量。 2、行数计算方法如下:如果第一列的可能取值个数是V1,第二列的可能取值个数是V2, 表中的行数至少为 V1*V2(也就是说至少有V1*V2个测试用例)。 - 填写对偶表,一次填写一列。 1、第一列的填写规则:每次重复第一列变量的各个取值V2次。约定第一个变量的相同取 值构成一个段。(最好在各个段空出一行,再重复给出下一个取值) 2、第二列的填写规则:对于第一个变量的每个段列出第二个变量的所有取值 3、增加第三列,使得每个段要包含第三列变量的所有取值,并且这些取值的顺序要使 第三列变量和第二列变量也构成全对偶 4、依次增加第四列、第五列方法同步骤3,检查
56、各变量之间是否构成全对偶,直至所有 变量列完为止Yingli(哈尔滨英立科技有限公司) 3-112全对偶测试示例现有一个有三个变量的程序现有一个有三个变量的程序: V1: V1有三个可能的取值(有三个可能的取值(A A,B,CB,C),),V2V2有两个可能的取值有两个可能的取值(X,Y)(X,Y),V3V3有两个可能的取值有两个可能的取值(0,1): 1(0,1): 1、这三个变量的全对偶表?、这三个变量的全对偶表?2 2、当变量个数增加到、当变量个数增加到4 4个,个,5 5个,个,6 6个又如何?(每个变量的取值都有两个)个又如何?(每个变量的取值都有两个)AABCBXYXXY10011
57、变量变量1变量变量2变量变量3CY0变量变量4EFFFEE变量变量5GHH HGGGHHG变量变量6IJJ JIIGJHIJIYingli(哈尔滨英立科技有限公司) 3-113练习假设一系统为B/S体系结构,其软硬件配置如下:客户端需要支持的浏览器版本包括IE5.0,IE5.5,Netscape7.1,均需运行在Windows98和Windows 2000;应用服务器的软件版本对应不同的Unix OS有三种不同的版本,分别为AIX环境下的A版本,HP UNIX下的B版本和Solaris下的C版本,分别运行在IBM服务器,HP服务器上和Sun工作站上; 数据库服务器均使用IBM小型机,需要支持D
58、B2,Informix和Oracle三种数据库管理系统。假设客户端对后端数据库的访问完全由应用服务器屏蔽。现在要求,应用服务器的不同版本需要支持所有客户端运行的平台和所有数据库运行平台。若对该系统进行配置测试,请设计其测试用例并简要写出设计思想?PS : 配置测试是指验证系统在不同软硬件环境的组合中功能是否可正确的测试活动Yingli(哈尔滨英立科技有限公司) 3-114参考答案 第一步第一步 确定客户端运行平台,根据题意客户端需要进行确定客户端运行平台,根据题意客户端需要进行IEIE和和OSOS的全组合测试的全组合测试 Yingli(哈尔滨英立科技有限公司) 3-115参考答案 第二步第二步
59、 确定服务器端运行平台,根据题意需要进行相应操作系统和确定服务器端运行平台,根据题意需要进行相应操作系统和 小型机的组合测试小型机的组合测试 第三步第三步 确定数据库服务器的运行平台确定数据库服务器的运行平台 Yingli(哈尔滨英立科技有限公司) 3-116参考答案 第四步第四步 客户端和服务器之间是全对偶,服务器和数据库之间是全对偶客户端和服务器之间是全对偶,服务器和数据库之间是全对偶 Yingli(哈尔滨英立科技有限公司) 3-117黑盒测试用例设计方法p讨论了常用的黑盒测试用例设计方法,包括 n等价类划分n边界值测试n决策表n错误猜测n场景法n正交实验法n综合运用黑盒用例设计方法进行功
60、能测试综合运用黑盒用例设计方法进行功能测试n功能测试工具功能测试工具Yingli(哈尔滨英立科技有限公司) 3-118功能测试p功能测试功能测试n说明p指依据系统功能规格说明书,利用系统功能是从输入域到输出值域映射的特点,对系统功能进行彻底地测试。 n测试用例设计方法p黑盒测试方法设计法黑盒测试方法设计法p更准确地说,是综合运用多种黑盒测试用例设计方法综合运用多种黑盒测试用例设计方法p案例案例n奖励积分问题Yingli(哈尔滨英立科技有限公司) 3-119策略p综合运用测试用例设计方法的策略:n为了减少工作量和提高测试效率首先对被测问题进行等价类划分,将无限测试变成有限测试。n在任何情况下都推
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN119450149A 数据处理方法、装置、电子设备及计算机可读介质 (Oppo广东移动通信有限公司)
- CN119450080A 数据处理方法、装置、设备及存储介质 (腾讯科技(深圳)有限公司)
- 2026保险高管-寿险类考试历年参考题库含答案详解
- 2026住院医师规培-河北-河北住院医师规培(神经外科)历年参考题库含答案详解
- 2026住院医师规培-北京-北京住院医师规培(医学影像)历年参考题库含答案详解
- 2026事业单位笔试-黑龙江-黑龙江急诊科(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-福建-福建风湿免疫科(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-河北-河北放射医学(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-新疆-新疆人力资源管理(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-天津-天津妇幼保健学(医疗招聘)历年参考题库含答案详解
- 电子电工产业概论 课件全套 陈芳芳 学习领域1-5 产业基本概况 - 职业岗位
- 模式识别 课件 第4章 线性判别分析
- 2024秋新人教版数学七年级上册教学课件 6.3.2 第1课时 角的比较与运算
- GB 15930-2024建筑通风和排烟系统用防火阀门
- DL∕T 5161.9-2018 电气装置安装工程质量检验及评定规程 第9部分:蓄电池施工质量检验
- 生理学智慧树知到期末考试答案章节答案2024年温州医科大学
- 部编版四年级上册语文《现代诗二首》
- 植物生理学课件(王小菁-第8版)-第五章-植物同化物的运输
- UPVC管粘接施工工艺
- 成人感染性心内膜炎预防诊断和治疗专家共识
- 煤气化生产技术(第四版) 完整整套 全套 模块1-8 煤气化技术认知- 煤气化生产过程的安全与环保认知
评论
0/150
提交评论