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

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年4月30日 下午4:08
下一篇 2024年4月30日 下午4:26

相关推荐

  • 开票软件 3.0

    开票软件 3.0:提升企业效率的利器 随着企业的发展,开票软件已经成为企业日常运营中不可或缺的一部分。开票软件不仅能够方便地进行票证管理,还能够提高企业的工作效率,降低运营成本。尤…

    科研百科 2024年10月23日
    0
  • 项目文件管理系统python

    项目文件管理系统Python 项目文件管理系统是项目管理中不可或缺的一部分,能够帮助项目经理有效地管理项目文件和资料,提高项目的效率和质量。在Python中,我们可以使用第三方库来…

    科研百科 2024年12月28日
    0
  • Excel 操作篇:应用 RFM 模型客户分群,提效客户体验管理

    公众号:龙国富,人因工程硕士。致力于终身学习和自我提升,分享用户研究、客户体验、服务科学等领域资讯,观点和个人见解。 在进行客户体验管理之前,通过对客户本身全面、准确的了解,藉由客…

    2022年8月9日
    239
  • 省社科 科研项目 省社科课题公平吗

    公平是学术研究中至关重要的因素之一。在省社科课题和科研项目中,公平是否存在?答案是肯定的,但具体情况因项目和地区而异。 公平是指在学术研究中,每个参与者都有机会获得相同的资源和机会…

    科研百科 2024年3月31日
    65
  • 低代码开发平台 mes

    低代码开发平台(Low-Code Development Platform)是一种能够快速构建应用程序的软件开发工具。它通过提供可视化的界面和预定义的组件,使开发人员能够使用少量的…

    科研百科 2024年3月1日
    69
  • 低代码开发平台有弊端吗?(低代码开发平台有弊端吗知乎)

    我们将简要介绍低代码开发以及可用于低代码开发的不同工具和平台。在讨论了低代码平台的趋势,增长后,我们将重点关注低代码的弊端。在开发人员和低代码批评者中,安全性问题是被引用最多的问题…

    科研百科 2024年7月8日
    80
  • 提高一个维度破解难题(提高一个维度破解难题的游戏)

    进入新时代,信息技术与教育教学的深度融合成为摆在教育人面前的一个时代命题。为什么融合,在什么场景下融合……如何穿越这些复杂的问题,找到区域教育优质发展的出口? ——————————…

    科研百科 2022年11月2日
    303
  • 公司管理项目软件系统

    公司管理项目软件系统:提升项目管理效率的利器 随着现代企业的快速发展,项目管理已经成为了企业运营中不可或缺的一部分。然而,传统的手动管理方式已经无法满足现代企业的需求,因此,公司管…

    科研百科 2024年12月25日
    0
  • 平台+园区+专库,潍坊生物医药产业集群不断壮大(潍坊生物医药产业园服务中心)

    记者 马媛媛 今年以来,潍坊市卫健委立足行业职能,发挥部门优势,坚持以“靶向施策,精准服务”为主线,强化措施、精准滴灌,着力优化统筹谋划和综合协调服务,推动生物医药产业高端化、智能…

    科研百科 2024年6月18日
    90
  • 公司运营流程图(公司运营流程图怎么做)

    我始终坚信: 管理就是走流程 没有规范流程,管理一切为零 ★按流程来做 流程为各项工作提供程序化的流程 保证办事有指导 ★用制度来管 制度为企业运行制定规范化的制度 保证事事有规范…

    科研百科 2022年8月2日
    341