软件测试复习03:动态测试——白盒测试

news/2024/11/20 7:17:28/

作者:非妃是公主
专栏:《软件测试》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
在这里插入图片描述

文章目录

  • 逻辑覆盖法:最常用
  • 程序插桩技术
  • 基本路径法
    • 点覆盖
    • 边覆盖
    • 边对覆盖
    • 主路径覆盖
  • 符号测试
  • 错误驱动测试
  • 习题

白盒测试常用技术有:逻辑覆盖法(最常用)、程序插桩技术、基本路径法、符号测试、错误驱动测试。

  • 语句覆盖:选择足够的测试用例,使得程序中每个可执行语句至少都能被执行一次。
  • 判定覆盖(分支覆盖): 执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。
  • 条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。
  • 判定/条件覆盖: 执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。
  • 条件组合覆盖: 执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。

逻辑覆盖法:最常用

在这里插入图片描述
在这里插入图片描述

  • 语句覆盖

  • 判定覆盖:分支覆盖

  • 条件覆盖

  • 判定/条件覆盖

  • 条件组合覆盖:单一判定内各种条件全组合

  • 路径覆盖

程序插桩技术

  • 通过向被测程序中插入操作(语句)来达到测试的目的。
  • 那些被插人的语句称为探测器或探针。
  • 目的:记录程序执行过程中发生的一些重要事件,如语句执行次数、变量值的变化情况、指针的改变等。
  • 需要考虑的问题:
    • 探测哪些信息?
    • 在什么位置设置探测点?
    • 需要设置多少个探测点?

基本路径法

点覆盖

覆盖控制流图中的每一个节点。
在这里插入图片描述

边覆盖

覆盖图中所有边(长度为1的边)
在这里插入图片描述

边对覆盖

覆盖所有长度小于等于2的可达边

主路径覆盖

简单路径:除起始点和终止点,不存在重复的节点。
主路径:最大的简单路径,其中不包含其它简单路径。

  • 主路径覆盖:就是对程序设计测试用例,使测试用例尽可能多地经过控制流图中的边同时不形成环。
    在这里插入图片描述
    在这里插入图片描述

圈复杂度V(G)同时也是确保程序种每个可执行语句至少执行一次所需测试用例数的上限。

符号测试

在这里插入图片描述

错误驱动测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

习题

在这里插入图片描述


http://www.ppmy.cn/news/12552.html

相关文章

2023年面试题之Dubbo基础

1. 为什么要用 Dubbo?随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通…

【C++】map和set的使用

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉关联式容…

Python数学建模问题总结(2)数据可视化Cookbook指南·上

概括总结:一、可视化问题1.不会可视化图标;2.可视化效果不好看;3.数据可视化成果无法得到很好的推广使用。二、可视化原则准确的、有帮助的、可扩展的。三、类型1.随时间变化;2.类别比较图表;3.排名列表:有…

SpringMVC面试题

概述 什么是Spring MVC?简单介绍下你对Spring MVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清…

【C++】string类的模拟实现

大家好我是沐曦希💕 文章目录一.前言1.VS下string的结构2.g下string的结构二、string基本框架1.构造函数2.拷贝构造3.赋值重载4.析构函数三、常用接口1.迭代器和范围for2.[]重载3.c_str四、容量操作函数1.size和capacity函数2.empty函数3.reserve函数4.resize函数五…

安装VSCode图文版(附安装所需插件)

安装VSCode安装地址下载安装安装成功安装所需插件安装go插件安装中文简体安装地址 VSCode 安装地址 https://code.visualstudio.com/ 下载 在下面两个地方都可以下载,左侧下载可以根据自己的需要进行版本或者系统的选择下载。 安装 同意协议 选择附加项 为什…

Android/Linux 子系统Graphics图形栈入门普法介绍

Android/Linux 子系统Graphics图形栈入门普法介绍 写在最前面 由于工作原因,最近在公司做了一个关于Android/Linux 子系统Graphics图形栈入门相关知识的培训介绍,个人感觉对于想要了解入门这块的朋友还是有一定帮助的。由于博客不能直接放入ppt&#xff…

【C++】二叉搜索树

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉二叉搜索…