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

2023-11-16

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

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

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

逻辑覆盖法:最常用

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

  • 语句覆盖

  • 判定覆盖:分支覆盖

  • 条件覆盖

  • 判定/条件覆盖

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

  • 路径覆盖

程序插桩技术

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

基本路径法

点覆盖

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

边覆盖

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

边对覆盖

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

主路径覆盖

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

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

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

符号测试

在这里插入图片描述

错误驱动测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

习题

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试复习03:动态测试——白盒测试 的相关文章

  • 【软件测试】学习笔记-高效提交Bug

    本篇文章介绍如何才能写出一份高效的软件缺陷报告 测试工程师需要利用对需求的理解 高效的执行力以及严密的逻辑推理能力 迅速找出软件中的潜在缺陷 并以缺陷报告的形式递交给开发团队 缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁 也是测试工程
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 最佳利用Mock提升测试效率的7个技巧!

    再聊这个问题之前 我们先了解一下公司技术架构的演变过程 这样我们才能真正体会到我们为什么要使用 Mock功能 单体应用 在早期 大部分公司的应用技术栈主要可以分为两大类 LAMP Linux Apache MySQL PHP 和 MVC S
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自

随机推荐

  • Jenkins与git结合使用进行C++代码静态检查

    Jenkins与git结合使用进行C 代码静态检查 在软件开发过程中 静态代码检查是一种常见的工具和实践 可以帮助开发人员在编码阶段尽早发现和解决潜在的问题 本文将介绍如何使用Jenkins和git集成 利用cppcheck进行C 代码的静
  • 建站系列(一)--- 网站基本常识

    目录 相关系列文章 前言 一 因特网 二 网站 三 服务器 四 IP 五 域名 六 DNS 七 Hosts文件 八 端口号 九 URL 十 静态网站 十一 动态网站 相关系列文章 建站系列 一 网站基本常识 建站系列 二 域名 IP地址 U
  • Python 使用requests发送get请求

    get请求是常用的请求之一 相对于post请求简单些 对于传参数的get请求有的还是有难度的 和post请求一样 必须知道每个字段的含义 这样拿到的响应才是正确的 也是我们想要的 不带参数的get请求 import requests hea
  • 自学Android之路---笔记

    1 查看类的源码CTRL b 2 所有的活动即activity必须要在AndroidManifest xml中进行注册才能生效 3 布局多练习
  • 2023华为OD机试真题【缓存需要最少金币数/贪心算法】

    题目描述 静态扫描可以快速识别源代码的缺陷 静态扫描的结果以扫描报告作为输出 1 文件扫描的成本和文件大小相关 如果文件大小为N 则扫描成本为N个金币 2 扫描报告的缓存成本和文件大小无关 每缓存一个报告需要M个金币 3 扫描报告缓存后 后
  • JWT和token的区别

    什么是token token的意思是 令牌 是服务端生成的一串字符串 作为客户端进行请求的一个标识 当用户第一次登录后 服务器生成一个token并将此token返回给客户端 以后客户端只需带上这个token前来请求数据即可 无需再次带上用户
  • Mini-NDN 安装

    1 git clone https github com named data mini ndn 2 install sh 报错1 Traceback most recent call last File usr lib python3 d
  • Spring--IOC容器

    文章目录 Spring IOC容器 一 IOC概念和底层原理 1 官方概念 2 什么是IOC 3 IOC底层原理 4 降低耦合的历史演变 二 IOC接口 Beanfactory 1 IOC思想基于IOC容器完成 IOC容器底层就是对象工厂
  • java判断是否为序列二叉树 - Kaiqisan

    大家好 都吃晚饭了吗 我是Kaiqisan 是一个已经走出社恐的一般生徒 今天还是二叉树诶嘿嘿 首先还是明确一个概念 何为序列二叉树 答 中序遍历之后序列递增的二叉树为序列二叉树 比如这棵树 4 2 7 1 3 5 8 6 它的中序遍历结果
  • 图的深度遍历

    题目描述 请定一个无向图 顶点编号从0到n 1 用深度优先搜索 DFS 遍历并输出 遍历时 先遍历节点编号小的 输入 输入第一行为整数n 0 lt n lt 100 表示数据的组数 对于每组数据 第一行是两个整数k m 0 k 100 0
  • web前端开发自学书籍推荐这5本

    JavaScript权威指南 第6版 淘宝前端团队翻译的 看译者列表都是一堆大神 这本书又叫犀牛书 号称 Javascript 开发者的圣经 网上对此书评价很多 大概意思都是说这本书是一本 JavaScript 文档手册 没有完整看过一遍此
  • IMAP,POP3,SMTP协议

    1 IMAP 因特网报文存取协议IMAP Internet Message Access Protocol IMAP协议是由斯坦福大学的Mark Crispin教授在1986年开发的 后期版本是华盛顿州立大学进行开发的 IMAP4是TCP
  • spring-boot-starter-web(Web启动器)

    Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架 其本身就是 Spring 框架的一部分 可以与 Spring 无缝集成 性能方面具有先天的优越性 是当今业界最主流的 Web 开发框架之一
  • ZYNQ FreeRTOS使用双网口笔记与爬坑

    正点原子领航者7020的开发板上有两个网口 想着用起来 上面一个是PS网口 一个是外挂在PL网口 使用vitis版本为2019 2 PL网口通过emio挂载在网络控制器1上 PS网口挂载在网络控制器0上 配置串口0 踩坑1 在vivado里
  • orCAD下设置不同的GND网络

    对 PCB设计 而言 其中最重要 也是最基础的 就是 电源与地GND 列举例子如下 i 首先 对 简单电路 而言 其中的 电源与地GND 只有2个 大部分情况下 其被命名为 VCC 和 GND ii 其次 对 稍复杂电路 而言 其必须对GN
  • HTTPS的工作过程

    HTTPS就是对HTTP进行了加密 因为要保证数据安全 就需要进行加密 网络中不再直接传输明文了 而是加密之后的密文 加密的方法有很多 但是整体可以分为两大类 对称加密和非对称加密 对称加密 对称加密其实就是通过同一个 密钥 把明文加密成密
  • MMSegmention官方文档阅读系列之三(MMSegmentation 算法库目录结构、了解配置文件信息)

    1 MMSegmentation 算法库目录结构的主要部分 1 mmsegmentation configs 配置文件 base 基配置文件 datasets 数据集相关配置文件 models 模型相关配置文件 schedules 训练日程
  • python 字典的增删改查

    由于字典并不能像列表一样切片 所以字典并没有添加单一元素的 方法 但可以通过以下方法添加 dictory 猫 cat 狗 dog 狼 holf print dictory dictory 猪 pig print dictory 添加多个元素
  • 装多系统的U盘启动盘的制作

    制作安装多系统USB启动盘 下载做启动盘软件 建议linux和windows都支持的软件做系统盘 推荐YUMI或UltraISO 本教程用的yumi UltraISO 百度搜 图形化界面 收费 但破解版很多 YUMI 简单 免安装 下载链接
  • 软件测试复习03:动态测试——白盒测试

    作者 非妃是公主 专栏 软件测试 个性签 顺境不惰 逆境不馁 以心制境 万事可成 曾国藩 文章目录 逻辑覆盖法 最常用 程序插桩技术 基本路径法 点覆盖 边覆盖 边对覆盖 主路径覆盖 符号测试 错误驱动测试 习题 白盒测试常用技术有 逻辑覆