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

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

相关推荐

  • 天津工会经费收支管理办法

    天津工会经费收支管理办法 天津工会经费收支管理办法 为加强天津工会经费管理,提高工会经费使用效率,根据《中华人民共和国工会法》和国家有关规定,制定本管理办法。 第一条 为加强天津工…

    科研百科 2024年10月29日
    2
  • 集团客户关系管理

    集团客户关系管理 随着市场经济的发展和客户需求的不断变化,客户关系管理(CRM)已经成为企业重要战略之一。集团客户关系管理是一种集中管理企业与客户之间的关系,提高客户满意度、降低客…

    科研百科 2025年1月6日
    9
  • 新疆托里县4000万元贷款助力畜牧业

      托里11月14日讯通讯员陈路蔓报道:11月11日一大早,托里县阿合别斗乡航勒村村委会办公室就挤满了来办理畜牧业贷款的村民,这次信用社将为村里43户农民提供90多万元贷款,为村民…

    科研百科 2022年6月2日
    303
  • 哺乳动物胚胎首次成功在太空发育

      新华社北京4月17日电 题:哺乳动物胚胎首次成功在太空发育——实践十号卫星小鼠胚胎实验取得重要突破7vf 7vf (图片来源:新华网)7vf   新华社…

    2022年5月27日
    443
  • 医院项目化管理系统

    医院项目化管理系统 医院项目化管理系统是一种可以帮助医院进行项目管理的软件系统。该系统可以帮助医院提高工作效率,减少人力和时间成本,同时也可以提高医院的质量和效益。 医院项目化管理…

    科研百科 2024年12月27日
    0
  • 协会会议管理

    协会会议管理 协会会议管理是组织和管理协会会议的重要方面之一。它有助于确保协会会议的顺利进行,提高协会成员之间的沟通和协作,同时也有助于协会更好地实现其目标和愿景。 协会会议管理需…

    科研百科 2024年8月24日
    47
  • 全球科研项目数据库下载全球科研项目数据库下载

    全球科研项目数据库下载 随着科技的不断发展,全球科研项目的规模和复杂度也在不断增加。这些项目涉及到许多不同的领域,包括自然科学、工程技术、生命科学、社会科学等等。为了更好地了解和跟…

    科研百科 2024年6月13日
    51
  • 29岁就成了科研项目负责人,科技人才评价改革重在“不拘一格”(科技研究人员)

    不管是职称评比还是项目申请,以往对科研人员的评价多与量化指标强相关。近年来,关于科技人才的评价体系改革的进度提速。 “我们第一批立项项目负责人平均年龄37岁,最年轻的一位29岁;没…

    科研百科 2024年6月18日
    66
  • 上海工程app下载(上海工程管理系统)

    上海工程管理系统 随着科技的不断发展,上海工程管理系统成为了现代工程管理中不可或缺的一部分。它为工程管理人员提供了全面、高效、可靠的管理工具,帮助他们更好地管理工程项目,提高生产效…

    科研百科 2024年6月2日
    53
  • 先行一步、一“网”统领,高质量基层党建的“葡萄花样本”

    9个人,3名党员,佩戴着“三级网格员”胸牌,一名党员带领两名员工,分别管理着3个大平台261口油水井,实现了单井用工0.04人。这是采油七厂第五作业区728班实施“红色网格”治理后…

    科研百科 2023年6月16日
    171