首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例

白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例

作者头像
全栈程序员站长
发布2022-11-04 15:14:21
3490
发布2022-11-04 15:14:21
举报

大家好,又见面了,我是你们的朋友全栈君。

白盒测试用例设计方法


  • 编写:天林

问题:

  1. 白盒测试方法的概念及应用场景
  2. 白盒测试方法
  3. 用各种逻辑覆盖法来和设计白盒测试用例
  4. 使用基本路径法来设计白盒测试用例

内容:

  1. 白盒测试的基本介绍
  2. 白盒测试用例设计方法
    1. 静态设计方法
    2. 动态设计方法

一、白盒测试的概念及特点

1、什么是白盒测试

代码逻辑的测试

  • 白盒测试,又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师需深入考察程序代码的内部结构、逻辑设计等。
  • 对于白盒测试工程师来说,软件产品内部构成是透明的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nldNAnw-1618294471116)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131982126.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nldNAnw-1618294471116)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131982126.png)]
  • 下列代码是”图书添加“功能页面对象检查功能函数。从白盒测试角度而言,测试工程师仅需关注此段函数所能实现的功能,无须关注该函数的外部功能特性。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xb4TB2bU-1618294471121)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618132115265.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xb4TB2bU-1618294471121)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618132115265.png)]

2、白盒测试的特点

  1. 优点:代码覆盖率高
  2. 缺点:
    1. 覆盖所有代码路径难度大
    2. 业务功能可能覆盖不全
    3. 测试开销大

二、白盒测试设计方法

1、静态设计方法

  1. 桌面检查
  2. 代码审查
  3. 代码走查
  4. 代码扫描工具

2、动态设计方法

  1. 逻辑覆盖法
    1. 语句覆盖
    2. 判定覆盖
    3. 条件覆盖
    4. 判断条件覆盖
    5. 条件组合覆盖
    6. 路径覆盖
  2. 基本路径测试法

三、逻辑覆盖法

  • 逻辑覆盖法:是通过程序逻辑结构的便利实现程序的覆盖。
  • 覆盖率:是用来度量测试完整性的一个手段
在这里插入图片描述
在这里插入图片描述

1、语句覆盖

1、语句覆盖设计用例
  • 语句覆盖:设计测试用例,是对程序中每条语句至少被执行一次。
在这里插入图片描述
在这里插入图片描述

例如:

  • 案例代码中共有4条可执行语句
  • 设计测试用例执行了3条,语句覆盖率为3/4=75%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U3ofpzsJ-1618294471124)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126449488.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U3ofpzsJ-1618294471124)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126449488.png)]
2、语句覆盖法的局限性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-baMzrUAf-1618294471128)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126661355.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-baMzrUAf-1618294471128)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126661355.png)]

2、判定覆盖

1、判定覆盖法设计用例
  • 判定覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的”真“和”假“都至少被执行一次。即:程序中的每个分支至少执行一次。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwWJ9nAM-1618294471130)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1618126974929.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwWJ9nAM-1618294471130)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1618126974929.png)]

例如:

  • 案例代码中有判定2个,判定结果4个
  • 设计测试用例执行了3个分支,分支覆盖率为3/4=75%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kildqbiq-1618294471133)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126914152.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kildqbiq-1618294471133)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618126914152.png)]
2、判定覆盖法的局限性
  • 只要满足了判定覆盖标准就一定满足语句覆盖标准。
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例

3、条件覆盖

1、条件覆盖法设计测试用例
  • 条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4WVn5Dp-1618294471134)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127344797.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4WVn5Dp-1618294471134)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127344797.png)]

例如:

  • 案例代码中有判定2个,条件3个,条件结果6个
  • 设计测试用例执行了5个条件结果,条件覆盖率为5/6=83%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jTgISWHw-1618294471135)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127722705.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jTgISWHw-1618294471135)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127722705.png)]
