软件测试的艺术(第3版)第04章测试用例的设计剖析

上传人:我** 文档编号:116937802 上传时间:2019-11-17 格式:PPTX 页数:41 大小:431.69KB
返回 下载 相关 举报
软件测试的艺术(第3版)第04章测试用例的设计剖析_第1页
第1页 / 共41页
软件测试的艺术(第3版)第04章测试用例的设计剖析_第2页
第2页 / 共41页
软件测试的艺术(第3版)第04章测试用例的设计剖析_第3页
第3页 / 共41页
软件测试的艺术(第3版)第04章测试用例的设计剖析_第4页
第4页 / 共41页
软件测试的艺术(第3版)第04章测试用例的设计剖析_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《软件测试的艺术(第3版)第04章测试用例的设计剖析》由会员分享,可在线阅读,更多相关《软件测试的艺术(第3版)第04章测试用例的设计剖析(41页珍藏版)》请在金锄头文库上搜索。

1、p4.1 白盒测试 p4.2 黑盒测试 p4.3 错误猜测 p4.4 测试策略 第4章 测试用例的设计 p软件测试中最重要的因素是设计和生成有效的测 试用例 n 任何程序的测试必定是不完全的,所以很难做到完全发 现软件中的错误,那么如何发现尽可能多的错误? p软件测试最关键的问题 n 在给定的时间和成本约束下,在所有可能的测试用例中 ,哪个子集最有可能发现最多的错误? p采用某种策略设计测试用例 n 随机输入测试:低效 n 有策略的黑盒测试和白盒测试 第4章 测试用例的设计 p黑盒测试 n边界值分析 n等价类划分 n因果图 n判定表 n错误猜测 第4章 测试用例的设计 设计方法 p白盒测试 n

2、语句覆盖 n判定覆盖 n条件覆盖 n判定/条件覆盖 n多重条件覆盖 p语句覆盖:设计若干测试用例,运行被测程序,使得每一个 可执行语句至少执行一次。 p判定/分支覆盖:设计若干测试用例,运行被测程序,使得程 序每个判断的取真分支和取假分支至少经历一次。 p条件覆盖:设计若干测试用例,运行被测程序,使得程序中 每个判断的每个条件的可能取值至少执行一次。 p判定/条件覆盖:设计若干测试用例,运行被测程序,使得判 断中每个条件的所有可能取值至少执行一次,同时每个判断 本身的所有可能判断结果至少执行一次。 p多重条件覆盖:设计若干测试用例,运行被测程序,使得每 个判断的所有可能的条件取值组合至少执行一

