zoukankan      html  css  js  c++  java
  • 白盒测试之逻辑覆盖 简单易懂~

    定义:
      白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。

    白盒测试的目的:
      通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

    白盒测试的方法:大致分为静态方法和动态方法两大类。

    A. 静态分析:
      是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。

    B. 动态分析:
      当软件系统在模拟或真实的环境中执行前、过程中和执行后,对其行为分析。它显示了一个系统在检查状态下是否正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

    符号说明:

      ^ 代表逻辑运算符 && 或者 ||
      
      T 代表 True F 代表 False
      
      A / B 代表条件表达式
      

    (1)语句覆盖

    使程序中的每个可执行语句都能执行一次的测试用例

    测试用例条件: A ^ B = T

    (2)判定覆盖(分支覆盖)

      对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况。

    测试用例条件:
           A ^ B = T
           A ^ B = F

    (3)条件覆盖

      设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考虑判断语句的结果,可能都为TT或者FF

    测试用例条件:
           A=T     A=F
           B=T     B=F

    (4)判定条件覆盖(分支条件覆盖)

      设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。

    测试用例条件:
           A ^ B = T    A ^ B = F
           A=T     A=F
           B=T     B=F

    (5)条件组合覆盖

    设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次,全部组合即可

    测试用例条件:
           A= T    B= T
           A= T    B= F
           A= F    B= T
           A= F    B= F

    (6)路径覆盖

    设计测试用例时,覆盖程序中所有可能的执行路径,不用细致到看每一个式子的判断结果

     TT、TF、FT、FF 共四条路径

    优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

    缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。

    参考原文链接:https://blog.csdn.net/write6/article/details/78702977

  • 相关阅读:
    HTML a标签的href 属性 tel 点击可以直接拨打电话 ( 移动端 )
    【集群实战】NFS网络文件共享服务3-相关知识补充(showmount,exports,rpc)
    【集群实战】NFS网络文件共享服务2-mount挂载(参数,优化)
    Linux发送邮件命令mail,mutt
    【集群实战】NFS服务常见故障排查和解决方法
    【集群实战】NFS网络文件共享服务
    【集群实战】Rsync试题-异机数据备份解决方案
    【集群实战】Rsync常见错误总结
    【集群实战】Rsync数据同步工具
    【shell】Shell变量基础及深入
  • 原文地址:https://www.cnblogs.com/apex-wzw/p/13206839.html
Copyright © 2011-2022 走看看