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

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

相关推荐

  • 分享一款国产APP股票图形引擎(分享一款国产app股票图形引擎)

    EStockChart EStockChart 是一个功能丰富、性能优越、扩展方便的股票图形引擎目前支持的版本有Android 股票图表 和iOS股票图表 ,EStockChart…

    科研百科 2023年5月1日
    184
  • 科研项目任务书范文

    科研项目任务书范文 项目名称: 探究XX 植物的光合作用 项目背景: 近年来,随着环境保护意识的提高,人们对植物光合作用的研究也越来越重视。光合作用是植物进行生命活动的核心过程,对…

    科研百科 2024年10月20日
    0
  • 2018年志丹县组织工作十大新闻(志丹县领导之窗)

    2018年志丹县组织工作十大新闻 1. 深入学习贯彻习近平新时代中国特色社会主义思想 县委坚持把学习宣传贯彻党的十九大精神作为当前首要的政治任务,按照习近平总书记“学懂弄通做实”的…

    科研百科 2023年7月2日
    119
  • 医生的科研项目怎么来的(一线医生如何做科研项目)

    一线医生如何做科研项目 作为一名一线医生,我们经常需要参与科研项目,以推动我们的专业发展,并为患者提供更好的医疗服务。科研项目对于医生来说非常重要,因为它们可以提供有价值的知识和经…

    科研百科 2024年8月3日
    65
  • 如何在智慧党建综合管理平台上实现组织活动管理?(智慧党建活动室)

    在智慧党建综合管理平台上实现组织活动管理,可以通过以下步骤和策略进行: 一、活动规划与发布 创建活动计划:管理员或党组织负责人可以在平台上创建新的组织活动计划,详细填写活动的名称、…

    科研百科 2024年6月30日
    54
  • 传统企业数字化转型,如何采购一套合适的软件?

    导读 采购一套合适的软件,“合适”两个字范围很广,什么样的软件才算合适呢? 文章信息 作者:朱江,华新水泥是一家具有百年历史的跨国建材集团企业,属于典型的传统行业,在二十年信息化、…

    科研百科 2023年5月25日
    229
  • 工程可视化进度表(项目管理可视化进度)

    项目管理可视化进度项目管理可视化进度 最近,《战网魔》《战网魔》等电视剧的热播,成为不少家长的心头话题,相信这也是一部豆瓣的配角。 它的由来,它是一部励志电影,片中的主人公一开始想…

    科研百科 2024年5月18日
    78
  • 党建工作的基本逻辑

    党建工作的基本逻辑 党建工作是中国共产党治国理政的重要基石,是党的全部工作的基础和核心。党建工作的基本逻辑可以从以下几个方面展开: 一、坚持思想建党与制度治党相结合 思想建党是党建…

    科研百科 2024年11月7日
    4
  • 总裁会晤(总裁会议管理)

    总裁会议管理 作为企业的领导者,总裁会议管理是一个非常重要的工作。会议管理不仅是为了组织会议,确保会议的顺利进行,而且还涉及到会议的后续跟进和结果的落实。以下是一些总裁会议管理的建…

    科研百科 2024年8月29日
    25
  • 炎黄盈动低代码开发平台

    炎黄盈动低代码开发平台是一种新兴的软件开发工具,它为开发人员提供了一种简化和加速应用程序开发的方法。这个平台的出现,使得开发人员能够更快地创建高质量的应用程序,同时减少了开发过程中…

    科研百科 2024年3月5日
    154