zoukankan      html  css  js  c++  java
  • 白盒测试

         白盒测试又称为结构测试,是一种基于代码的测试。它一般用来测试程序的内部结构,并判定其结果是否与预期的结果一致。

         白盒测试,就如同测试是透明的,我们可以清楚地了解到这项目是如何运行的,知道程序的内部逻辑结构,通过测试代码,来对其进行验证。

         白盒测试的方法有很多种,它的特点是依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。所以白盒测试可以检测代码中的每条分支和路径,可以对代码测试的比较彻底。

         白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

         课堂上讲了控制流测试和数据流测试,下面是简单的总结介绍:

         我们首先用有向图来表示程序的整体架构。

           控制流覆盖准则分为四类:

      1.语句覆盖准则(Statement Coverage) 

      2.分支覆盖准则(Branch Coverage 或Decision Coverage) 

      3.谓词测试    

       (1)原子谓词覆盖准则(也称 Condition Coverage)     

       (2)分支-谓词覆盖准则(也称Branch Condition Coverage 或Decision Condition Coverage )    

       (3)复合谓词覆盖准则(也称Multi Condition Coverage) 

      4.路径覆盖准则(Path Coverage)

    1.语句覆盖准则

          是最简单的结构性测试方法之一,它要求测试中,程序中的每条语句都得到运行。控制流图中要求所有语句都被运行的充分必要条件是,覆盖图中的所有节点。

    2.分支覆盖准则

        (1)分支覆盖要求在软件测试中,每个分支都至少获得一次真/假值,即每个分支都经历一次真/假

        (2)分支覆盖的同时,还满足了语句覆盖。

    3.谓词测试    

        (1)原子谓词覆盖准则 

              一个分支的条件是由谓词组成。单个谓词称为原子谓词。

              原子谓词测试要求在软件测试中,每个复合谓词所包含的每一个原子谓词都至少获得一次“真”值和一次“假”值。   

        (2)分支-谓词覆盖准则

              要求在软件测试中,不仅每个复合谓词所包含的每个原子谓词都至少获得一次真/假。每个复合谓词本身也至少获得一次“真”/“假”。

        (3)复合谓词覆盖准则

              原子谓词通过逻辑运算符的连接构成复合谓词。常见的逻辑运算符 与,或,非。

             任意一个分支,对该分支所包含的原子谓词的任意一个可行的真/假值组合,即每个复合谓词内的原子谓词的各种可能的组合都至少出现一次。

    4.路径覆盖准则

          要求程序覆盖所有完整路径。

         数据流测试:

    这里的数据流测试,是数据交互功能测试,用作路径测试的“真实性检查”。

    它关注的是变量接收值的点和使用(引用)这些值的点的结构性测试形式。

     数据流覆盖测试准则:

         测试数据集T对测试程序P满足定义覆盖准则,如果对具有数据流信息的控制流图GP中的每一个变量x的每一个定义性出现,若该定义性出现能够可行地传递到该变量的某一个引用性出现,那么LT中存在一条路径A,它包含一条子路径A’,使得A’将该定义出现传递到某一引用性出现。

         要注意的是:因为一个定义可能要传递到多个引用,一个定义要对多个引用都是正确的。而定义覆盖只要求检查一个引用。所以检查的内容是弱充分的。

  • 相关阅读:
    关于使用quartz动态增删改定时任务
    关于chrome被篡改主页修复方法
    关于git被误删除的分支还原问题
    mysql数据库备份bat脚本
    同步数据库bat脚本
    读取spring boot项目中resource目录下的文件
    使用Java进行udp-demo编程时碰到的consumer和producter无法连接并报出“java.net.SocketException: Can't assign requested address”问题
    关于在项目中遇到MySQL数据库死锁的问题
    Gitlab仓库搭建及在Linux/windows中的免密使用
    GIT
  • 原文地址:https://www.cnblogs.com/erchen/p/4439735.html
Copyright © 2011-2022 走看看