白盒测试是一种测试用例设计方法,它可以将测试对象看做为一个透明的盒子,对程序所有逻辑路径进行测试。“白盒”指的是盒子是可视的,我们清楚盒子内部的东西以及它是如何运作的。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方法时,测试人员必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。因为它以程序结构为基础,所以又称之为结构测试。
白盒测试中涵盖六中覆盖标准,分别为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖以及路径测试。这六中覆盖可以统称为逻辑覆盖,逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。以下分别介绍这六中覆盖方式☟☟
▷语句覆盖
语句覆盖就是设计若干个测试用例,运行被测程序,使得每个可执行语句至少执行一次。
▷判定覆盖
判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
▷条件覆盖
条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
▷判定-条件覆盖
判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个的条件的可能取值至少执行一次
▷条件组合覆盖
条件组合覆盖就是设计足够的测试用例,运行被测程序,是的每个判断的所有可能的条件取值组合至少执行一次。
▷路径测试
路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。
☺优点
迫使测试人员仔细思考软件的实现
可以检测代码中的每条分支和路径
揭示隐藏在代码中的错误
对代码的测试比较彻底
☹缺点
昂贵
无法检验代码中遗漏的路径和数据敏感性错误
无法验证规格的正确性