返回顶部

白盒测试及其基本方法

[复制链接]
是是是是是你呀Lv.2 显示全部楼层 发表于 2022-1-10 17:41:50 |阅读模式 打印 上一主题 下一主题
本帖最后由 是是是是是你呀 于 2022-1-10 17:48 编辑

  一、白盒测试

  白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

  二、概述

  白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例的设计方法,盒子对应的是被测试的测试,"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。



  三、基本方法

  强度由低到高:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

  (1)语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。

  (2)判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。

  (3)条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支

  (4)判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。

  (5)条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。

  (6)路径覆盖:是每条可能执行到的路径至少执行一次。

  补充:(1)语句覆盖在所有的测试方法中是一种最弱的覆盖。

  (2)判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖(3)路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。

  四、优缺点

  1、优点

  a:迫使测试人员去仔细思考软件的实现

  b:可以检测代码中的每条分支和路径

  c:揭示隐藏在代码中的错误

  d:对代码的测试比较彻底

  e:最优化

  2、 缺点

  a:代价昂贵

  b:无法检测代码中遗漏的路径和数据敏感性错误

  c:不验证规格的正确性

  五、白盒测试中设计到圈复杂度的计算

  首先要画出控制流图(这里不再加以说明)

  圈复杂度计算公式为:V(G)=e-n+2。其中,e表示控制流图中边的数量,n表示控制流图中节点的数量。

  此外圈复杂度的计算还有更直观的方法,因为圈复杂度所反映的是“判定条件”的数量,所以圈复杂度实际上就是等于判定节点的数量再加上1,也即控制流图的区域数,

  此外对应与控制流图区域数还有一个圈复杂度计算公式:V(G)=区域数=判定节点数+1。其中判定节点是控制流图中出现的判断条件。

  【免责声明】本文系转载,文章来自:CSDN。转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号