《软件测试技术案例教程》由会员分享,可在线阅读,更多相关《软件测试技术案例教程(126页珍藏版)》请在金锄头文库上搜索。
1、软件测试技术案例教程 2 125 第4章黑盒测试 2 等价类测试 3 边界值分析法 4 决策表 1 黑盒测试概念 5 因果图 6 软件自动化测试 3 125 黑盒测试的概念 黑盒测试 Black boxTesting 又叫功能测试 行为测试 数据驱动测试或基于规格说明的测试 4 125 黑盒测试的概念 主要是根据功能需求来测试程序是否按照预期工作 基本观点是 任何程序都可以看做从输入定义域到输出值域的映射 5 125 黑盒测试的概念 黑盒测试所使用的信息 软件规格说明书 黑盒测试的目标 黒盒测试试图发现以下类型的错误 功能错误或遗漏 界面错误 不美观 外部信息访问错误 性能错误 初始化和终止错
2、误在接口上 能否正确地接受输入数据 能否产生正确地输出信息 6 125 黑盒测试的概念 黑盒测试的难点 黒盒测试的难点在于如何构造有效的输入 由于输入空间通常是无限的 穷举测试显然行不通 寻找最小最重要的用例集合以精简测试复杂性 黑盒测试的测试用例设计方法等价类划分边界值分析基于决策表的测试因果图错误推测 7 125 第4章黑盒测试 2 等价类测试 3 边界值分析法 4 决策表 1 黑盒测试概念 5 因果图 6 软件自动化测试 8 125 等价类测试 测试的矛盾为保证软件产品的质量 我们需要进行完备 彻底 的测试 但这是不现实的 因为 输入量太大输出结果太多软件实现途径太多 等价类方法可令测试
3、事半功倍 9 125 等价类测试 等价类划分法是一种典型的黑盒测试方法 它完全不考虑程序的内部结构 只根据程序规格说明书对输入范围进行划分 把所有可能的输入数据划分成若干个互不相交的子集 称为等价类 主要目的 在有限的测试资源下 用少量有代表性的数据得到比较好的测试结果等价格的划分 有效等价类和无效等价类 有效等价类是指对于规格说明来说是合理的 有意义的输入数据构成的集合 无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合 10 125 等价类测试 划分等价类的标准如果输入条件规定了取值范围或值的个数就可确定一个有效等价类和两个无效等价类 如 输入学生成绩 范围是0到100
4、有效等价类对于程序的规格说明来说 是合理的 有意义的输入数据所构成的集合 无效等价类对于程序的规格说明来说 是不合理的 没有意义的输入数据所构成的集合 11 125 等价类测试 划分等价类的标准输入条件规定了输入值的集合或是规定了 必须如何 的条件 则可确定一个有效等价类和一个无效等价类 如 标识符以字母开头 12 125 等价类测试 划分等价类的标准如果输入条件是一个布尔量 则可以确立一个有效等价类和一个无效等价类 如 True或False 13 125 等价类测试 划分等价类的标准如果规定了输入数据的一组值 且程序要对每一个输入值分别进行处理 要对每一个规定的输入值确立一个有效等价类 而对
5、于这组值之外的所有值确立一个无效等价类 如 输入条件说明学历可为 专科 本科 硕士 博士四种之一 其余皆为作为无效等价类 14 125 等价类测试 划分等价类的标准如果规定了输入数据必须遵循的规则 可确定一个有效等价类和若干个无效等价类 从不同角度违反规则 如 用户名必须是字母 15 125 等价类测试 划分等价类的标准如已划分的等价类各元素在程序中的处理方式不同 则应将此等价类进一步划分成更小的等价类 如 输入三条边 判断三角形的形状 16 125 等价类测试 用等价类设计测试用例划分等价类后 形成等价类表设计一新的测试用例 使其尽可能多地覆盖尚未覆盖的有效等价类 重复这一步骤 直到所有的有
6、效等价类都被覆盖为止 设计一新测试用例 使其只覆盖一个无效等价类 重复这一步骤直到所有无效等价类均被覆盖 17 125 等价类测试 等价类测试的假设 测试某等价类的代表值 就等效于对这个等价类中其他值的测试 等价类测试的思想 把全部的输入数据划分成若干个等价类 在每一个等价类中取一个数据来进行测试 18 125 等价类测试 电话号码城市的电话号码由两部分组成 地区码 以0开头的3位或4位数字 包括0 电话号码 以非0 非1开头的7位或8位数字 1 等价类划分并编号 19 125 等价类测试 2 为有效等价类设计测试用例 20 125 等价类测试 2 为每一个无效等价类至少设计测试用例 21 1
7、25 艾斯医药商务系统黑盒测试案例 注册页面 22 125 艾斯医药商务系统黑盒测试案例 注册页面 23 125 艾斯医药商务系统黑盒测试案例 注册页面 24 125 第4章黑盒测试 2 等价类测试 3 边界值分析法 4 决策表 1 黑盒测试概念 5 因果图 6 软件自动化测试 25 125 边界值分析法 边界值分析 BoundaryValueAnalysis 边界值分析就是对输入或输出的边界值进行测试的一种黑盒测试方法 基本原理确定边界情况 通常输入或输出等价类的边界就是应该着重测试的边界值情况 选取正好等于 刚刚大于或刚刚小于边界值作为测试数据 而不是选取等价类中典型值或任意值 缺陷遗漏在
8、角落里 聚集在边界上 26 125 边界值分析法 边界条件在给定条件C下 软件执行一种操作 对给定任意小的 在条件C 或C 时会执行另外的操作 则条件C就是一种操作的边界 对16 bit的整数而言32767和 32768是边界屏幕上光标在最左上 最右下位置报表的第一行和最后一行数组元素的第一个和最后一个C语言中 intA 10 A 0 A 9 循环的第0次 第1次和倒数第2次 最后一次 27 125 边界值分析法 边界条件取值原则如果输入条件规定了值的范围 则应取刚达到这个范围的边界值以及刚超过这个范围边界的值作为测试数据 如果输入条件规定了值的个数 则用最大个数 最小个数和比最大个数多1个
9、比最小个数少1个的数作为测试数据 根据程序规格说明的每个输出条件 使用原则 1 根据程序规格说明的每个输出条件 使用原则 2 如果程序的规格说明给出的输入域或输出域是有序集合 则应选取集合中的第一个和最后一个元素作为测试用例如果程序中使用了一个内部数据结构 则应当选择这个内部数据结构的边界上的值作为测试用例分析程序规格说明书 找出其它可能的边界条件 28 125 边界值分析法 边界值分析测试边界值分析法利用输入量的最小值 略高于最小值 正常值 略低于最大值和最大值处取输入变量值表示方法min min nom max 和max设计测试用例 并对程序中的每个变量重复这样的取值来设计测试用例 例如
10、涉及两个变量的函数x1 x2x1的取值x1min x1min x1nom x1max x1maxX2的取值x2min x2min x2nom x2max x2max 对于一个含有n个输入变量的程序 采用边界值分析法测试程序会产生4n 1个测试用例 29 125 边界值分析法 两个变量函数的边界值分析测试用例 X2 30 125 边界值分析法 健壮性边界值测试健壮性测试是作为边界值分析的一个简单的扩充 它除了对变量的5个边界值分析取值外 还需要增加略大于最大值以及略小于最小值的取值 检查超过极限值时系统的情况 因此对于有n个变量的函数采用健壮性测试需要6n 1个测试用例 31 125 边界值分析
11、法 X2 两个变量函数的健壮性测试用例 32 125 边界值分析法 最坏情况测试关心当多个变量取极值时会出现的情况 在最坏的情况中 对每一个输入变量首先获取包括最小值 略大于最小值 正常值 略小于最大值和最大值的一个元素结合的测试 然后对这些集合进行笛卡尔积计算 以生成测试用例 一个变量个数为n的函数的最坏情况测试会产生5n个测试用例 33 125 边界值分析法 两变量函数的最坏情况测试用例 X2 34 125 边界值分析法 边界值分析法的测试运用 三角形问题的边界值分析测试用例设计 35 125 艾斯医药商务系统黑盒测试案例 注册页面 36 125 艾斯医药商务系统黑盒测试案例 注册页面 在
12、边界值的测试中 可以选取三组数据用例XDL 01和XDL 02测试的是边界值的界点 XDL 03和XDL 04测试的是边界值的外点 XDL 05和XDL 06测试的是边界值的内点 37 125 边界值分析法 边界值分析优缺点优点 简便易行 生成测试数据的成本很低 局限性 测试用例不充分 不能发现测试变量之间的依赖关系 不考虑含义和性质 结论 只能作为初步测试用例使用 38 125 第4章黑盒测试 2 等价类测试 3 边界值分析法 4 决策表 1 黑盒测试概念 5 因果图 6 软件自动化测试 39 125 决策表 特点 在所有的黑盒测试中 基于决策表的测试是最严格 最具有逻辑性的测试方法 是黑盒
13、测试成本最高的一个 什么是决策表 决策表也称判定表 是分析和表达多逻辑条件下执行不同操作的情况的工具 决策表能够将复杂的问题按照各种可能的情况全部列举出来 简明并避免遗漏 设计出完整的测试用例集合 决策表特别适合应用于当有很多的输入输出时 并且输入和输出之间互相制约的条件比较多的情况 40 125 决策表 41 125 决策表 决策表的组成 条件桩 ConditionStub 列出问题的所有条件动作桩 ActionStub 列出可能采取的操作条件项 ConditionEntity 列出条件桩的取值动作项 ActionEntity 列出条件项各种取值下应该采取的动作 任何一个条件组合的特定取值及
14、其相应要执行的操作称为规则 在决策表中贯穿条件项和动作项的一列就是一条规则 42 125 决策表 规则合并 规则合并就是决策表的简化 有两条或多条规则具有相同的动作 并且其条件项之间存在着极为相似的关系 就可以将规则合并 1 两条规则合并成一条 条件项 表示与取值无关 43 125 决策表 2 两条规则的进一步合并 条件项 在逻辑上包含其它的条件 44 125 决策表 45 125 决策表 46 125 决策表 47 125 决策表 决策表建立步骤 根据软件规格说明 列出所有的条件桩和动作桩 确定规则的个数 假如有n个条件 每个条件有两个取值 0 1 则有2n种规则 填入条件项 填入动作项 得
15、到初始决策表 简化 合并相似规则 相同动作 48 125 决策表 实例讲解 某付款程序实现如下功能 普通顾客一次购物累计少于100元 不打折 一次购物累计多于或等于100元 打9折 会员顾客按会员价格一次购物累计少于1000元 打8折 一次购物累计等于或多于1000元 打7折 试用决策表法设计其测试用例 49 125 决策表 从该程序的功能可以看出 程序的输出即顾客的应付款由顾客的身份和其购物金额决定 这样我们可以把顾客的身份和其购物金额当作条件桩 把程序的输出当作动作桩 50 125 决策表 规则数 26 太大 规则数 2 3 6 51 125 决策表 52 125 决策表 对每一条规则设计
16、一个测试用例 53 125 决策表 决策表适用范围最严格 最有逻辑性的测试方法如果程序中输入输出比较多 输入和输出之间相互制约的条件比较多 这种情况下使用决策表很适合 如果if then else逻辑很突出 输入变量之间存在逻辑关系 涉及输入变量子集的计算 输入和输出之间存在因果关系决策表的优缺点优点 它能把复杂的问题按各种可能的情况一一列举出来 简明而易于理解 也可避免遗漏 缺点 不能表达重复的执行动作 例如循环结构 54 125 第4章黑盒测试 2 等价类测试 3 边界值分析法 4 决策表 1 黑盒测试概念 5 因果图 6 软件自动化测试 55 125 因果图 因果图 Cause EffectGraphics 分析方法因果图分析法最终生成的是判定表 适合于检查程序输入条件的各种组合情况 因果图分析依据需求规格说明中的因果关系作用能够按一定步骤 高效率地选择测试用例指出程序规约描述中存在着的问题 56 125 因果图 57 125 因果图 因果图的基本符号 58 125 因果图 因果图的基本符号 59 125 因果图 输入条件的约束 60 125 因果图 61 125 因果图 62