软件测试 (六)黑盒测试
软件测试 (六)黑盒测试
本章要点 黑盒测试的基本概念 等价类划分法及其应用 边界值分析法及其应用 因果图法及其应用 决策表法及其应用 正式试验法及其应用 场景法及其应用 不同黑盒测试方法优缺点和应用场合 白盒测试和黑盒测试的对比
本章要点 黑盒测试的基本概念 等价类划分法及其应用 边界值分析法及其应用 因果图法及其应用 决策表法及其应用 正式试验法及其应用 场景法及其应用 不同黑盒测试方法优缺点和应用场合 白盒测试和黑盒测试的对比
黑盒测试方法 等价类划分法 0不用考虑程序的内部结构 仔细分析和推敲需求规格说明书的各项内 容,特别是功能需求,把说明中对输入的 要求和输出的要求区别开来并加以分解 0把程序的输入域划分为若千部分,然后从 每个部分中选取少数代表性数据当作测试 用例。每一类的代表性数据在测试中的作 用等价于这一类中的其他值
黑盒测试方法 等价类划分法 ◦ 不用考虑程序的内部结构 ◦ 仔细分析和推敲需求规格说明书的各项内 容,特别是功能需求,把说明中对输入的 要求和输出的要求区别开来并加以分解 ◦ 把程序的输入域划分为若干部分,然后从 每个部分中选取少数代表性数据当作测试 用例。每一类的代表性数据在测试中的作 用等价于这一类中的其他值
黑盒测试方法 等价类划分法 0有效等价类 指对程序的规格说明是有意义的、合理的输入数 据所构成的集合 无效等价类 指对程序的规格说明是无意义的、不合理的输入 数据构成的集合
黑盒测试方法 等价类划分法 ◦ 有效等价类 指对程序的规格说明是有意义的、合理的输入数 据所构成的集合。 ◦ 无效等价类 指对程序的规格说明是无意义的、不合理的输入 数据构成的集合
黑盒测试方法 等价类划分法 划分等价类时应该遵循的规则 如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两 个无效等价类。例如:输入值是选课人数,在0到100之间,那么有效 等价类是:①0≤学生人数s00;无效等价类是:②学生人数00。 如果输入条件规定了输入值的集合或是规定了“必须如何”的条件,则 可确定 效等价类和一个无效等价类。例如:输入值是日期类型 的数据。那么有效等价类是日期类型的数据;无效等价类是非日期类 型的数据。 如果输入是布尔表达式,可以分为一个有效等价类和一个无效等价类 比如要求密码非空,则有效等价类为非空密码,无效等价类为空密码 如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每 个许的输入填对应个有效类:所有不的输值的缚盒为 那么有效等价类应该有3个:①初级;②中级;③高级;无效等价类有 个:④其他任何职称。 ·如果规定了输入数据必须遵循的规则,可以划分出一个有效的等价类 (符合规则)和若千个无效的等价类(从不同的角度违反规则)
黑盒测试方法 等价类划分法 ◦ 划分等价类时应该遵循的规则 如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两 个无效等价类。例如:输入值是选课人数,在0到100之间,那么有效 等价类是:①0≤学生人数≤100;无效等价类是:②学生人数100。 如果输入条件规定了输入值的集合或是规定了“必须如何”的条件,则 可确定一个有效等价类和一个无效等价类。例如:输入值是日期类型 的数据。那么有效等价类是日期类型的数据;无效等价类是非日期类 型的数据。 如果输入是布尔表达式,可以分为一个有效等价类和一个无效等价类, 比如要求密码非空,则有效等价类为非空密码,无效等价类为空密码。 如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每 个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为 一个无效等价类。例如:输入条件“职称”的值是初级、中级或高级, 那么有效等价类应该有3个:①初级;②中级;③高级;无效等价类有 一个:④其他任何职称。 如果规定了输入数据必须遵循的规则,可以划分出一个有效的等价类 (符合规则)和若干个无效的等价类(从不同的角度违反规则)
黑盒测试方法 等价类划分法 设计测试用例的步骤 对每个输入和外部条件进行等价类划分,画出等 价类表,并为每个等价类进行编号。 设计一个测试用例,使其尽可能多地覆盖有效等 价类,重复这一步,直到所有的有效等价类被覆 盖。 为每一个无效等价类设计一个测试用例
黑盒测试方法 等价类划分法 ◦ 设计测试用例的步骤 对每个输入和外部条件进行等价类划分,画出等 价类表,并为每个等价类进行编号。 设计一个测试用例,使其尽可能多地覆盖有效等 价类,重复这一步,直到所有的有效等价类被覆 盖。 为每一个无效等价类设计一个测试用例
黑盒测试方法 等价类划分法 举例: 有 NextDate函数,输入三个变量(年、月、日), 函数返回输入日期后面一天的日期:|≤月份≤12, ≤日期≤3|,|812≤年≤20|2
黑盒测试方法 等价类划分法 举例: 有NextDate函数,输入三个变量(年、月、日), 函数返回输入日期后面一天的日期:1≤月份≤12, 1≤日期≤31,1812 ≤年≤2012
黑盒测试方法 等价类划分法 等价类划分表 输入及外部条件 有效等价类 等价类编|无效等价类等价类编 号 号 匚。日期的类型数字字符1非数字字符 小大 于1812 年 在1812与2012之间 于2012 月 在1与12之间 2345 小于1 大于12 非闰年的2月 日在1与28之间 日小于1 日大于28 闰年的2月 日在1与29之间 日小于1 15 日大于29 月份为1月、3月、5月、 日小于1 17 7月 日在1与31之间 6 8月、10月、12月 日大于31 月份为4月、6月、9月、 日小于1 11月 日在1与30之间 7 日大于30
黑盒测试方法 等价类划分法 输入及外部条件 有效等价类 等价类编 号 无效等价类 等价类编 号 日期的类型 数字字符 1 非数字字符 8 年 在1812与2012之间 2 小于1812 9 大于2012 10 月 在1与12之间 3 小于1 11 大于12 12 非闰年的2月 日在1与28之间 4 日小于1 13 日大于28 14 闰年的2月 日在1与29之间 5 日小于1 15 日大于29 16 月份为1月、3月、5月、 7月、 8月、10月、12月 日在1与31之间 6 日小于1 17 日大于31 18 月份为4月、6月、9月、 11月 日在1与30之间 7 日小于1 19 日大于30 20 等价类划分表
黑盒测试方法 等价类划分法 有效等价类的测试用例 输入数据 预期输出 序号 覆盖范围 年 月 日 年 月 日 (等价类编号) 2003 15 2003 16 1,2,3,6 1234 2004 13 2004 14 1,2,3,5 1999 3229 1999 3229 1,2,3,4 1970 29 1970 30 1,2,3,7
黑盒测试方法 等价类划分法 有效等价类的测试用例 序号 输入数据 预期输出 覆盖范围 年 月 日 年 月 日 (等价类编号) 1 2003 3 15 2003 3 16 1,2,3,6 2 2004 2 13 2004 2 14 1,2,3,5 3 1999 2 3 1999 2 4 1,2,3,4 4 1970 9 29 1970 9 30 1,2,3,7
黑盒测试方法 等价类划分法 无效等价类的测试用例 输入数据 序号 预期结果 覆盖范围 年 月 日 (等价类编号) y 5 输入无效 8 1700 4 输入无效 3 2300 输入无效 10 4 2005 ll 输入无效 ll 5 2009 14 25 输入无效 12 1989 输入无效 1977 输入无效 14 2000 输入无效 15 2008 2 34 输入无效 16 1956 10 输入无效 11 1974 8 78 输入无效 18 2007 输入无效 19 13 1866 12 35 输入无效 20
黑盒测试方法 等价类划分法 无效等价类的测试用例 序号 输入数据 预期结果 覆盖范围 年 月 日 (等价类编号) 1 xy 5 9 输入无效 8 2 1700 4 8 输入无效 9 3 2300 11 1 输入无效 10 4 2005 0 11 输入无效 11 5 2009 14 25 输入无效 12 6 1989 2 -1 输入无效 13 7 1977 2 30 输入无效 14 8 2000 2 -2 输入无效 15 9 2008 2 34 输入无效 16 10 1956 10 0 输入无效 17 11 1974 8 78 输入无效 18 12 2007 9 -3 输入无效 19 13 1866 12 35 输入无效 20