黑盒测试用例设计方法PPT课件_第1页
黑盒测试用例设计方法PPT课件_第2页
黑盒测试用例设计方法PPT课件_第3页
黑盒测试用例设计方法PPT课件_第4页
黑盒测试用例设计方法PPT课件_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

1 第二章黑盒测试用例设计方法 2 本章内容 讨论常用的黑盒测试用例设计方法 包括等价类划分边界值测试决策表场景法正交实验法综合运用黑盒用例设计方法 3 测试用例概念 使用测试用例的原因测试用例的要素测试用例是针对被测试项的测试输入 执行条件和预期结果的集合测试用例的重要性 4 黑盒测试 把系统看成一个不透明的黑匣 在完全不考虑系统内部结构和处理过程的情况下验证系统是否达到用户需求 不考虑系统或者组件的内部细节 只关注在选择的输入和相应的执行条件下所产生的输出结果功能测试 数据驱动测试基于规格说明的测试等 5 黑盒测试的优势 以用户 调用者 立场进行的测试不受开发团队思维定势影响对测试人员的计算机专业水平要求相对较低相对白盒测试 结果直观 便于衡量方便将测试外包给第三方 而不必将源代码也共享给对方 6 黑盒测试的劣势 测试用例可能是无穷多的测试用例在理论上虽然不是无穷多 但是数量过大 无法在合理时间内执行所有测试用例复现缺陷难查找原因难成本 代价高效费比低 7 等价类划分 等价类划分 EquivalentClass定义 把程序的输入域和输出域划分成若干部分 子集 然后从每个部分中选取少数代表性数据作为测试用例每一类的代表性数据在测试中的作用等价于这一类中的其他值等价类是指某个输入域的子集合 在该子集合中 各个输入数据对于揭露程序中的错误都是等效的 测试某等价类的代表值就等价于对这一类其它值的测试 8 等价类的类型 有效等价类对规格说明 Spec 而言 有意义 合理的输入 输出数据组成的所有集合根据规格说明 Spec 检查是否所有有效等价类都被实现无效等价类对规格说明 Spec 而言 无意义 不合理的输入 输出数据组成的所有集合根据规格说明 Spec 检查是否所有无效等价类都被很好处理 没有不合理的行为 9 如何划分等价类 根据规格说明 Spec 的定义 对输入和输出条件进行分析 划分等价类根据计算机基础知识 对输入和输出条件进行分析 划分等价类对每个等价类都要进行编号 10 课堂练习 讨论 针对Windows自带的计算器的加法功能进行测试 仅限两个数相加请特别注意按输出域划分等价类 11 解析 当输出结果如果大于整数 Windows计算器采用的是int64 的上限 Hex7FFFFFFFFFFFFFFF 会产生整数溢出 首位从0变成1标识这个整数为负数小结 除规格说明 Spec 定义对输入条件还要根据实际情况划分等价类作为一名优秀的测试工程师 既要理解用户需求 又要有扎实的计算机技术基本知识 12 确定测试用例 步骤划分等价类为每一个有效等价类和无效等价类规定一个唯一的编号设计一个测试用例 使其尽可能多地覆盖尚未覆盖的有效等价类 重复这一步直到所有有效等价类均被测试用例所覆盖设计一个测试用例 使其只覆盖一个无效等价类 重复这一步 直到所有无效等价类均被覆盖表示法使用下面的表格有利于确定测试用例 13 等价类划分法测试案例 在某网站申请免费信箱时 要求用户必须输入用户名 密码及确认密码 对每一项输入条件的要求如下 用户名要求为4位以上 16位以下 使用英文字母 数字 并且首字符必须为字母或数字 密码要求为6 16位之间 只能使用英文字母 数字以及 并且区分大小写 分析如下 分析程序的规格说明 列出等价类表 包括有效等价类和无效等价类 如表3 5所示 14 15 16 17 18 边界值分析 边界值分析 BoundaryAnalysis对等价类之间的边界值及其附近的值进行的测试的方法同时对输入和输出条件边界进行测试是对等价类划分方法的补充 19 基本边界值分析 简单的边界分析产生6n 1测试用例Min 1 min min 1 nom max 1 max max 1 19 max min min max X Y 20 边界值分析测试的意义 经验证明大量的程序错误是发生在输入或输出范围的边界上 而不是发生在输入输出范围的内部 因此针对各种边界情况设计测试用例 可以查出更多的错误 21 课堂练习一 以所在的教室为例 分析教室的边界值有哪些 22 边界值测试案例 某程序要求输入三个整数x y z 分别作为长方体的长 宽 高 x y z的取值范围在2 20之间 计算长方体的体积 表3 10给出了健壮性边界值分析测试用例 23 24 课堂练习二 NextDate函数实现了一个简单的功能 输入一个年月日 输出第二天的年月日请讨论等价类和边界值 25 决策表法 在一个程序中 如果输入输出比较多 输入之间 输出之间相互制约的条件比较多 在这种情况下使用决策表更合适 它可以清楚地表达它们之间的各种复杂关系 决策表法是黑盒测试方法中最为严格 最具有逻辑性的测试方法 26 决策表法 决策表 27 决策表法 决策表通常由四部分组成 条件桩 动作桩 条件项 动作项 规则 28 条件桩 列出问题的所有条件条件项 针对条件桩给出的条件列出所有可能的取值动作桩 给出问题规定的可能采取的操作动作项 与条件项紧密相关 指出在条件项的各组取值情况下应采取的动作项中的每一列是一条规则 29 决策表法 规则指示在规则的条件部分中指示的条件环境下要采取什么行动 在上图的决策表中 如果条件1条件2为真 而条件3条件4为假 那么采取行动3 规则1中的条件1 2 3称为 不关心 条目 不关心条目解释有两种 条件无关或条件不适用 30 决策表的化简 有n个条件的决策表 对应的规则将有2n条 当n非常大的时候 这是非常繁琐的 因此 应对决策表进行化简 决策表的化简包括两个方面 31 决策表的化简 1 合并如果一个条件项 表中某列中的条件值 和另外一个条件项所产生的动作是相同的 且两个条件项对应的每一行的值只有一个是不同的 则可以将其合并 合并的项除了不同值变成 不关心 条目外 其余不变 32 决策表的化简 2 包含如果两个条件项的动作是相同的 对任意条件1的值和条件2中对应的值 如果满足 A 如果条件1的值是T F 则条件2中的值也是T F B 如果条件1的值是 不关心 则条件2中的值是T F 称条件1包含条件2 条件2可以撤去 重复A B就可以得到精简的决策表 33 决策表的化简 8F TF 34 决策表法 构造决策表的步骤 1 确定规则的个数 2 列出所有的条件桩和动作桩 3 填入输入项 4 填入动作项 得到初始的决策表 5 对初始的决策表化简 35 决策表法 三角形问题的决策表用例设计 该条件可以扩展成 a b cb c ac a b 36 决策表法 三角形问题的扩展决策表 条件 a b c是否可以构成三角形 37 根据决策表测试用例 38 决策表法 涉及的操作 a1 不可能a2 day加1a3 day复位a4 month加1a5 month复位a6 year加1 39 决策表法 根据如下等价类 M1 月 月有30天 M2 月 月有31天 12月除外 M3 月 月有12月 M4 月 月是2月 40 D1 day 1 day 27 D2 day day 28 D3 day day 29 D4 day day 30 D5 day day 31 Y1 year year是闰年 Y2 year year不是闰年 41 决策表法 建立条件 c1 month在Mi中 如M1 M2 c2 day在Di中c3 year在Yi中 42 决策表法 43 决策表法 44 决策表法 化简决策表 45 46 根据决策表设计测试用例 47 使用用例进行需求建模 利用用例进行需求进行建模的输出物 包括用例模型术语表补充规格说明 48 用例模型 UseCaseModel 用例模型使用用例 UseCase 描述系统功能的模型 包含用例图 UseCaseDiagram 每个用例的规格说明 UsecaseSpecification 49 用例规格说明 用例规格说明是文本描述 利用结构化自然语言 50 事件流 事件流组成基本流 BasicFlow 仅有一个基本流 如图中的白色箭头是经过用例的最简单的路径 指每个步骤都 正常 运作时所发生的事情备选流 AlternativeFlow 可以有多个 描述基本流步骤可选的或备选的情况异常事件流程 事件流的结构 51 场景 定义场景是事件流的一个实例 由基本流或基本流和备选流中的步骤组成 表明了用户执行系统的操作序列 52 从事件流到场景 从事件流到场景场景可以遍历所有从用例开始到结束的包含基本流和备选流的路径场景1 基本流 场景2 基本流 备选流1 场景3 基本流 备选流1 备选流2 场景4 基本流 备选流3 场景5 基本流 备选流3 备选流1 场景6 基本流 备选流3 备选流1 备选流2 场景7 基本流 备选流4 场景8 基本流 备选流3 备选流4 注 为简单起见 场景5 6和8只考虑了备选流3循环执行一次的情况 某用例的基本流和备选流 53 场景法 测试思想根据需求规格说明书中的用例所包含的事件流信息构造场景并设计相应的测试用例使每个场景至少发生一次 Generatingtestcasesfromusecases byJimHeumann 54 案例 课程注册用例的事件流基本流的描述P59备选流的描述P60 课程注册系统 55 构造场景 步骤根据事件流描述 构造事件流图根据事件流图 构造场景覆盖从用例开始到结束的路径 56 构造场景 场景 部分 场景1 成功的注册 基本流场景2 学生无法识别 基本流 备选流1场景3 用户退出 基本流 备选流2场景4 选课不成功 基本流 备选流3场景5 课程目录系统不可用 基本流 备选流4场景6 课程注册已经结束 基本流 备选流5 57 设计测试用例 步骤 确定执行用例场景所需的数据元素构造矩阵确定列内容 除了需要包含执行场景所需的数据元素 还需要包含测试用例标识 被测场景标识或名称确定行内容 根据每一场景 确定与其相关的测试用例输入项 在设计时 须保证每个场景至少包含一个正面测试用例一个负面测试用例根据被测场景特征 补充相应测试用例 58 设计测试用例 对于课程注册用例 确定其列内容为 确定行内容V表示这个条件必须是有效的才可执行基本流 I表示条件无效 n a表示这个条件不适用于测试用例 59 填入测试数据 步骤根据设计的矩阵结果 选择相应的测试数据 60 组合分析 进行两两参数值组合的测试也被称为参数组合测试或两两测试基于错误模型值的相互组合是缺陷的最主要来源绝大多数缺陷都来源于结对参数的组合由三个或者多个参与的组合而导致的缺陷的情况不多 61 组合分析实例 安排你的软件在不同硬件平台OS上测试 OS WindowsXP WindowsServer2003平台 X86 X64 IA64列出所有可能的参数组合 测试用例 62 组合分类的注意事项 不能有遗漏 参数 参数可能的值 避免逻辑或者物理上不可能的组合如何提高效率 合并等效组合对所有待测组合排定优先级对软件内部工作原理的了解 有助于合并等效组合 排定优先级 63 案例 组合爆炸 安装升级测试MyApp2 0操作系统 Win2000 WinXP Win2003Svr VistaIE IE8 IE7 IE6 IE5语言 English German Japanese CHS CHNCLR installed notinstalledMyApp1 0 已安装 未安装4 5 3 2 2 240可能的组合测试问题 如果每个测试用一个小时 那就需要1周才能完成所有测试你能想到一个最好的代表组合吗 63 64 利用组合分析来设计测试用例时 关系非常庞大 导致利用得到的测试用例数目多得惊人 给软件测试带来沉重的负担 为了有效的 合理地减少测试的工时与费用 可利用正交试验法进行测试用例的设计 正交实验法 65 应用 在测试中 特别是互联网应用 我们无法规定用户的环境 分布在世界各地的用户 其使用的环境是各种各样的 例如 操作系统 WindowsVista WindowsXPHome WindowsXPprofessional Windows2000pro Windows2000server WindowsNT Windows98 Linux Solaris9 Solaris10 MacOS9 MacOSX浏览器 IE6 0 IE7 0 FireFox1 5 FireFox2 0 Mozilla1 7 Mozilla1 4 Safari1 3 Safari2 0 NS8 1代理服务器 防火墙 ISA2000 ISA2004 BlueCoast CiscoPIX Linuxsquid Checkpoint 防火墙验证方式 无口令 口令 Script 传输协议 TCP HTTP SSL 66 如果用一个完全的组合 将是爆炸性的组合 测试工作量将非常大 比如产品的功能测试用例为1000个 其完全组合数是 12x9x6x3x3x3x6x4 419904操作系统 12浏览器 9代理服务器 防火墙 6防火墙验证方式 3传输协议 3客户端版本 3第3方产品集成 LotusNotes 6本地化语言 选4种 英文 EL 中文繁体 B5 日文 JP 德文 GE 419904 1000 4亿多测试用例 67 正交试验设计方法 正交试验设计方法是从大量的试验数据中挑选适量的 有代表性的点 从而合理地安排测试的一种科学的试验设计方法使用已经造好了的表格 正交表来安排试验并进行数据分析 68 案例分析 为提高某化工产品的转化率 选择了三个有关因素进行条件试验 反应温度 A 反应时间 B 用碱量 C 并确定了它们的试验范围如下 A 80 90 B 90分钟 150分钟C 5 7 试验目的是搞清楚因子A B C对转化率有什么影响 哪些是主要的 哪些是次要的 从而确定最适生产条件 即温度 时间及用碱量各为多少才能使转化率最高 69 在试验范围内都选了三个水平 即各因素的不同状态 如下所示 A A1 80 A2 85 A3 90 B B1 90分钟 B2 120分钟 B3 150分钟 C C1 5 C2 6 C3 7 70 全面试验法 取三因子所有水平之间的组合 即A1B1C1 A1B1C2 A1B1C3 A3B3C3 共有33 27次试验 用左图表示立方体的27个节点 71 全面实验法 全面试验法对各因子与指标间的关系剖析的比较清楚 但试验次数太多 特别是当因子数目多 每个因子的水平数目也很多时 试验量非常大 如选6个因子 每个因子取5个水平时 全面试验法需56 15625次试验 这实际上是不可能实现的 如果应用下面的方法 则只需做25次试验就行了 而且在某种意义上讲 这25次试验就代表了15625次试验 72 正交试验法 9个平面中每个平面上恰好有3个点 而每个平面的每行每列都有且仅有1个点 总共9个点 这样的试验方案 试验点分布均匀 试验次数也不多 73 正交试验法 当因子数和水平数都不太大时 尚可通过作图的办法来选择分布很均匀的试验点 但是 因子数和水平数多了 作图的方法就不行了 按照正交表来安排试验 既能使试验点分布得很均匀 又能减少试验次数 而且计算分析简单 能够清晰地阐明试验条件与指标之间的关系 74 正交表的概念 什么是因子 因素 Factor 在一项试验中 凡欲考察的变量称为因素 变量 什么是水平 位级 Level 在试验范围内 因素被考察的值称为水平 变量的取值 什么是正交试验设计是研究多因素多水平的一种设计方法 它是根据正交性从全面试验中挑选出部分有代表性的点进行试验 这些有代表性的点具备了 均匀分散 齐整可比 的特点 正交试验设计是一种基于正交表的 高效率 快速 经济的试验设计方法 75 正交表的构成 行数 Runs 正交表中的行的个数 即试验的次数 因素数 Factors 正交表中列的个数 水平数 Levels 任何单个因素能够取得的值的最大个数 正交表中包含的值为从0到 水平数 1 或从1到 水平数 正交表的表示形式 L行数 水平数因素数 76 L8 27 77 正交表的正交性 整齐可比性在同一张正交表中 每个因素的每个水平出现的次数完全相同 由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的 这就保证在各个水平中最大程度的排除了其它因素水平的干扰均衡分散性在同一张正交表中 任意两个因素的水平搭配 横向形成的数字对 是完全相同的 这样就保证了试验条件均衡地分散在因素水平的完全组合中 78 如何查找正交表 TechnicalSupport com 79 用L代表正交表 常用的有L8 27 L9 34 L16 45 L8 4 24 等 L8 27 7表示正交表的列数 2为因子的水平数 8表示正交表的行数 L16 2 37 有7列是3水平的 有1列是2水平的 做16个试验最多可以考察1个2水平的因子和7个3水平的因子 行数 即试验次数 每列水平数 1 1 80 80 L4 23 81 81 L8 27 82 82 L8 2441 83 83 L18 3661 84 84 L12 211 85 85 L16 45 86 用正交表设计测试用例的步骤 有哪些因素 变量 每个因素有哪几个水平 变量的取值 选择一个合适的正交表把变量的值映射到表中把每一行的各因素水平组合做为一个测试用例加上你认为可疑且没有在表中出现的组合 87 如何选择正交表 考虑因素 变量 的个数考虑因素水平 变量的取值 的个数考虑正交表的行数取行数最少的一个 88 设计测试用例时的三种情况 因素数 变量 水平数 变量值 相符水平数 变量的取值 相同 因素数 变量 刚好符合正交表因素数不相同水平数不相同因素 变量 的水平数 变量的取值 不相同 89 1 因素数 水平数相符 假设查询某个人时有三个查询条件 根据姓名进行查询 根据身份证号码查询 根据手机号码查询 有三个因素 姓名 身份证号 手机号码每个因素有两个水平姓名 填 不填身份证号 填 不填手机号码 填 不填 90 选择正交表 表中的因素数 3表中至少有三个因素的水平数 2行数取最少的一个结果 L4 23 91 变量映射 姓名 0 填写 1 不填写身份证号 0 填写 1 不填写手机号码 0 填写 1 不填写 92 测试用例 填写姓名 填写身份证号 填写手机号填写姓名 不填身份证号 不填手机号不填姓名 填写身份证号 不填手机号不填姓名 不填身份证号 填写手机号增补测试用例不填姓名 不填身份证号 不填手机号测试用例减少数 8 5 93 2 因素数不同 水平数 变量的取值 相同但在正交表中找不到相同的因素数 变量 取因素数最接近但略大的实际值的表 94 94 95 3 水平数不相同 Eg 假设有一个系统有5个独立的变量 A B C D E 变量A和B都有两个取值 A1 A2和B1 B2 变量C和D有三个可能的取值 C1 C2 C3和D1 D2 D3 变量E有六个可能的取值 E1E2E3E4E5E6 96 选择正交表 表中的因素数 变量 5表中至少有二个因素的水平数 变量的取值 2 至少有另外二个因素的水平数 3还至少有另外一个因素的水平数 6行数取最少的一个 L49 78 VSL18 3661 结果 L18 3661 97 变量映射 A 0 A1 1 A2B 0 B1 1 B2C 0 C1 1 C2 2 C3D 0 D1 1 D2 3 D3E 0 E1 1 E2 2 E3 3 E4 4 E5 5 E6 98 99 100 101 正交试验法案例 以PowerPoint软件打印功能为例 假设功能描述如下 打印范围 全部 当前幻灯片 给定范围共三种情况 打印内容分 幻灯片 讲义 备注页 大纲视图共四种方式 打印颜色 灰度分 颜色 灰度 黑白共三种方式 打印效果分 幻灯片加框和幻灯片不加框两种方式 102 Step1 构造因子状态表 103 Step2 选择正交表 104 Step3 转换状态 因子表 后略 105 企业或公司内部邮件系统 当在测试写邮件的一些功能时情况如下 收件方 收件人 收件部门 内容标题 可以填写 可以不填写 邮件内容 可以填写 可以不填写 落款人 可以填写 可以不填写 附件 可以添加附件 可以不添加 可供选择的正交表 L4 23 L8 27 L8 2441 L9 34 L12 211 L16 45 L18 3661 L49 78 106 1992年AT T发表了一篇讲述在测试过程中使用正交表一个案例研究 它描述了对PC IBM格式 和StarMail 基于局域网的电子邮件软件 做回归测试 最初制定的测试计划是用18周的的时间执行1500个测试用例 但是 开发推迟了 测试时间被压缩到仅仅8周时间 测试负责人采取另外一个测试方案和计划 即2个人8周的时间测试1000个测试用例 但是他不敢保证测试的质量 对这些用例检测缺陷的能力不放心

温馨提示

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

评论

0/150

提交评论