• 白盒测试深度理解


          白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。

           黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

           白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

        软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,

    测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的
    功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
       软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,
    它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
    通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

        白盒测试的优缺点自然也很明显:

     优点:

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

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

    ·揭示隐藏在代码中的错误

    ·对代码的测试比较彻底

    ·最优化

     缺点:

    ·昂贵

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

    ·不验证规格的正确性

     

        介绍六种白盒子测试方法:

    语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

     

    1)所谓语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖率的公式可以表示如下:

     

    语句覆盖率=被评价到的语句数量/可执行的语句总数 x 100%

     

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

     

    [优点]:判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例。

     

    [缺点]:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。

     

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

     

    条件覆盖要检查每个符合谓词的子表达式值为真和假两种情况,要独立衡量每个子表达式的结果,以确保每个子表达式的值为真和假两种情况都被测试到。

     

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

     

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

     

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

     

  • 相关阅读:
    浅析HTT
    html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
    CSS--posiion学习日记
    面向对象程序设计课程感想
    OO第二单元(5-8周)作业总结
    OO第一作业周期(前四周)总结
    OO第三阶段作业总结
    OO第二单元作业总结
    Java学习第一阶段作业总结
    面向对象OO课程学习总结
  • 原文地址:https://www.cnblogs.com/qbcq/p/4423371.html
Copyright © 2020-2023  润新知