第02章_等价类划分法_第1页
第02章_等价类划分法_第2页
第02章_等价类划分法_第3页
第02章_等价类划分法_第4页
第02章_等价类划分法_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、引入如果你判定是红桃红桃,则可以出牌;如果判定是其他三个颜色,则跳过这一回合的出牌阶段效果效果子集合子集合测试数据知多少? 用户名(ID)规定为4位数字: 10009999有多少个有多少个可能的输入?可能的输入? 黑盒测试技术 等价类划分法内容提要u 什么等价类划分法?u 如何划分等价类?u 如何从等价类导出测试用例?u 等价类测试的类型什么是等价类?l等价类等价类 是指某个输入域的子集合子集合。 在该子集合中,各个输入数据对于揭露程序中各个输入数据对于揭露程序中的错误都是等效的。的错误都是等效的。 测试某等价类的代表值就等价于等价于对这一类其它值的测试。什么是等价类? 用户名(ID):100

2、09999有效等价类无效等价类等价类?等价类?10009999有效等价类有效等价类无效等价类无效等价类无效等价类无效等价类有效等价类与无效等价类对于程序的规格说明来说,是输入数据构成的集合。 有效等价类 无效等价类等价类输入关注点有效等价类有效等价类合理的、有意义的功能和性能无效等价类无效等价类无合理的、无意义的异常处理 设计测试用例时,要同时考虑同时考虑有效等价类和无效等价类的设计。软件不能只接收合理的数据,还要经受意外的考验,接受无接受无效的或不合理的数据效的或不合理的数据,这样软件才能具有较高的可靠性较高的可靠性。有效等价类与无效等价类等价类划分法l把所有可能的所有可能的输入数据划分划分

3、成若干部分 (子集),然后从每一个子集中选取少数少数 具有代表性有代表性的数据作为测试用例测试用例。它是一种典型的、常用的典型的、常用的黑盒测试方法。等价类划分法步骤 如何划分等价类?v用户ID规定为:10009999v程序输入x取值于 1,3,7,15,且程序中对这4个数值分别进行了处理v上传的图片必须小于120KBv规定必须输入非0的正整数双边区间双边区间不同取值不同取值单边区间单边区间限制条件限制条件等价类划分1. 1.按双边区间划分按双边区间划分2. 2.按取值划分按取值划分3. 3.按单边区间划分按单边区间划分4. 4.按限制条件按限制条件/ /规则划分规则划分如何划分等价类?如何划

4、分等价类?(1) (1) 按双边区间划分按双边区间划分 如果输入条件规定了取值范围取值范围,或值的个数,则可以确立一个有效等价类一个有效等价类和两个无效等价类两个无效等价类。 例如,在程序的规格说明中,对输入条件有一句话: “ ID可以从1000到9999 ” 有效等价类:“1000ID9999”; 两个无效等价类:“ID 1000”“ID 9999” 在数轴上表示成:10009999有效等价类有效等价类无效等价类无效等价类无效等价类无效等价类如何划分等价类?(2) (2) 按不同取值划分按不同取值划分 如果规定了输入数据的一组值输入数据的一组值(假定n个),且程序要对每一个输入值分别进行处理

5、每一个输入值分别进行处理的情况下,可确定 n n 个有效等价个有效等价类类(每个值确定一个有效等价类)和一个无效等价类一个无效等价类(所有不允许的输入值的集合)。 例如,程序输入x取值于一个固定的枚举类型1,3,7,15,且程序中对这4个数值分别进行了处理。 有效等价类:x=1、x=3、x=7、x=15; 无效等价类:x1,3,7,15的值的集合如何划分等价类?(3) (3) 按单边区间划分按单边区间划分 如果输入条件规定了输入值的集合,这时可确立一个有效等价类和一个无效等价类。例如:规定淘宝卖家,上传的图片大小要小于120KB 有效等价类: 120KB 无效等价类: 120KB如何划分等价类

