白盒测试总结

  在上一篇博客中,我对黑盒测试以及黑盒测试的常用方法做了部分总结,这这一章中,我将对白盒测试做一定的归纳。

  白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。“白盒”,即软件、程序内部结构对于测试人员来说是透明的,相对与对程序完全不透明的黑盒测试,白盒测试可以清楚的知道程序的运行情况,对程序内部的逻辑,路径有全面的了解。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

  白盒测试的方法总体上来说分为两大类,即静态方法与动态方法。静态方法指的是软件的测试并不经过实际的执行,测试人员采用人工模拟的方式对软件进行测试。而对于动态方法,则要求测试人员实现按照一定的测试需求来规定测试用例,通过动态的运行软件,来发现软件的错误。

  下面介绍几个主要的白盒测试方法,从覆盖率强度由强到弱的排列,为:条件组合测试,条件决定测试,判定条件测试,路径测试,条件测试,判定测试,语句测试

  ● 语句测试,指的是设计若干测试用例来执行程序代码中的语句。语句覆盖指的是被执行的语句数与所有可能的语句数之间的比值,例如:有些项目要求程序代码达到100%的语句覆盖。

  ● 判定测试是一种针对判定结果设计测试用例的技术。判定覆盖指的是执行测试套件能够覆盖的判定结果的百分比,即被执行的判定和总的判定的比值。在低级别的测试中,判定覆盖常常可以作为出口准则之一,例如:测试出口准则可以要求测试对象达到100%的判定覆盖。100%的判定覆盖可以保证100%的语句覆盖。

  ● 条件测试指的是设计若干测试用例来执行不同的条件结果。条件覆盖指的是执行测试套件能够覆盖到原子条件的百分比,即被执行的原子条件和总的原子条件的比值。100%的条件覆盖要求测试覆盖到每一个原子条件语句分别取值为真和假的情况。需要注意的是,条件覆盖并不比判定覆盖更强。

  ● 判定条件测试指的是设计若干测试用例来执行条件结果和判定结果。判定条件覆盖指的是执行测试用例套件能够覆盖的条件结果和判定结果的百分比。100%的判定条件覆盖意味着100%的判定覆盖和100%的条件覆盖。

  ● 条件决定测试是对能够独立影响判定结果的单独条件的测试(测试对象中的每个条件必须产生所有可能的输出结果至少一次,并且每个判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,就可以使判定结果发生改变)。条件决定覆盖指的是执行测试套件覆盖到的能够独立影响判定结果的单个条件的百分比。100%的条件决定覆盖意味着100%的判定条件覆盖。

  ● 条件组合测试是指设计测试用例覆盖每条语句中的原子条件所有可能的取值结果组合(即每个判定中的所有可能的原子条件取值组合至少执行一次)。条件组合覆盖指的是测试套件覆盖每条语句内的所有原子条件取值结果组合的百分比。100%条件组合覆盖意味着100%条件决定覆盖。

  ● 路径测试是指设计测试用例用来执行不同的路径。路径覆盖指的是测试套件执行的路径占总的路径的百分比。100%的路径覆盖可以确保100%的语句覆盖和判定覆盖。

原文地址:https://www.cnblogs.com/byzantine/p/4439195.html