软件测试技术-chap4.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试技术基础 PartⅡ 软件测试方法 第4章 白盒测试技术 本章重点 逻辑覆盖 基路径测试 基于数据流的测试 静态白盒测试 4.1 概述 控制流分析技术 控制流分析主要关注程序中的条件判定节点和循环,关注由此而导致程序的不同走向以及不同的执行路径。 4.1 概述 控制流分析技术 线性结构 基本的条件判断 多分支的条件判断 While-do循环 Do-while循环 4.1 概述 控制流分析考察的角度 条件判定本身的复杂度 条件判定节点与循环节点对执行路径产生的影响 循环本身的复杂度 4.1 概述 数据流分析 主要关注单个变量,特别关注变量接受赋值的点和使用这些数值的点。 主要用于代码的优化。 4.1 概述 静态白盒测试 不需要设计和执行测试用例,它主要是通过小组评审讨论的方式来进行。 优点 直接定位缺陷 缺陷预防 4.2 逻辑覆盖 关注点 条件判定表达式本身的复杂度,通过对程序逻辑结构的遍历来实现程序的覆盖。 遵循的基本测试原则 对程序代码中所有的逻辑值均需要测试真值(True)和假值(False)的情况。 4.2 逻辑覆盖 覆盖指标 语句覆盖(Statement Coverage, SC) 判定覆盖(Decision Coverage, DC) 条件覆盖(Condition Coverage, CC) 判定/条件覆盖(Decision/Condition Coverage, D/CC) 修正的判定/条件覆盖(Modified Decision/Condition Coverage, MD/CC) 条件组合覆盖(Condition Combination Coverage,CCC) 4.2 逻辑覆盖 案例代码 4.2 逻辑覆盖 案例:基本的逻辑判定条件 T1:a 1 T2:b 2 T3:a == 3 T4:x 3 4.2 逻辑覆盖 案例:执行路径 L13:p1?p3 L14:p1?p4 L23:p2?p3 L24:p2?p4 4.2 逻辑覆盖 语句覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 语句覆盖:定义 设计测试用例时应保证程序的每一条可执行语句至少执行一次。 语句覆盖率 语句覆盖率 = 至少被执行一次的语句数量 / 可执行的语句总数 4.2 逻辑覆盖 语句覆盖:测试用例设计 4.2 逻辑覆盖 语句覆盖:测试用例设计 需要注意的问题 逻辑判定条件的“屏蔽”作用 输入条件的测试数据选取 边界值测试 4.2 逻辑覆盖 语句覆盖:测试分析 是最弱的覆盖指标 关注语句而非判定节点 对隐式分支无效 4.2 逻辑覆盖 判定覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 判定覆盖:定义 设计测试用例时应保证程序中每个判定节点的取真和取假分支至少执行一次。 判定覆盖率 判定覆盖率 = 判定结果被评价的次数 / 判定结果的总数 4.2 逻辑覆盖 判定覆盖:测试用例设计 4.2 逻辑覆盖 判定覆盖:测试分析 比语句覆盖增加了几乎一倍的测试路径,测试能力更强。 未深入测试复合判定表达式的细节,仍存在测试漏洞。 4.2 逻辑覆盖 条件覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 条件覆盖:定义 设计测试用例时应保证程序中每个复合判定表达式中,每个简单判定条件的取真和取假情况至少执行一次。 条件覆盖率 条件覆盖率 = 条件操作数值至少被评价一次的数量 / 条件操作数值的总数 4.2 逻辑覆盖 条件覆盖:测试用例设计 4.2 逻辑覆盖 条件覆盖:测试分析 条件覆盖不一定满足判定覆盖 4.2 逻辑覆盖 判定/条件覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 判定/条件覆盖:定义 测试用例的设计应满足判定节点的取真和取假分支至少执行一次,且每个简单判定条件的取真和取假情况也应至少执行一次。 判定条件覆盖率 判定/条件覆盖率 = 条件操作数值或判定结果值至少被评价一次的数量 / (条件操作数值总数 + 判定结果总数) 4.2 逻辑覆盖 判定/条件覆盖:测试分析 4.2 逻辑覆盖 条件组合覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 条件组合覆盖:定义 测试用例的设计应满足每个判定节点中,所有简单判定条件的各种可能取值的组合应至少执行一次。 条件组合覆盖率 条件组合覆盖率 = 条件操作数值至少被评价一次的数量 / 条件操作数值的所有组合总数 4.2 逻辑覆盖 条件组合覆盖:测试用例设计 4.2 逻辑覆盖 条件组合覆盖:测试分析 是较好的覆盖指标。 但当判定表达式较为复杂的时候,条件组合覆盖的测试用例规模相当大。 4.2 逻辑覆盖 修正的判定/条件覆盖 定义 测试用例设计 测试分析 4.2 逻辑覆盖 修正的判定/条件覆盖:定义 判定中的每个条件的所有可能结果至少出现一

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档