首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室软件测试频道
Google
首页 资讯动态 测试技术 测试工具 行业软件测试 测试管理 测试下载 经验分享 软件质量 其他技术 RSS订阅 博客 论坛
您现在的位置: 中国IT实验室 >> 软件测试 >> 测试工具 >> 正文

白盒测试中的六种覆盖方法

  4、判定/条件覆盖

  1)主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

  2)用例设计:

   X  Y  路径
 1  90  90  OAE
 2  50  50  OBDE
 3  90  70  OBCE
 4  70  90  OBCE

  3)优点:判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。

  4)缺点:判定/条件覆盖准则的缺点是未考虑条件的组合情况。

  5、组合覆盖

  1)主要特点:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。

  2)用例设计:

   X  Y  路径
 1  90  90  OAE
 2  90  70  OBCE
 3  90  30  OBDE
 4  70  90  OBCE
 5  30  90  OBDE
 6  70  70  OBDE
 7  50  50  OBDE

  3)优点:多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。更改的判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次。并且每个条件都显示能单独影响判定结果。

  4)缺点:线性地增加了测试用例的数量。

  6、路径覆盖

  1)主要特点:设计足够的测试用例,覆盖程序中所有可能的路径。

  2)用例设计:

   X  Y  路径
 1  90  90  OAE
 2  50  50  OBDE
 3  90  70  OBCE
 4  70  90  OBCE

  3)优点:这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。

  4)缺点:由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些情况下,一些执行路径是不可能被执行的,如:
  If  (!A)B++;
  If  (!A)D--;

  这两个语句实际只包括了2条执行路径,即A为真或假时候对B和D的处理,真或假不可能都存在,而路径覆盖测试则认为是包含了真与假的4条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。

总结

  白盒测试是一种被广泛使用的逻辑测试方法,是由程序内部逻辑驱动的一种单元测试方法。只有对程序内部十分了解才能进行适度有效的白盒测试。但是贯穿在程序内部的逻辑存在着不确定性和无穷性,尤其对于大规模复杂软件。因此我们不能穷举所有的逻辑路径,即使穷举也未必会带来好运(穷举不能查出程序逻辑规则错误,不能查出数据相关错误,不能查出程序遗漏的路径)。

  那么正确使用白盒测试,就要先从代码分析入手,根据不同的代码逻辑规则、语句执行情况,选用适合的覆盖方法。任何一个高效的测试用例,都是针对具体测试场景的。逻辑测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地覆盖每一个逻辑路径。

上一页  [1] [2] [3] 

【责编:Youping】

中国IT教育

相关产品和培训
文章评论
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·巧用网络流量 打造健康内网…
 ·带你领略windows系统“另类”安装
 ·无线路由器设置从入门到精通
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·企业网管如何部署你的网络监控系统?
 ·2008年软考官方指定教材及辅导书下载专题
 ·负载均衡技术方案攻略
 ·中国IT实验室2007年技术热点盘点
 最近更新
 网站测试中如何做好安全性测试
 用Web自动化测试框架WatiN进行TDD
 SQL注入攻击的种类和防范手段
 StressMark压力测试工具
 本地化测试工具HtmlQA的应用
 ClearCase不同流提交同一个文件产生…
 开源自动化测试工具EFT介绍
 Pure Software vs Appliance测试工…
 简介RFT实现 ITCL (或者IBM) 框架…
 测试用例设计技术之一:等价类法
 博客论点
 频道精选
 面向对象方法与软件复用关系
 解析StressMark压力测试工具
 JAVA和.NET两个平台对于安全功能的比较
 IBM推免费办公软件 欲挑战微软霸主地位…
 如何通过时钟精度提高代码性能测试?
 加强运行分析 提高管理水平…
 开源Web自动化测试框架:Watir试用手记
 处理Oracle数据库中的坏块
 以手机用户为中心的客户端软件具发展前…
 成功测试管理的九大原则
 软件质量专家张瑾:软件测试的现状和未…
 软件测试人才稀缺引教育部出招“救人”
 Java程序的单元测试
 关于应用RPT在性能测试的思考
 软件测试频道导航
测试资讯
测试技术

功能测试 | 自动化测试 | 单元测试 |
性能测试 | 安全测试 | Web测试 |
嵌入式测试 | BUG分析与管理 | 回归测试 |
集成测试 | 白盒黑盒测试 | 可靠性测试 |
可用性测试 | 其它相关技术 |
测试工具
Mercury | Rational | LoadRunner |
QTP | Robot | SilkPerformer |
TestDirector | WinRunner | 其它工具 |
测试管理
缺陷管理 | 测试流程管理 | 测试项目管理 |
其它管理 |
软件质量
行业软件测试
手机测试 | 通信设备测试 | 数据库应用测试
测试下载
经验分享