资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
测试用例设计n黑盒测试n等价类划分法n边界值分析法n因果图法n错误推测法n功能图法n白盒测试n基本路径测试法n逻辑覆盖法 语句覆盖法 判定覆盖法 条件覆盖法 判定-条件覆盖法 条件组合覆盖法 路径覆盖法测试用例的定义和特征n测试用例的定义: (1)测试用例是为特定的目的而设计的一组测试输 入、 执行条件和预期的结果的集合。 (2)测试用例是有效的发现软件缺陷的最小测试执 行单元。 n测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。设计测试用例的基本准则n测试用例的代表性能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和环境 设置等。n测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试用 例都应有相应的期望结果。n测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的 。黑盒测试 称为功能性测试 或数据驱动测试 。等价类划分法的思想n等价类划分设计方法是把所有可能的输入数据 ,即程序的输入域划分成若干部分(子集), 然后从每一个子集中选取少量具有代表性的数 据作为测试用例。n等价类是指某个输入域的子集合。在该子集合 中,各个输入数据对于揭露程序中的错误都是 等效的。n并合理地假定:测试某等价类的代表值就等效 于对这一类其他值的测试。等价类的类型*有效等价类:是指对于程序的规格说明来说是 合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规 格说明书中所规定的功能和性能*无效等价类:是指对软件规格说明而言, 是无意义的、不合理的输入数据所构成的集合 。利用无效等价类,可以鉴别程序异常处理 的情况,检查被测对象的功能和性能的实现是 否有不符合规格说明要求的地方。 等价类的划分原则(1)按照区间划分在输入条件规定了取值 范围或值的个数的情况下,可以确定一个有效 等价类和两个无效等价类。例:例:程序输入条件为小于程序输入条件为小于100100且大于且大于1010的整数的整数x x, 有效等价类为有效等价类为1010x x100100两个无效等价类为两个无效等价类为x10x10和和x100x100。例:例:程序输入程序输入x x取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,151,3,7,15, 且程序对这且程序对这4 4个数值分别进行了处理。个数值分别进行了处理。有效等价类为有效等价类为x=1x=1、x=3x=3、x=7x=7、x=15x=15, 无效等价类为无效等价类为x1,3,7,15x1,3,7,15的值的集合的值的集合。(2)按照数值划分在规定了一组输入数据 (假设包括 n个输入值),并且程序要对每一个 输入值分别进行处理的情况下,可确定 n 个有效 等价类(每个值确定一个有效等价类)和一个无 效等价类(所有不允许的输入值的集合)。(3)按照数值集合划分在输入条件规定了 输入值的集合或规定了“必须如何”的条件下 ,可以确定一个有效等价类和一个无效等价 类(该集合有效值之外)。例:例:程序输入用户口令的长度必须是程序输入用户口令的长度必须是4 4位的串位的串 ,可以确定一个有效等价类是串的长度为,可以确定一个有效等价类是串的长度为4 4,一个无效等价类长度不为一个无效等价类长度不为4 4。(4)按照限制条件或规则划分在规定了 输入数据必须遵守的规则或限制条件的情况 下,可确定一个有效等价类(符合规则)和 若干个无效等价类(从不同角度违反规则) 。例:例:程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x,则有效等价类为则有效等价类为x x的值为奇数的整数的值为奇数的整数无效等价类为无效等价类为x x的值为不满足其中任何一个的值为不满足其中任何一个 条件或所有条件的输入的集合。条件或所有条件的输入的集合。(5)细分等价类在确知已划分的等价类中各元素 在程序中的处理方式不同的情况下,则应再将该等 价类进一步划分为更小的等价类,并建立等价类表 。例:例:程序输入条件为以字符程序输入条件为以字符 a a 开头、长度为开头、长度为8 8的字符的字符 串,并且字符串不包含串,并且字符串不包含 a a z z 之外的其它字符,则之外的其它字符,则 有效等价类为满足了上述所有条件的字符串,无效有效等价类为满足了上述所有条件的字符串,无效 等价类为不以等价类为不以 a a 开头的字符串、长度不为开头的字符串、长度不为8 8的字符的字符 串和包含了串和包含了 a a z z 之外其它字符的字符串。之外其它字符的字符串。(6)在输入条件是一个布尔量的情况下,可确定一个 有效等价类和一个无效等价类。例:例:程序输入条件为程序输入条件为BOOL x=true,BOOL x=true,有效等价类为有效等价类为 x=true,x=true,无效等价类为无效等价类为x=falsex=false。等价类划分法的步骤(1)确定等价类 (2)建立等价类表,列出所有划分出的等价类 (3)从划分出的等价类中按以下的3个原则设计测 试用例:A 为每一个等价类规定一个唯一的编号 B 设计一个新的测试用例,使其尽可能多的覆 盖尚未被覆盖的有效等价类,重复这一步,直到所 有的有效等价类都被覆盖为止。 C 设计一个新的测试用例,使其仅覆盖一个尚 未被覆盖的无效等价类,重复这一步,直到所有的 无效等价类都被覆盖为止。 确定等价类的方法n先考虑输入数据的类型(合法型和非法型)n再考虑数据范围(合法型中的合法区间和非 法区间)n最后考虑输出结果,逆向设定输入举例n输入三个整数作为三边的边长构成三角形。 当此三角形为一般三角形、等腰三角形、等 边三角形时,分别作计算。用等价类划分方 法为该程序进行测试用例设计。(1) 确定等价类设a、b、c代表三角形的三条边。 a) 整数 b) 3个数 c) 非零数 d) 正数 e) 两边之和大于第三边 f) 两边相等 g) 三边相等2)列出等价类表并编号练习n现有一个小程序,能够求出三个在-100到 +100间整数中的最大者,程序界面如下:2.等价类划分法n(1)弱一般等价类测试n特点: 不考虑无效数据,测试用例使用部分有效等 价类中的一个值abcdefgx2x12.等价类划分法n(2)强一般等价类测试n特点:每一个有效等价类要选择至少一个测试用例abcdefgx2x12.等价类划分方法n(3)弱健壮等价类测试n对于有效输入: 使用部分有效类的个值n对于无效输入: 使用部分无效值abcdefgx2x12.等价类划分方法n(4)强健壮等价类测试n每个有效等价类和无效等价类都至少要选择一个测 试用例abcdefgx2x1三角形问题4个标准等价类测试用例测试测试 用例abc预预期输输出Test1101010等边Test210105等腰Test3345一般三角形test4412非三角形n练习3:NextDate函数nNextDate函数有三个变量 month,day,year的函数,输出为输入 日期下一天的日期。如:输入为 2007年7月19日,输出为2007年7月20 日。要求三个变量都为整数,且满 足:n条件:1 month 12n条件2:1 day 31n条件3:1912 year 2050(1)划分等价类1Year Month Day的有效值区间定义如下:nM1=month: 1month 12nD1=day: 1 day 31nY1=year: 1912 year 2050(1)划分等价类2n n无效等价类是:无效等价类是:nM2=month: month12nD2=day: day31nY2=year: year2050NextDate函数的弱健壮等价类测试用例测试用例 monthdayyear预期输出Test1 Test2 Test3 Test4 Test5 Test6 Test76 -1 13 6 6 6 615 15 15 -1 32 15 151912 2005 2005 2005 2005 1911 20511912.6.16 month不在有效值值内 month不在有效值值内 day不在有效值值内 day不在有效值值内 year不在有效值值内 year不在有效值值内NextDate函数的强健壮等价类测试用例(部分 )测试用 例monthdayyear预期输出Test1 Test2 Test3 Test4 Test5 Test6 Test7 -1 6 6 -1 6 -1 -1 15 -1 15 -1 -1 15 -1 1918 1918 1911 2005 1911 1911 1911 month不在有效值值内 day不在有效值值内 year不在有效值值内 month,day不在有效值值内 day,year不在有效值值内 month,year不在有效值值内 month,day,year不在有效值值 内 续:详细的等价类划分n考虑对输入日期输入日期的处理:nM1=month: month有30天nM2=month: month有31天nM3=month: month是2月nD1=day: 1 day 28nD2=day: day=29nD3=day: day=30nD4=day: day=31 nY1=year: year=2000nY2=year: year是闰年nY3=year: year是平年弱一般等价类测试用例弱一般等价类测试用例测试用 例monthdayyear预期输出Test1 Test2 Test3 Test46 7 2 615 29 30 312000 1996 2002 20002000.6.16 1996.7.30 2002.2.31不可能的日期不可能的日期2000.7.1(不可能的不可能的输输输输入入 日期日期)强 一 般 等 价 类 测 试 用 例测试 用例monthdayyear预期输出Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 Test14 Test156 6 6 6 6 6 6 6 6 6 6 6 7 7 715 15 14 29 29 29 30 30 30 31 31 31 15 14 142000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 20022000.6.16 1996.6.16 2002.6.15 2000.6.30 1996.6.30 2002.6.30 2000.6.31 (不可能的日期 ) 1996.6.31 (不可能的日期 ) 2002.6.31 (不可能的日期 ) 2000.7.1(无效输输入) 1996.7.1(无效输输入) 2002.7.1 (无效输输入) 2000.7.16 1996.7.15 2002.7.15测试 用例monthdayyear预期输出Test16 Test17 Test18 Test19 Test20 Test21 Test22 Test23 Test24 Test25 Test26 Test27 Test28 Test29 Test307 7 7 7 7 7 7 7 7 2 2 2 2 2 229 29 29 30 30 30 31 31 31 14 14 14 29 29 292000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 20022000.7.30 1996.7.30 2002
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号