已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
易禹2020 4 23 软件测试技术 第四讲 动态测试 白盒测试 最基本的白盒测试 插桩法 2 printflogSystem out println在被测程序中插入操作 探测器 实现探查和监控的功能 功能 检查程序的走向 计数 中间变量 基本概念 3 通过运行被测试程序 检查运行结果 分析其性能 组成部分 构造测试用例 运行程序 分析结果 动态测试分类 4 单元测试 对软件的各个模块进行测试 集成测试 检查各单元之间的接口是否正确 非渐增和渐增式测试 组装测试 单元测试的扩展 若干个单元间数据传输测试 确认测试 对组装测试结果的检验 用户参与或主导的测试过程 系统测试 测试系统在真实条件下的运行情况 负载 安全 疲劳等等 验收测试 购买者对软件的测试 手动测试 白盒 测试 5 与 黑盒 测试对应 在熟悉程序内部逻辑和结构设计的基础上进行的测试 测试内容 对程序所有独立执行路径进行一次测试 对所有逻辑判定的两种情形至少测试一次 在循环的边界和运行的边界限内执行循环体 测试内部数据结构的有效性 白盒 测试的目标 6 如果要测试下面的函数 需要构造哪些测试用例 范例程序 行1publicintfunc inta intb intx 行2if a 1 行7 范例程序的流程图 7 逻辑覆盖的原则 8 是指在熟悉程序内部的逻辑结构基础上的测试方法 又可以细分为 语句覆盖保证每一条语句都至少执行一次 路径为ACE的测试用例 例如 a 2 b 0 x 3 逻辑覆盖的原则 9 缺点 覆盖不完整 忽略了IF语句为假的情况 没有测试IF语句的每一个逻辑表达式 白盒 测试之判断覆盖保证每一个分支至少执行一次 如两个测试用例 ACD和ABE 判断覆盖的缺点 覆盖程度不高 白盒 测试之条件覆盖 10 每个条件组合获得各种可能的结果 白盒 测试之条件覆盖 11 如果选用两个测试用例来覆盖 a 2 b 0 x 4 路径 ACE a 1 b 1 x 1 路径 ABD 判断覆盖vs 条件覆盖 12 判断覆盖关心判定表达式的结果 而条件覆盖关心每个表达式的取值 不关心整个判定表达式的最终值 判断覆盖不能涵盖条件覆盖 反之亦然 例如 下面的用例仅满足条件覆盖 不满足判断覆盖 a 2 b 0 x 1 路径 ACE a 1 b 1 x 2 路径 ABE 白盒 测试之其他覆盖 13 判断 条件覆盖 判断中每个条件的所有取值至少执行一次 同时每个判断的所有结果至少执行一次 例如 路径 ACE和ABD就满足判断 条件覆盖 条件组合覆盖 各种条件组合至少出现一次 如判断 a 1 b 0 共有4种组合 路径覆盖 所有可能的路径至少执行一次 范例程序共4条路径 白盒 测试练习 14 请说出下面的程序最少需要几个测试用例以满足判断覆盖和条件组合覆盖 行1publicintfunc inta intb intc 行2if a b 行7 参考答案 15 判断覆盖2条件组合覆盖6 动态测试之路径测试 16 是根据程序逻辑所产生的路径设计测试用例的方法 常用的有 DD Decision To Decision 路径测试 基于路径覆盖的思想 考虑各分支的覆盖情况 压缩串行部分 DD路径测试压缩图 用来反映程序的分支情况 方便进行测试用例设计 DD路径据称可以发现约85 的缺陷 DD路径测试压缩图实例 17 其中 数字表示行号 字母表示压缩合并的节点 基本路径测试 18 现实程序中可能的路径一般是天文数字 解决办法 压缩覆盖的路径数到一定限度内 如语句覆盖 McCabe提出了基本路径测试 保证每条语句至少执行一次 而且判断能取真 假两种值 McCabe圈复杂度V G V G m n 2 其中m 弧数n 节点数 McCabe圈复杂度示例 19 右图的圈复杂度是多少 V G 17 13 2 6 表示有6条独立的路径 独立路径与判定节点 20 独立路径 一条完整的路径 至少包含一条前面路径未包含的边 圈复杂度决定了独立路径的条数 决定独立路径的关键 判定节点 独立路径示例 21 测试用例设计 22 为每一条独立路径设计可强制执行的测试用例 这些测试用例可以保证 语句覆盖 每一条语句都被执行了一次 每个判断条件都分别去过真和假两个值 23 请画出下面程序的流程图 计算圈复杂度和独立路径 并设计测试范例 publicintfunc inta intb 行1intm 1 行2if a b 交换a b的值 保证b a行3m a 行4a b 行5b m 行6while m 0 行7m a b 行8a b 行9b m 行10returna 白盒 测试练习参考答案 24 圈复杂度3 独立路径和测试用例为 1 2 6 10 无 1 2 3 4 5 6 7 8 9 10 a 8 b 24 1 2 6 7 8 9 10 a 3 b 2 白盒测试应用策略 25 一般策略 先静态后动态 覆盖率测试一般使用基本路径测试 重点模块可应用多种覆盖率标准 单元测试以代码检查 逻辑覆盖为主 集成测试再增加静态结构分析 系统测试中黑盒和白盒测试相结合 覆盖测试工具EclEmma 26 Eclipsecommunityawards2008 免费 开源的Eclipse插件 EclEmma工作模式 通过颜色标记代码在运行代码中的语句的覆盖情
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论