6、?(4) (4) 按限制条件或规则划分按限制条件或规则划分 如果规定了输入数据必须遵守的规则或限制条件必须遵守的规则或限制条件,可确定一个有效等价类一个有效等价类(符合规则)和若干个无效等价类若干个无效等价类(从不同角度违反规则)。例如:规定必须输入非0的正整数。 有效等价类:非0的正整数 无效等价类:至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。等价类划分1. 1.按双边区间划分按双边区间划分2. 2.按取值划分按取值划分3. 3.按单边区间划分按单边区间划分4. 4.按限制条件按限制条件/ /规则划分规则划分按处理方式按处理方式细分等价类细分等

7、价类划分等价类原则练习划分等价类需求需求: 输入年龄(0,150),不允许为空。有效等价类:有效等价类: (0,150)无效等价类:无效等价类:“age 0”、“age 150” 、 空练习划分等价类需求需求: 输入年龄(0,150),不允许为空有效等价类:有效等价类: (0,150) 非空无效等价类:无效等价类:“age 0”“age 150” 空正整数负数、小数字母、汉字按处理方式细分等价类在已划分的等价类中,各元素在程序中的处理方式不同处理方式不同的情况下,则应再将该等价类进一步划分进一步划分为更小的等价类,并建立等价类表。2. 建立等价类表,并对等价类编号 在确认等价类之后,建立等价类

8、表,列出所有划分出的等价类,如下表: 等价类表2. 建立等价类表,并对等价类编号输入条件输入条件 有效等价类有效等价类编号编号年龄正整数E01E01(0,150)E02E02非空E03E03有效等价类:有效等价类: 正整数(0,150) 非空无效等价类:无效等价类: 负数、小数 字母、字符“age 0”“age 150” 空2. 建立等价类表,并对等价类编号输入条件输入条件 有效等价类有效等价类编号编号无效等价类无效等价类编号编号年龄正整数E01E01负数E04E04小数E05E05字母E06E06字符E07E07汉字E08E08(0,150)E02E02 0E09E09150E10E10非空

9、E03E03空E11E113. 等价类导出测试用例编号编号有效输入有效输入覆盖有效等价类覆盖有效等价类U0150E01、E02、E03编号编号无效输入无效输入覆盖无效等价类覆盖无效等价类U02-40E04U0310.3E05U04“G”E06U05“*”E07U06“年”E08U070E09U08150E10U09空E11等价类划分法步骤 案例1多输入条件输入变量有效等价类编号无效等价类编号Xa,b)1Xd7Ye,f)4Yg9对于函数F(X,Y),其输入变Y的取值边界定义如下:X a,b) b,c) c,d ; Y e,f) f,g可得到X,Y的等价类如下表试用前述几种等价类测试用例设计法设计

10、测试用例导出测试用例的原则 从等价类表中按以下原则原则设计测试用例: 编号唯一 尽可能多地覆盖尽可能多地覆盖尚未覆盖的有效等价类有效等价类 仅覆盖一个仅覆盖一个尚未覆盖的无效等价类无效等价类1.覆盖所有的覆盖所有的有效和无效等价类输入变量有效等价类编号无效等价类编号Xa,b)1Xd7Ye,f)4Yg92. 尽可能多地覆盖尽可能多地覆盖尚未覆盖的有效等价类有效等价类3. 仅覆盖一个仅覆盖一个尚未覆盖的无效等价类无效等价类试用前述几种等价类测试用例设计法设计测试用例导出测试用例的原则有效等价类导出测试用例 测试用例从每个有效等价类中选取一个值测试用例XY预期输出WR1XabYefF1WR2XbcY

11、fgF2WR3XcdYefF3从X的三个有效等价类中分别选一个值从Y的两个有效等价类中分别选一个值无效等价类导出测试用例 对于无效等价类,使用一个无效值,并保持其余的值都是有效的测试用例XY预期输出WR4X_aYefF4WR5Xd_YfgF5WR6XcdY_eF5WR37XbcYf_F6Y选取一个无效值,X保持有效X选取一个无效值,Y保持有效v 对于有效等价类,从每个有效等价类选取一个值。v 对于无效等价类,使用一个无效值,并保持其余的值都是有效的agedYXfbc(Xg)(Xd, Yfg)(Xcd, Ye)弱健壮等价类测试用例设计法为什么对有效和无为什么对有效和无效等价类的覆盖方效等价类的覆

