中国IT实验室LOGO 首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式 | 存储世界服务器 | 华为 | 网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 活动沙龙 | 论坛
中国IT实验室软件测试频道
首页 资讯动态 测试技术 测试工具 行业软件测试 测试管理 测试下载 经验分享 软件质量 其他技术 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】

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

 ·PCB技术专题
 ·PHP之入门到精通
 ·汽车与电子
 ·看思科认证发展未来
 ·GNU详细解析
 ·Android平台开发指南
 ·职业规划从高考专业选择开始
 ·从菜鸟到专家 cisco认证系列问答
 ·Java EE 6规范中文版
 ·Oracle 10g OCP考证秘笈
 最近更新
 敏捷测试的思考和新发展
 测试用例的重要性及设计方法
 如何调动测试组员的工作积极性
 对测试人员的发展之路的一点思考
 重构代码的7个阶段
 功能测试报告的编写
 表单测试用例归纳与总结
 测试过程控制----如何开展性能测试
 测试用例的复用性的提高
 如何开展多项目测试工作
 博客论点
 频道精选
 敏捷测试的思考和新发展
 测试用例的复用性的提高
 对于测试计划有效性问题的分析
 Web压力测试工具
 从软件测试用例看测试的问题及变化
 谈谈测试用例设计的误区
 软件系统测试用例设计要注意的问题
 软件测试认识的几个误区
 用正交实验法设计测试用例
 从用例到代码:用例分析
 可用性测试(软件/Web)
 软件测试策略
 浅谈软件测试
 网络渗透测试无法告诉你的东西
 软件测试频道导航
测试资讯
测试技术

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