单元测试的策略

2023-11-18

1、逻辑覆盖

2、循环覆盖

3、同行评审

4、桌前检查

5、代码走查

6、代码评审

7、静态数据流分析

 

mock:对代码中某些不容易获取的对象创建虚拟对象来测试

stub:桩函数是代替某些被调用了但是没有编写代码,一般在增量迭代自低向上的过程中不用编写。再自顶向下的过程中需要编写

驱动函数:调用被测函数,给被测函数传参。

 

六种覆盖方法中,覆盖准则由弱到强依次是语句覆盖、判定覆盖、判定/条件覆盖、路径覆盖。

语句覆盖是使用程序中每个语句至少被执行一次;

判定覆盖是使用程序中的每个分支至少都通过一次;

条件覆盖是使得判定中的每个条件获得各种可能的值,并使每个判定取到各种可能的结果

条件组合覆盖是使用每个判定中条件的各种可能组合都至少出现一次

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

单元测试的策略 的相关文章

  • Qt/C++使用QUiLoader动态加载ui资源文件

    目录 动态对话框 使用场景 注意事项 动态对话框加载 获取动态对话框的控件对象 与动态对话框建立关联 动态修改ui资源文件效果测试 动态对话框 动态对话框 dynamic dialog 就是在程序运行时使用的从Qt设计师的 ui文件创建而来
  • Linux命令 - zip命令

    Linux命令 zip命令 Linux中 zip 命令是个使用广泛的压缩程序 文件经它压缩后会另外产生具有 zip 扩展名的压缩文件 1 语法 zip 参数 文件或目录 2 功能 可以压缩文件且保留源文件 3 参数 A 调整可执行的自动解压

