• 白盒测试之语句覆盖、判定覆盖、条件覆盖等


    1、定义说明

    (1)白盒测试白盒测试是一种测试用例设计方法;白盒测试的方法总体上分为静态分析方法和动态分析方法两大类。主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法。白盒测试可用于单元测试、集成测试和系统测试。

    (2)白盒测试方法:有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

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

     (1)语句覆盖:又称行覆盖、段覆盖、基本块覆盖,它是最常见的覆盖方式。语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。

    (2)判定覆盖:又称为分支覆盖,其原则是设计足够多的测试用例,在测试过程中保证每个判定至少有一次为真值,有一次为假值。

    (3)条件覆盖:指的是设计足够多的测试用例,使判定语句中的每个逻辑条件取真值与取假值至少出现一次。

    (4)判定条件覆盖:要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次。

    (5)条件组合覆盖:指的是设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次,它与判定-条件覆盖的差别是,条件组合覆盖不是简单地要求每个条件都出现“真”与“假”两种结果,而是要求让这些结果的所有可能组合都至少出现一次。

    2、为什么要进行白盒测试

    黑盒测试覆盖有限,无法发现代码中一些深层次的潜在问题。这些问题就像定时炸弹,随时会被一个细小的设计改动所引发,从而可能导致客户抱怨,影响产品和公司形象。而从黑盒测试的层面却评估不出这个细小改动所带来的影响。

    如果说黑盒测试是验证需求(模拟用户使用场景),那么白盒测试就是验证设计,使得测试人员对产品实现的了解更为深入,对代码中逻辑关系的覆盖更为全面。白盒测试做好了,能极大增强产品的健壮性。 

  • 相关阅读:
    配置服务器入栈
    Git、Github、Gitee、GitLab学习笔记
    Spark集群配置Hive
    Qt 10进制和16进制转换
    使用百度翻译API或腾讯翻译API做一个小翻译工具
    强化学习——学习笔记3
    LeetCode 0146. LRU 缓存:双向链表 + 哈希
    VMware ubuntu 新虚拟机的创建
    Faster-RCNN论文解读
    高云FPGA系列教程(10):letter-shell串口终端移植
  • 原文地址:https://blog.csdn.net/Learning_Well/article/details/127726344