12、盖方式不一样呢?式不一样呢?导出测试用例的原则 从划分出的等价类中按以下原则原则设计测试用例:2. 尽可能多地覆盖尽可能多地覆盖尚未覆盖的有效等价类有效等价类3. 仅覆盖一个仅覆盖一个尚未覆盖的无效等价类无效等价类为什么两种等价类的覆盖方式不一样?v 对于有效等价类,采取尽量覆盖的方式是为了全面考察全面考察软件的功能。软件的功能。v 对于无效等价类,采取每次只覆盖一个的方式是因为:通常程序发现一类错误后就不再检查是否还有其他错误程序发现一类错误后就不再检查是否还有其他错误。 例如:QQ登录账号为510位数字,若给出一个无效等价类为(11位,格式),它同时覆盖了2个错误的输入条件(位数,格式)。

13、小结 什么等价类、等价类划分法? 如何划分等价类? 如何从等价类导出测试用例?弱一般弱一般等价类测试弱健壮弱健壮等价类测试强等价类测试强一般强一般等价类测试强健壮强健壮等价类测试等价类测试等价类测试弱等价类测试根据测试用例的完整性划分根据测试用例的完整性划分等价类测试的类型如何理解 “弱”“强”?v 所谓所谓“弱弱”: 是指从各个等价类中选取值时只考虑等价类自身只考虑等价类自身,查出的缺陷属于“单缺陷”,即单一因素造成的缺陷。v所谓所谓“强强”: 是指考虑了等价类之间的相互影响考虑了等价类之间的相互影响,查出的缺陷属于多种因素造成的“多缺陷”。v简单来说,从取值上看:简单来说,从取值上看: 弱

14、 :单缺陷假设,不考虑取值组合组合的情况 强 :多缺陷假设,考虑取值组合的情况 如何理解 “一般”“健壮”?v所谓所谓“一般一般”: 不考虑无效值无效值(异常区域)v所谓所谓“健壮健壮”: 考虑无效值(异常区域) 等价类测试的类型v 1. 弱一般等价类:单缺陷假设,不讨论异常区域v 2. 强一般等价类:多缺陷假设,不考虑异常区域v 3. 弱健壮等价类:单缺陷假设,要考虑异常区域弱健壮等价类:单缺陷假设,要考虑异常区域v 4. 强健壮等价类:多缺陷假设,要考虑异常区域;即一个全笛卡尔乘积) 等价类测试的类型强健壮等价类强一般等价类组合(强)不组合(弱)考虑无效值(健壮)不考虑无效值(一般)弱健壮

15、等价类弱一般等价类等价类测试的类型v弱一般等价类测试:弱一般等价类测试: 单缺陷假设(取值不组合),不考虑异常区域设计测试用例的策略:设计测试用例的策略:对于有效输入,取每个有效等价类的一个值对于无效数据,不考虑(不取无效等价类)等价类测试的类型v强一般等价类测试强一般等价类测试 : 多缺陷假设(取值组合取值组合),不考虑异常区域 测试用例的设计时需要考虑等价类之间的相互作用,选取等价类的笛卡尔积的元素值来实现。v设计测试用例的策略设计测试用例的策略对于有效输入,考虑有效等价类之间的组合对于无效输入,不考虑 等价类测试的类型v弱健壮弱健壮等价类测试:等价类测试: 单缺陷假设(取值不组合),要考

16、虑异常区域 这种测试即传统的等价类测试传统的等价类测试。v设计测试用例的策略设计测试用例的策略对于有效输入,取每个有效等价类的一个值对于无效输入,测试用例将拥有一个无效值,并保持其余的值是有效的。等价类测试的类型v强健壮等价类测试:强健壮等价类测试: 多缺陷假设(取值组合),考虑异常区域 这种测试也考虑了从无效等价类取值,同时考虑了多个等价类之间的相互影响。设计测试用例的策略:设计测试用例的策略: 测试用例从所有等价类(包括有效和无效等价类)笛卡儿乘积中选取(组合)。划分法划分法特点特点弱一般等价类测试不考虑无效等价类,选取的测试用例只需覆盖到有效等价类。强一般等价类测试不考虑无效等价类,选取

