单元测试-白盒测试

为学堂在线清华大学《软件工程》第三章部分视频笔记

  • 白盒测试方法

    • 基本概念
      • 测试覆盖标准


        测试需求:如果我们要测试源代码的所有语句,那么每一条语句就是一个测试需求
        覆盖标准:例如,每一条语句都要执行
        • 选择覆盖标准需要考虑三个方面的因素
          • 处理测试需求的难易程度
          • 生成测试的难易程度
          • 用测试发现缺陷的能力
      • 白盒测试技术
        白盒测试是将测试对象看做一个透明的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
      • 控制流图
        控制流图(CFG,Control Flow Graph )是一个过程或程序的抽象表示。
        ​控制流图的基本符号∶
        ·矩形代表了连续的顺序计算,也称基本块
        ·节点是语句或语句的一部分,边表示语句的控制流
        对于判断分支来说,判断条件是一个节点,这个节点根据判断的真假产生两个不同的分支,在判断分支执行结束后,还会有一个合并的节点
        • 基于控制流的测试

    • 代码覆盖标准

      • 语句覆盖
        程序中的每个可执行语句至少被执行一次。
        语句覆盖时最弱的逻辑覆盖准则
      • 判定覆盖
        程序中每个判断的取真和取假分支至少经历一次,即判断真假值均被满足。
        判定覆盖具有比语句覆盖更强的测试能力,但仍是弱的逻辑覆盖。
      • 条件覆盖
        条件覆盖不一定包含判定覆盖
        条件覆盖只能保证每个条件至少有一次为真,而没有考虑整个判定结果。
      • 判定条件覆盖
        判断中所有条件的可能取值至少执行一次,且所有判断的可能结果至少执行一次。
        判定条件覆盖能够同时满足判定、条件两种覆盖标准。没有考虑条件的各种组合情况。
      • 条件组合覆盖
        判断中每个条件的所有可能取值组合至少执行一次,并且每个判断本身的结果也至少执行一次。
        条件组合覆盖准则满足判定覆盖、条件覆盖和判定条件覆盖准则。
        ​覆盖了所有组合,但覆盖路径有限。
      • 路径覆盖
        覆盖程序中的所有可能的执行路径。
        ​完全覆盖所有路径,但可能并没有覆盖所有条件组合。
      • 如何看待测试覆盖率
    • 基本路径测试


      基本路径测试是在程序控制流图基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
      • 环形复杂度V(G)
        • 一条独立路径和其他独立路径相比,至少要包含一条新的边,环形复杂度正好等于独立路径数
          有可能路径不可达
      • 循环测试
        • 嵌套循环与串接循环
        • Z路径覆盖下的循环测试
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值