【测试开发】单元测试、基准测试和性能分析(以 Go testing 为例)

news/2025/2/25 8:04:57

一、为什么需要测试🤔️

  1. 你写不出 bug-free 的代码。
  2. 你认为自己写出了 bug-free 的代码,但它在你意想不到的地方出错了。
  3. 你觉得自己写出了永不出错的代码,但它的性能十分糟糕。

二、在开发过程中做好测试(理想情况下)💯

“测试左移”距离真正落地或许还有不短的距离,但在开发过程中注重自己的代码质量,至少养成写单测的习惯还是很有必要的。

2.1 单元测试(Unit test)🛢️

单元测试,unit test。单元测试是软件开发中的一种测试方法,旨在对软件系统的最小可测试单元进行测试,例如函数或方法,以确保它们按照预期运行。在单元测试的过程中,开发人员编写测试用例,对被测试单元进行测试,收集测试结果,并与预期结果进行比较,以确定被测试单元是否通过。

2.2 基准测试(Benchmark test)🛋️

基准测试,benchmark test。基准测试的目的是评估代码在给定条件下的性能,并比较不同实现的性能差异。

2.3 性能分析(Performance profiling)🔍

性能分析,performance profiling。在代码测试中的性能分析,是指通过一系列的测试和分析,来评估代码的性能、瓶颈和优化策略。它通常会用来检测软件系统的瓶颈,找出系统性能瓶颈,以便对其进行优化,从而提升软件系统的性能。


http://www.niftyadmin.cn/n/272603.html

相关文章

逐函数详细讲解ORB_SLAM2算法和C++代码|Tracking.cpp|StereoInitialization|1-5

在ORB-SLAM2算法中,StereoInitialization()函数是用于对双目相机进行立体视觉初始化。在立体视觉SLAM中,初始化是确定初始关键帧、地图点以及相机位姿的关键步骤。这个函数在成功初始化后,将SLAM系统状态设置为OK,为后续的跟踪、定位和地图构建做好准备。以下是这个函数中的…

Faster JSON - orjson | Python 主题

前言 JSON使用的越多就越可能遇到JSON编码或者解码的瓶颈,Python的内置json库虽然也很好用但是也有很多其他更快的JSON库可以使用,但是具体选择哪一个或者哪一种需要根据具体情况,没有一种标准的规则衡量哪一种JSON最好或者最快,…

机器人工程师与孔乙己文学

本文内容严格按创作模板发布: 孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。你可以从以下几个角度说说…

【python基础语法四】python函数和函数相关概念

函数 含义 概念:功能 (包裹一部分代码 实现某一个功能 达成某一个目的)特点:可以反复调用,提高代码的复用性,提高开发效率,便于维护管理 函数基本格式 """ # 定义一个函数 def 函数名():code1code # 调用函数 函数名() """ # 定义函数 def f…

Linux-修改虚拟机为静态IP

一般情况下,NAT网络连接模式下,DHCP动态分配IP地址的,但这样在每次访问连接Linux虚拟机时,都要先去查询ip地址,很麻烦,干脆就将虚拟机IP地址写死,也就是设置为静态的(static&#xf…

C S S

目录 1.样式定义方式 1.1行内样式表 1.2内部样式表 1.3外部样式表 2.注解 3.选择器 3.1标签选择器 3.2 id选择器 3.3 类选择器 3.4 派生选择器 3.5 伪类选择器 链接伪类选择器: 位置伪类选择器: ​编辑 目标伪类选择器: 复合选…

Python词云图的制作与案例分享

一、基本知识 Python 有很多可用于制作词云图的库,其中比较常用的有 wordcloud 和 jieba。 wordcloud 是一个用于生成词云图的 Python 库,其使用了 Python 的 PIL 库和 numpy 库。您可以使用 pip 命令来安装 wordcloud 库: pip install wo…

最新标准SQL:2023新特性预览

SQL 标准每隔几年就会发布一次,最新的 SQL:2023 已经编写完成,预计很快就会发布。 本文给大家简单介绍一下最新标准中的型特性,主要分为以下三大类别: 已有 SQL 语言的增强;JSON 相关的新特性;新增的属性…