• 质量小议16 -- 白盒测试方法


    前几日回顾白盒测试方法,竟想不起来,实例列举于此以备温习。

    白盒测试是基于代码的单元测试,是软件测试金字塔的底层,是保证质量的重要方法,应重点加强。
    白盒测试的 6 种方法

    • 语句覆盖,每条语句至少执行一次
    • 判定(分支)覆盖,每个判定(真、假)至少执行一次
    • 条件覆盖,满足每个判定的每一类条件至少执行一次
    • 路径覆盖,覆盖程序所有可能的路径组合
    • 判定/条件覆盖,每个判定、每类条件至少执行一次
    • 组合覆盖,每个判定条件产生结果的所有组合条件至少执行一次

    如图,共有分支 5 条:1,2,3,4,5。其中5为隐含分支,未明确说明具体动作。可能的分支:

    • 1-2-4
    • 1-2-5
    • 1-3-4
    • 1-3-5

    说明:

    • 语句:顺序、分支、循环所构成的完整代码段代表一条语句 -> 1 +(2,3)任取1 +(4,5)任取1
    • 判定:分支,真或假 -> 1 +(2,3)各取1次 +(4,5)各取1次
    • 条件:构成判定的数据组合 ->  1 +(2,3)构成2/3的条件各取1次 +(4,5)构成4/5的条件各取1次各取1次
    • 路径:所有语句、判定、条件构成的可能通路/分支

    遗留问题:

    • 如何选择白盒覆盖方法?-- 数据驱动也许是最佳选择,依据数据对各类组合结果进行系统行为响应,除了标准的顺序、分支、循环判断外,对数据与、或、非、异或等操作应最大化覆盖。当然要考虑人力和时间的投入产出比,以求最大化价值输出。
    • 判断是否需要在代码中明确标记True 和 False结果的系统响应,而非采用默认? -- 想来应该是的,至少明确每种行动可能的操作
    白盒覆盖原则用例xya用例/分析
    语句执行每条语句1-2-4552假真->假优:每个语句块均被执行
    劣:但输入条件和判定分支覆盖较少,弱覆盖
    判定(分支)执行每个判定(真/假)1-2-4552假真->假优:判定条件真、假值被执行
    劣:判定语句的输入条件组合不全
        不同判定真、假结果组合不全
    1-3-5 -555真真->真
    条件执行每个判定条件1-2-45152假假->假
    1-3-5-555真真->真
    判定/条件执行判定+条件1-2-45152假假->假
    1-3-5-555真真->真
    组合执行判定、结果、组合1-2-4552假真->假优:判定条件所有组合被执行
        判定语句结果组合被执行:真真、真假、假真、假假
    劣:部分路径无覆盖
    5152假假->假
    -5152真假->假
    1-3-5-555真真->真
    路径执行所有可能路径组合 1-2-4552假真->假优:考虑所有可能的路径(判定 or 条件 or 组合?)
    劣:生成路径的可能条件组合未考虑
    1-2-5不可达
    1-3-4
    1-3-5-555真真->真
  • 相关阅读:
    知识直播:时代乐见搜狐的长期主义选择
    如何高效安装MindSpore的GPU版本
    【用Python画画】六一儿童节画爱心
    Typora快捷键大全(含Windows和linux)(全)
    Qt学习--构造函数&析构函数
    经济型EtherCAT运动控制器(八):轴参数与运动指令
    23年秋招笔试算法题:美团蔚来
    C语言之字符函数&字符串函数篇(2)
    VSCODE联合ModelSim语法检错
    【数据库09】数据库系统体系结构
  • 原文地址:https://blog.csdn.net/u012841352/article/details/118682916