随机推荐

  • 信号完整性揭秘:于博士SI设计手记----阅读笔记

    文章目录 1 概述 2 数字信号的频谱与带宽 3 传输线 1 概述 1 尽管信号是数字的 但是承载这些信息的电压或电流波形是模拟的 2 SI的根本问题 是信号的上升时间减小了 上升时间越小 信号中包含的高频成分越多 导致的互相耦合得到的畸变
  • YOLOv4 tensorrt推理 python版【附代码】

    学了几天的tensorRT 又经过了几天的努力终于实现了YOLOv4 tensorRT推理 这篇文章将把这些成果开源出来 供大家免费使用 YOLOv4代码我采用的是b站up主Bubbliiiing 相信大家应该都比较熟悉这位大佬 关于trt
  • 基于XMind的E-R图制作

    基于XMind的E R图制作 使用工具 XMind2021 E R图我们再熟悉不过 又称实体 联系图 E R图有许多绘制方式 网上也有许多工具和教程 今天我们来采取一种不太正规的手段 使用一款新的软件进行演示 XMind 这款应用我们也不陌
  • 关于登录密码加密的三个方式

    登录密码对于用户来说是最重要的数据 所以在存储的时候需要进行加密 防止在一些外部攻击下用户重要数据被别人获取了 对于登录密码加密 本人整理了三种简单的方式 具体思路如下 一 数据库加密 1 在后端存入数据库时 通过sql语句进行对应数据库的
  • 安装Miniconda+python3.9开发环境

    因为如果你直接通过系统的Python环境开发项目的话 每一个项目下 都需要安装相应的模块环境 所以我这边推荐用Miniconda 通过这个可以大大减小磁盘的利用空间 毕竟开发时一个torch模块已经有一两个G了 多次下载浪费空间 一 下载并
  • oracle数据导入导出

    创建一个目录用来存导出的数据和log 数据所在的机器的目录 SQL gt create directory exp dir1 as home tyc 导出 oracle gzsw3 expdp sys 密码 tns配置中的实例名 schem
  • maven执行失败(mvn clean package)

    开发环境 sh all sh 诡异 build faild 在默认配置下 当Maven项目比较大 运行诸如 mvn clean package 的命令是需要很多的内存的并且会导致失败退出 在架构师哥的帮助下 通过设置maven的运行环境堆大
  • 对于前端开发在vs code中编写后出现的Cannot find module 'crypto-js/hmac-sha256.js'.报错

    移植了老师的代码 出现了该问题 应该是js加密的问题 而本机中并没有使用过js加密 所以并没有该包的原因 遵循没有就安装的方式进行解决 1 直接安装该包 网上大多数都是这个方法 命令行代码如下 npm install crypto js 跟
  • 老胡的周刊(第107期)

    老胡的信息周刊 1 记录这周我看到的有价值的信息 主要针对计算机领域 内容主题极大程度被我个人喜好主导 这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享 项目 open interpreter 2 基于 LLM 为你提供一种新的
  • c99编译报错改用gnu99

    使用c99编译出警告信息 implicit declaration of function usleep 按常规来讲 出现 implicit declaration of function xxxx 是因为头文件未包含导致的 但是uslee
  • 在servlet中 PrintWriter out=response.getWriter()

    1 从HttpServletResponse中get一个PrintWriter 2 打个通俗的比方就是通过HttpServletResponse对象得到一支笔 然后就可以用out print 方法在网页上写任何你想显示的内容 out pri
  • extern “C“ __declspec(dllexport)是什么意思

    如果DLL是提供给VC 用户使用的 你只需要把编译DLL时产生的 lib提供给用户 它可以很轻松地调用你的DLL 但是如果你的DLL是供其他程序如VB delphi 以及 NET用户使用的 那么会产生一个小麻烦 因为VC 对于 declsp
  • Tensorflow初步之非线性回归

    神经网络 输入 1个神经元 中间层 10个神经元 输出 1个神经元 一 创造二次函数并加入噪声 import tensorflow as tf import matplotlib pyplot as plt import numpy as
  • 干货丨7款易上手C语言编程软件推荐

    C语言是一门历史很长的编程语言 其编译器和开发工具也多种多样 其开发工具包括编译器 现举几个开发工具供大家选择 当然也要根据自己的操作系统来选择适合自己的开发工具 好多刚开始接触c语言的朋友都想知道用上面软件开发c语言比较好 一般来说微软的
  • node版本升级:与node-sass、sass-loader版本不兼容问题

    npm WARN deprecated har validator 5 1 5 this library is no longer supported npm WARN deprecated uuid 3 4 0 Please upgrad
  • 浅谈人工智能:现状、任务、构架与统一

    浅谈人工智能 现状 任务 构架与统一 原创 2017 11 02 朱松纯 目录 引言 第一节 现状 正视现实 第二节 未来 一只乌鸦给我们的启示 第三节 历史 从 春秋五霸 到 战国六雄 第四节 统一 小数据 大任务 范式与认知构架 第五节
  • 《动手学深度学习 Pytorch版》 7.3 网络中的网络(NiN)

    LeNet AlexNet和VGG的设计模式都是先用卷积层与汇聚层提取特征 然后用全连接层对特征进行处理 AlexNet和VGG对LeNet的改进主要在于扩大和加深这两个模块 网络中的网络 NiN 则是在每个像素的通道上分别使用多层感知机
  • nginx 配置ssl后配置websockt

    1 前言 这里以Vue 和 nginx 1 22 0 为例 在nginx配置好ssl为前提下 2 代码 vue 连接路径 state ws new WebSocket wss ssl绑定域名 端口号 ws mediaToChatRoom 端
  • 一个参数一张Excel表,玩转Pandas的read_excel()表格读取

    作者 黄伟呢 来源 数据分析与统计学之美 我觉得很有必要讲述这个文章 进行数据处理的第一步就是Python数据读取 但是你可能没想到 在进行数据读取的同时 我们其实可以配合相关参数做很多事儿 这对于后续的数据处理都是极其有帮助 read e
  • 单元测试的策略

    1 逻辑覆盖 2 循环覆盖 3 同行评审 4 桌前检查 5 代码走查 6 代码评审 7 静态数据流分析 mock 对代码中某些不容易获取的对象创建虚拟对象来测试 stub 桩函数是代替某些被调用了但是没有编写代码 一般在增量迭代自低向上的过