十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

1.什么是白盒测试

白盒测试也称结构测试,透明盒测试。主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法,不同于黑盒测试,白盒测试是可以看到内部代码如何运作的,可通过测试来检测产品内部是否符合规定正常运行。

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

1.1 白盒测试优缺点

优点:代码覆盖率高

缺点:覆盖所有代码路径难度大

业务功能可能覆盖不全

测试开销大

2.白盒测试方法

2.1 (先)静态

桌面检查、代码审查、代码走查、代码扫描工具

2.2 动态

逻辑覆盖法:通过对程序逻辑结构的遍历实现程序的覆盖

下方都以这个案例为练习

首先:要画出流程图,比较好理解

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

2.2.1 语句覆盖

语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次

语句覆盖率 = 被执行过的语句数量/可执行的语句总数

举个案例:

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

这个案例语句覆盖率是百分百的。

但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,

会发现这个数据同样适合逻辑覆盖标准,但显然,这样是不正确的。

2.2.2 判断覆盖

判断覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的”真“和”假“都至少被执行一次

判断覆盖率 = 每个判定的真假值至少出现一次/判断结果的总数

举个案例:

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

将两个判定 if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

这个案例判断覆盖率是百分百的。

但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,

也会发现这个数据同样适合逻辑覆盖标准,但显然,这样也是不正确的。

2.2.3 条件覆盖

条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值

条件覆盖率 = 每个条件的真价值至少出现一次/条件结果的总数(条件结果 = 判断数 * 条件数)

举个案例:

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

这个案例条件覆盖率是百分百的。

但是会发现,P1都是F、F,P1为真是没有被覆盖到的

所以条件覆盖不能保证判定覆盖

2.2.4 判定条件覆盖

判定条件覆盖:设计测试用例,使得被测程序中的每个判断本身的判定结果(真假)至少满足一次,每个逻辑条件的可能值也至少被满足一次。就是既满足判断覆盖,也满足条件覆盖。

判断条件覆盖率 =每个判断真假值和条件真假值至少出现一次/(判断结果的总数 条件结果的总数)

举个案例:

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

这个案例判断条件覆盖率是百分百的。

但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,

也会发现这个数据同样适合逻辑覆盖标准,但显然,这样是不正确的。

2.2.5 条件组合覆盖

条件组合覆盖:设计测试用例,使得被测程序中的每个判定中条件结果的所有可能组合至少执行一次

条件组合覆盖率 = 条件组合至少出现一次的数量/条件组合的总数

举个案例:

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

条件组合覆盖能够满足语句覆盖、判定覆盖、条件覆盖、判定条件覆盖

但是条件组合覆盖不能保证所有路径被执行。

2.2.6 路径覆盖

路径覆盖:设计测试用例,覆盖程序中所有可能的路径

路径覆盖率 = 至少被执行过一次的路径数/总的路径数

举个案例:

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

仔细看出C2为假是没有被覆盖的

路径覆盖可以对程序进行彻底的测试,比前面五种覆盖更广。

但是满足路径覆盖,并不一定能满足条件覆盖,也就不能满足条件组合覆盖

2.2.7 基本路径测试法(最常使用)

基本路径测试法:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

十分钟带你了解软件测试中的白盒测试(收藏向)(软件测试白盒测试实验报告)

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

(0)
上一篇 2024年7月27日 上午8:07
下一篇 2024年7月27日 上午8:19

相关推荐

  • 掌握全部“不稳定”——6个要点严控全过程施工合同管理

    掌握全部“不稳定”——6个要点严控全过程施工合同管理 来源:建筑技术杂志社 合同管理是建设项目管理中会涉及到的问题,建筑市场中的各方主体都要依靠合同来确立相互之间的关系,如何在长期…

    科研百科 2022年8月5日
    207
  • 党建有实绩 业务有成绩(党建工作成绩显著)

    不久前,在安徽省直单位党组(党委)书记抓党的建设述职评议会议上,8家省直单位党组(党委)书记进行了现场述职,71家单位作书面述职。现场气氛庄重,聚焦存在问题不回避,提出要求有针对性…

    科研百科 2024年6月30日
    72
  • 医疗会议管理软件

    医疗会议管理软件: 让医疗会议更加高效 随着医疗行业的不断发展,医疗会议已经成为医疗机构内部进行学术交流和分享的重要方式。但是,传统的医疗会议管理方法已经无法满足现代医疗行业的需求…

    科研百科 2025年1月4日
    0
  • 微软项目进度管理系统

    微软项目进度管理系统 微软项目进度管理系统是一种用于跟踪和管理项目进度的软件系统。它可以帮助企业和组织有效地规划和管理项目,确保项目按时完成并达到预期的成果。本文将介绍如何使用微软…

    科研百科 2024年12月26日
    1
  • 银行合同管理

    银行合同管理 银行合同管理是银行运营中至关重要的一环,关系到银行的安全性、合规性和声誉。银行合同管理不仅仅是对合同的审核和管理,更是对银行风险的控制和防范。本文将探讨银行合同管理的…

    科研百科 2024年5月26日
    81
  • 项目管理工具工具

    项目管理工具工具: 让项目管理更高效 随着数字化时代的到来,项目管理已经成为了现代企业的重要一环。而项目管理工具工具则是实现高效项目管理的关键。本文将介绍一些常用的项目管理工具工具…

    科研百科 2024年7月28日
    50
  • 青岛员工管理系统项目招标

    青岛员工管理系统项目招标 随着企业规模的不断扩大,员工管理成为了企业运营中不可或缺的一部分。为了高效地管理员工信息,青岛某企业决定招标一套员工管理系统。本次招标旨在寻找一家有能力、…

    科研百科 2024年12月31日
    0
  • 适合手机用的会员管理系统(手机会员管理系统哪个好用)

    随着移动互联网的发展,人们对移动设备的使用越来越频繁,许多商家已经意识到了手机会员管理系统的重要性。在实际操作中,使用电脑版会员管理系统操作起来比较麻烦。那有没有一种软件能够实现手…

    科研百科 2023年12月15日
    140
  • 国网冠县供电公司深化“党建+物资管理”工程 确保物资高效供应

    为全面贯彻党的二十大精神,落实省公司建设物资环保专业会议工作部署,冠县物资供应分中心深入实施“党建 物资管理”工程,通过开展“党支部书记在现场”活动,充分发挥党建引领作用,提升物资…

    科研百科 2023年11月5日
    151
  • 软件开发工程师简历范文优质简历模板免费下载(软件开发工程师简历怎么写)

    下方附软件工程师简历范文中优质自我评价一篇 工作经验:6年软件开发,近5年技术体系综合经验,软件结构知识全面,熟悉操作系统、软件工程、设计模式、数据结构、数据存储、网络安全,能够高…

    科研百科 2023年4月27日
    224