2、条件覆盖法的局限性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-53yFkBRM-1618294471136)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127808750.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-53yFkBRM-1618294471136)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127808750.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IPVo4PeB-1618294471138)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127968953.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IPVo4PeB-1618294471138)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618127968953.png)]

4、判定条件覆盖

1、判定条件覆盖法设计测试用例
  • 判定条件覆盖:设计测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值(真假)也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例

例如:

  • 案例代码中有判定2个,条件3个,判定结果4个,条件结果6个
  • 设计测试用例执行了3个判定结果,5个条件结果,判定条件覆盖率为:(3+5)/(4+6)=80%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mLkrKI67-1618294471139)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618128632399.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mLkrKI67-1618294471139)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618128632399.png)]
2、判定条件覆盖法的局限性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hxds10j5-1618294471140)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129272922.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hxds10j5-1618294471140)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129272922.png)]

5、条件组合覆盖

1、条件组合覆盖法设计用例
  • 条件组合覆盖:设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9jwQTMS-1618294471141)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129470169.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9jwQTMS-1618294471141)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129470169.png)]

例如:

  • 案例代码中有判定2个,条件3个(判定1有2个条件,判定2有1一个条件),判定1的条件组合为4个,判定2的条件组合为2个
  • 设计测试用例执行了5个条件组合,条件组合覆盖率为:5/(4+2)=83%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n0slOOtu-1618294471142)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129821379.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n0slOOtu-1618294471142)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618129821379.png)]
2、条件组合覆盖法的局限性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8j0rSsxr-1618294471144)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130086590.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8j0rSsxr-1618294471144)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130086590.png)]

6、路径覆盖

1、路径覆盖法设计测试用例
  • 路径覆盖:设计测试用例,覆盖程序中所有可能的路径。
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例
白盒测试用例设计方法有哪些_软件测试语句覆盖测试用例

例如:

  • 案例代码中共有4条路径
  • 设计测试用例执行了3条路径,路径覆盖率为3/4=75%
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CjdPk9aD-1618294471145)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130263835.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CjdPk9aD-1618294471145)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130263835.png)]
2、路径覆盖法的局限性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TphJbdrp-1618294471146)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130634551.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TphJbdrp-1618294471146)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130634551.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F4VI9IMs-1618294471147)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130948611.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F4VI9IMs-1618294471147)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618130948611.png)]

四、基本路径测试法

  • 基本路径测试法:在程序控制流程图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
  • 基本路径测试法步骤:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgngJs1Z-1618294471148)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131172269.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgngJs1Z-1618294471148)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131172269.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OumtLiK5-1618294471149)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131275108.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OumtLiK5-1618294471149)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131275108.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LkrwxDBD-1618294471150)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131293309.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LkrwxDBD-1618294471150)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131293309.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goxSzPaV-1618294471152)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131401803.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goxSzPaV-1618294471152)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131401803.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QW4MWWdS-1618294471154)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131439387.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QW4MWWdS-1618294471154)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131439387.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xq1bLcUQ-1618294471155)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131507761.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xq1bLcUQ-1618294471155)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131507761.png)]

五、总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6313pS9-1618294471156)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131732999.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6313pS9-1618294471156)(E:\我的文件\学习\第四学期\白盒测试\图片素材\1618131732999.png)]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182696.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年10月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 白盒测试用例设计方法
    • 一、白盒测试的概念及特点
      • 1、什么是白盒测试
      • 2、白盒测试的特点
    • 二、白盒测试设计方法
      • 1、静态设计方法
      • 2、动态设计方法
    • 三、逻辑覆盖法
      • 1、语句覆盖
      • 2、判定覆盖
      • 3、条件覆盖
      • 4、判定条件覆盖
      • 5、条件组合覆盖
      • 6、路径覆盖
    • 四、基本路径测试法
      • 五、总结
      相关产品与服务
      腾讯云代码分析
      腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档