3、次。 4.1 白盒测试 逻辑覆盖准则 p例子 4.1 白盒测试 /被测试的程序段如下 if (a1 if (a=2 | x1) x = x + 1; a1 if (g=0 | x1) x = x + 1; pNextDate函数的设计、实现和测试 n 函数有3个参数:月份、日期和年;它们都具有整数值,且满足以 下条件: l 1=月份=12 l 1=日期=31 l 1812=年=2012 n 函数返回输入日期之后的那个日期;如果输入无效值,如2000年 6月31日,输出指示相应变量超出取值范围;对于无效的日月年组 合,如“1999年13月32日”输出“无效输入日期”。 p要求: n 每个人实现该

4、函数,并设计一组测试用例 n 两人一组,互相测试对方的程序 n 提交源程序和测试用例报告,注明采用的测试用例设计技术,该 用例发现的错误,并对测试效果进行简要分析 4.1 白盒测试 综合训练 p4.2.1 等价划分 p4.2.2 边界值分析 p4.2.3 判定表 p4.2.4 因果图 4.2 黑盒测试 p黑盒测试是最常用和最有效的软件测试技术 p有效的黑盒测试需要软件的文档 n需求文档或者产品说明书,通过这些了解输入什 么能得到什么或者操作的结果 n没有产品说明书时使用探索测试了解软件、 设计测试、执行测试同时执行 4.2 黑盒测试 p通过性测试:确认软件至少能作什么(软件 的基本功能),而不

5、会考验其能力。软件测 试员并不需要想尽办法使软件崩溃,紧紧运 用最简单、最直观的测试用例。 p失效性测试:纯粹为了破坏软件而设计和执 行的测试用例称为实效性测试(错误强制测 试),它是蓄意攻击软件的薄弱环节。 4.2 黑盒测试 通过性测试和失效性测试 p要从所有可能的测试用例中要找出某个小的子集,而 且是可能发现最多错误的子集,精心挑选的测试用例 还应该具备两个特征: n 它覆盖了大部分其他可能的测试用例对程序输入范围进行 划分,将其划分为有限数量的等价类,就可以合理地假设测试 每个等价类的代表性数据等同于测试该类的其他任何数据。即 ,如果等价类的某个输入发现了某个错误,该等价类的其他数 据也

6、应该能发现同样的错误,反之如果等价类的某个输入不能 发现错误,那么该等价类中的其他数据也不能发现错误。 n 严格控制测试用例的增加每个测试用例必须体现尽可能多 的不同的输入情况 4.2.1 等价划分 p第一步:确定等价类 n 选取每个输入条件(通常是规格说明中的一个句子或短语), 并将其划分为两个或多个组:有效等价类代表对程序的有效输 入,无效等价类代表其他任何可能的输入。 n 根据输入条件确定等价类的指导原则 l 取值范围:一个有效等价类,两个无效等价类 l 取值个数:一个有效等价类,两个无效等价类 l 输入值的集合,且每个值处理不同:为每个值确定一个有效等价 类和一个无效等价类 l “必须

7、是”:一个有效等价类,一个无效等价类 l 如果有任何理由可以认为程序并未等同地处理等价类中的元素, 那么应该将这个等价类再划分为小一些的等价类 4.2.1 等价划分 设计测试用例 p第二步:生成测试用例 n为每个等价类设置一个不同的编号; n编写新的测试用例,尽可能多地覆盖那些尚未被涵 盖的有效等价类,直到所有等价类都被测试用例所 覆盖; n编写新的用例,覆盖一个且仅一个尚未被覆盖的无 效等价类,直到所有无效等价类都被测试用例所覆 盖。 4.2.1 等价划分 设计测试用例 p例:某报表处理系统要求用户输入处理报表的 日期,日期限制在2003年1月至2008年12月, 即系统只能对该段期间内的报

8、表进行处理,如 日期不在此范围内,则显示输入错误信息。 要求:系统日期由年、月的6位数字字符组成 ,前四位代表年,后两位代表月。 p问题:如何用等价类划分法设计测试用例,来 测试程序的日期检查功能? 4.2.1 等价划分 一个范例 p等价类划分 4.2.1 等价划分 一个范例 输入条件有效等价类无效等价类 报表日期的 类型及长度 6位数字字符(1) 有非数字字符 (4) 少于6个数字字符 (5) 多于6个数字字符 (6) 年份范围在20032008之间 (2) 小于2003 (7) 大于2008 (8) 月份范围在112之间(3) 小于1 (9) 大于12 (10) p为有效的等价类设计一个测

9、试用例 n对表中编号为1,2,3的3个有效等价类用一个测试用 例覆盖: 4.2.1 等价划分 一个范例 测试数据期望结果覆盖范围 200306输入有效等价类(1)(2)(3) (1) 6位数字字符 (2) 年在20032008之间 (3) 月在112之间 p每一个无效的等价类至少设计一个测试用例 4.2.1 等价划分 一个范例 测试数据期望结果覆盖范围 003MAY输入无效等价类(4) 20035输入无效等价类(5) 2003005输入无效等价类(6) 200105输入无效等价类(7) 200905输入无效等价类(8) 200300输入无效等价类(9) 200313输入无效等价类(10) p等

10、价划分虽然优于随机选取用例,但不足之处在于忽略了 某些特定类型的高效测试用例 p经验证明,考虑了边界条件的测试用例与其他测试用例相 比,具有更高的测试回报率 n 边界条件:输入和输出等价类中那些恰好处于边界、或超过边界、 或在边界以下的状态P4849 p边界值分析与等价划分的不同 n 边界值分析需要选取一个或多个元素(而不是选任一个代表元素) ,以便等价类的每个边界都经过一次测试 n 边界值分析不仅关注输入条件,还考虑从输出等价类设计测试用例 4.2.2 边界值分析 p边界值分析的通用指南 1.输入条件规定了一个输入值范围:针对范围的边界设 计测试用例,针对刚刚越界的情况设计无效测试用例 2.

11、输入条件规定了输入值的数量:针对最小数量、最大数 量、最小数量少一、最大数量多一的情况设计测试用例 3.对每个输出条件应用1;是否产生超过输出范围的结果 4.对每个输出条件应用2; 5.如果程序的输入或输出是一个有序序列,则应该特别注 意序列的第一个和最后一个元素 6.边界值分析是具有创造性的方法,发挥聪明才智找出其 他的边界条件 4.2.2 边界值分析 p次边界值(内部边界条件) n 普通的边界值在软件产品说明书或者在软件的使用过程中容易发 现。而有些边界值在软件内部,最终用户几乎看不到,但是软件 测试仍有必要检查,称为次边界条件,如数据的表示范围的边 界。 p默认、空白、空值、零值和无 n

12、 当软件要求输入时,根本没有输入任何内容,通常用默认值处理 ,或提示错误信息 n 这些值与合法值和非法值都不同,应对它们建立单独的等价区间 p无效数据非法、错误、不正确和垃圾数据 n 这些数据是失败测试的对象,没有实际的测试规则。 4.2.2 边界值分析 其他特殊测试数据 4.2.2 边界值分析 “报表日期”测试用例 输入条件测试用例说明测试数据期望结果选取理由 报表日 期类型 及长度 1个数字字符5显示出错仅有1个合法字符 6个数字字符200305输入有效类型及长度均有效 5个数字字符20035显示出错比有效长度少1 7个数字字符2003005显示出错比有效长度多1 有1个非数字字符 200

13、3.5显示出错 只有1个非法字符 全是非数字字符MAY-显示出错6个非法字符 年份范围年份为2003年 200305输入有效最小年份 年份为2008年200805输入有效最大年份 年份为2002年200205显示出错刚好小于最小年份 年份位2009年200905显示出错刚好大于最大年份 月份范围月份为1月200301输入有效最小月份 月份为12月200312输入有效最大月份 月份为0200300显示出错刚好小于最小月份 月份为13200313显示出错刚好大于最大月份 p边界值分析和等价划分的弱点是没有对输入条件的 组合进行分析 p判定表适合描述不同输入条件的组合,被测软件有 以下特征时可以使用

14、判定表 n 输入变量之间存在逻辑关系 n 输入与输出之间存在因果关系 p判定表的结构 n 条件部分(输入):列出条件和条件的组合,条件是根据输入 和环境因素归结为真或假的判定变量。 n 动作部分(输出):列出了相应的条件组合下产生的响应。 4.2.3 判定表 p构造判定表 n 确定判定变量输入 n 确定要选择或控制的结果动作输出 n 确定对特定的条件组合将产生哪些动作规则 n个条件的判定表,理论上规则共有2n条,但是因为 存在无关条件和不可能发生的条件,判定表的实际 大小通常比理论上小。 p从判定表得到测试用例 n 规则中的条件部分对应输入,动作部分对应预计输出 4.2.3 判定表 p三角形问

15、题的判定表(假设a,b,c都是范围 内正数) 4.2.3 判定表 举例 p从判定表得到的测试用例 4.2.3 判定表 举例 p特点 n与判定表一样,因果图考虑了输入的组合,有助于用 一种系统的方法选择出高效的测试用例集 n因果图还可以指出规格说明的不完整性和不明确之处 n不能生成全部应该被确定的有效测试用例,没有充分 考虑边界条件,因此在由因果图生成测试用例时,可 以一并考虑边界条件分析 n因果图转换为判定表的过程比较复杂,可以借助自动 化的工具 4.2.4 因果图 p因果图不善于处理较大的规格说明。 p确定规格说明中的因果关系,并对每个因果编号 n因:一个明确的输入条件或输入条件的等价类 n

16、果:一个输出条件或系统转换 p分析规格说明的语义内容,并将其转换为连接因果关系的布 尔图,即因果图 p给图加上注解符号,即约束符号(某些原因/结果的组合在现 实中不可能存在,需要对此进行说明) p仔细跟踪图中的状态变化情况,将因果图转换为一个有限项 的判定表,表中的每一列代表一个测试用例 p将判定表中的列转换成测试用例 4.2.4 因果图 生成测试用例 p基本符号 nidentity, NOT, AND, OR(图4-5 p36) n例子 (图4-6 p36) p约束符号 nE约束(不同时为真),I约束(不能同时为零), O约束(有且仅有一个为真),R约束(输入a为1b 必为1)(图4-8 p37) nM约束(图4-9 p38) l建立结果之间的约束关系(结果a为0b必为0) 4.2.4 因果图 常用符号 4.2.4 因果图 常用符号 4.2.4 因果图 常用符号 p处理单价为5角钱的饮料自动售货机软件的规 格说明:若投入5角或1元

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号