17、测试用例时,要根据等价类笛卡儿积,各有效区间的组合都要覆盖到弱健壮等价类测试基于单缺陷假设,考虑无效等价类,选取的测试用例要覆盖每一个有效等价类和无效等价类,但时不能同时覆盖两个无效等价类。强健壮等价类测试每个无效等价类和有效等价类的组合都要覆盖到,考虑所有的有效和无效情况。案例(续)输入变量有效等价类编号无效等价类编号Xa,b)1Xd7Ye,f)4Yg9对于函数F(X,Y),其输入变Y的取值边界定义如下:X a,b)b,c)c,d ; Y e,f)f,g可得到X,Y的等价类如下表试用前述几种等价类测试用例设计法设计测试用例1、弱一般等价类测试用例设计法测试用例从每个有效等价类中选取一个值测试

18、用例XY预期输出WR1XabYefF1WR2XbcYfgF2WR3XcdYefF3从X的三个有效等价类中分别选一个值从Y的两个有效等价类中分别选一个值1、弱一般等价类测试用例设计法 用坐标图表示如下:agedYXfbc2、强一般等价类测试用例设计法 测试用例从有效等价类笛卡儿积中选取v 对于有效等价类,从每个有效等价类选取一个值。v 对于无效等价类,使用一个无效值,并保持其余的值都是有效的agedYXfbc(Xg)(Xd, Yef)(Xcd, Y0试用前述几种等价类测试用例设计法设计测试用例。案例2 三角形问题划分等价类(1)先根据输入限制条件粗分等价类输入变量输入变量有效等价类有效等价类无效

19、等价类无效等价类aa0a0b0c0划分等价类(续)(2)再根据输出细分等价类(得到的等价类成为输出等价类输出等价类)输入变量有效等价类编号无效等价类编号aa0a|a,b,c组成等边三角形1a05a|a,b,c组成等腰三角形2a|a,b,c组成普通三角形3a|a,b,c不能构成三角形4bb0b|a,b,c组成等边三角形1b06b|a,b,c组成等腰三角形2b|a,b,c组成普通三角形3b|a,b,c不能构成三角形4cc0c|a,b,c组成等边三角形1c07c|a,b,c组成等腰三角形2c|a,b,c组成普通三角形3c|a,b,c不能构成三角形41、弱一般等价类测试用例设计法测试用例测试用例abc

20、预期输出预期输出WN1555等边三角形WN2223等腰三角形WN3345一般三角形WN4412不构成三角形2、强一般等价类测试用例设计法强一般等价类测试用例和弱一般等价类测试用例相同!为什么?相同!为什么?3、弱健壮等价类测试用例设计法测试用例测试用例abc预期输出预期输出WR1555等边三角形WR2223等腰三角形WR3345一般三角形WR4412不构成三角形a,b,c取有效值3、弱健壮等价类测试用例设计法测试用例测试用例abc预期输出预期输出WR5-155a值超出输入值定义域WR65-15b值超出输入值定义域WR755-1c值超出输入值定义域a,b,c取无效值4、强健壮等价类测试用例设计法测试用例abc预期输出SR1555等边三角形SR2223等腰三角形SR3345一般三角形SR4412不构成三角形a,b,c取有效值4、强健壮等价类测试用例设计法测试用例测试用例abc预期输出预期输出SR5-155a取无效值SR65-15b取无效值SR755-1c取无效值SR8-1-15a、b取无效值SR95-1-1b、c取无效值SR10-15-1a、c取无效值SR11-1-1-1a、b、c取无效值a,b,c取无效值等价类测试的选择v 等价类测试的弱形式不如对应的强形式的测试全面。v 如果错误条件非常重要,则进行健壮性的测试是合适的。小结u 什么等价类划分法?u 如何划分等价类?u

温馨提示

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

评论

0/150

提交评论