白盒测试的测试用例设计方法

白盒测试的测试用例设计方法一白盒测试的主要技术对简单的程序流程而言,确定程序的路径有多少条可通过:语句覆盖(覆盖率100%);分支(判定)覆盖(覆盖率85%);条件覆盖;分支-条件覆盖;条件组合覆盖;路径覆盖(覆盖率80%)来确定,这也是白盒测试的主要技术。1.1语句覆盖(覆盖率100%)使程序中每个语句至少执行一次1.2分支(判定)覆盖(覆盖率85%)使每个判定的真假分支都至少执行一次1.3条件…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一 白盒测试的主要技术

对简单的程序流程而言,确定程序的路径有多少条可通过:语句覆盖(覆盖率100%);分支(判定)覆盖(覆盖率85%);条件覆盖;分支-条件覆盖;条件组合覆盖;路径覆盖(覆盖率80%)来确定,这也是白盒测试的主要技术。

1.1语句覆盖(覆盖率100%)

使程序中每个语句至少执行一次
在这里插入图片描述
在这里插入图片描述

1.2分支(判定)覆盖(覆盖率85%)

使每个判定的真假分支都至少执行一次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3条件覆盖

使每个判定的每个条件的可能取值至少执行一次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1

1.4分支-条件覆盖

选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。
在这里插入图片描述
在这里插入图片描述

1.5条件组合覆盖

所有可能的条件取值组合至少执行一次
在这里插入图片描述
在这里插入图片描述

1.6路径覆盖(覆盖率80%)

在这里插入图片描述

二、白盒测试的辅助技术

对简单的程序流程而言,可通过以上方法确定程序的路径有多少条,但对复杂的程序,必须通过程序的控制流图来确定程序的路径。基本路径法设计测试用例:

1)画出控制流图

控制流图的基本符号:
在这里插入图片描述
将流程图映射成控制流图:
在这里插入图片描述
在控制流图中,每一个圆称为流图的结点,代表一条或多条语句。流图中的箭头称为边或连接,代表控制流

2)计算圈(环路)复杂度

方法1:V(G)=区域数
方法2:V(G)=边数 – 节点数 + 2
方法3:V(G)=判断节点数 + 1
在这里插入图片描述

3)整理基本路径集合

4)导出测试用例

三 实例

在这里插入图片描述

1)画控制流图

在这里插入图片描述

2)计算圈(环路)复杂度

V(G) = 4 + 1,由此得出共5条独立路径

3)整理基本路径集合

4)导出测试用例

在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Hadoop in China 2011] 邵铮:揭秘FaceBook Puma演变及发展

    [Hadoop in China 2011] 邵铮:揭秘FaceBook Puma演变及发展

    2021年6月20日
    90
  • 《FFmpeg从入门到精通》读书笔记(三)

    《FFmpeg从入门到精通》读书笔记(三)写在前面2019.06.20第四章知识点(未进行排版,暂未加入硬编解码部分)FFmpeg转码FFmpeg软编码H.264与H.265FFmpeg本身不支持H.264的编码器,是由FFmpeg的第三方模块对其进行支持,当前常用的编码器为x264,所支持的像素格式主要包括以下几种(使用ffmpeg-hencoder=libx264进行查询)Encoderlibx264[l…

    2022年6月26日
    32
  • 将十进制小数转化为二进制小数的方法[通俗易懂]

    将十进制小数转化为二进制小数的方法[通俗易懂]十进制小数→二进制小数:(1)把十进制小数乘以2,得到积,把积的整数部分提出;(2)再用所得积的小数部分乘以2,得到积,把积的整数部分提出;(3)重复步骤2;(4)乘以2过程中提出的各个整数部分组成转换后的二进制小数。权的确定规则:最先提出的整数是二进制小数的最高位。看个例子就明白le:37.8125(十进制)的运算分为整数部分和小数部分:  整数部分的结…

    2022年9月24日
    0
  • 时序数据库Machbase「建议收藏」

    时序数据库Machbase「建议收藏」Background最近偶然接触到Machbase,发现相关信息很少,于是自己做了一些简单的了解,这里记录下,方便有兴趣的童靴参考哈。1、官方介绍Machbase是韩国的一家公司开发的一款类似InfluxDB、DolphinDB、TDengine等时序数据库产品,不开源,不过单机fog版可以免费试用,具体可以参考官方网站:https://www.machbase.com/product/edge;但是国外的网站访问不便,这里给个下载的链接,想试用的可以下载:下载链接:https://pan.

    2022年10月4日
    0
  • sql 分页

    sql 分页//查询所有publicList<products>getAll(intpageNo,intcount){System.out.println(pageNo+";&qu

    2022年7月2日
    27
  • 为什么使用全局平均池化层?[通俗易懂]

    为什么使用全局平均池化层?1、全连接层:、全连接网络可以使featuremap的维度减少,进而输入到softmax、全连接层的参数超多、会造成过拟合、模型本身变得非常臃肿2、全局平均池化层(globalaveragepoolilng)[GAP]:、直接实现了降维、极大地减少了网络的参数、对整个网路在结构上做正则化防止过拟合,直接赋予了每个channel实际的内别意义、gap可能会造成收敛速度减慢3、为什么会收敛速度变慢?以及对模型训练有什么差异?、全连接层结构的模型对于训练学习

    2022年4月11日
    126

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号