当前位置: 首页 > news >正文

分层测试(2)单元测试【必备】

1. 什么是单元测试?

对代码中的逻辑隔离的最小代码片段进行测试,验证其逻辑是否符合预期,单元可以是函数,方法,类,功能模块。

2. 单元测试的优点

  1. 掌握代码:单元测试允许开发人员了解单元提供的功能以及如何使用它以获得对单元 API 的基本了解。
  2. 回归测试:单元测试允许程序员改进代码并确保模块正常工作。
  3. 尽早测试:单元测试可以测试项目的某些部分,而无需等待其他部分完成。
  4. 测试左移:在软件开发的早期定位和解决错误。
  5. 提升复用度:使代码的可重用性更可行。

3. 单元测试的挑战

  1. 时间成本:编写单元测试会增加开发人员工作量,单元测试跟生产代码是一样的,并不会因为是用来测试的就有所不同,开发人员同样要面对测试代码的编写,维护等工作,要将单元测试代码写好非常考验开发人员编码能力和测试代码设计能力。
  2. 资源投入:推广和让单元测试发生作用投入比较大,只有让每个开发同学都编写足够好,足够稳定的单元测试代码,才能真正享受单元测试带给我们的好处,在达到这种程度之前,需要非常多的资源投入。

4. 单元测试原则

1. 写出合适的测试名称

编写测试时要考虑的基本事项是选择测试名称。这非常重要,因为好的测试名称可以提高程序员和将来可能使用该代码的其他人的代码的可读性。可以在单元测试中应用标准命名约定。

2. 创建简单的测试

保持测试代码尽可能简单是维护代码的关键。单元测试代码也可能有错误,尤其是在高度复杂的情况下。测试不需要很花哨。因此,逻辑、手动字符串或所述圈复杂度等功能应该最少。

3. 幂等性测试

只要代码保持不变,无论输入如何,测试总是会产生相同的结果。这最大限度地减少了误报和漏报的发生率。测试需要是幂等性的,因为呈现可变结果的测试是不可信的。要使测试具有幂等性,它必须与其他测试用例、环境值和外部依赖性隔离开来。

4. 解决单个使用场景

每个测试都应该只用于测试单个使用场景。这将更更易验证代码输出和更好地洞察所发现错误的原因,而无需怀疑问题是否是误报。

5. 最小化测试依赖

当测试不依赖于其他软件部分时,它们的稳定性是最好的。外部因素也不应该影响测试的结果。

6. 测试自动化

尽管可以手动进行单元测试,但当前的做法鼓励使用自动化单元测试方法。事实证明,它不仅高效、便宜,而且省时。单元测试是DevOps 自动化工具执行的一项基本功能,可简化编码过程。

最后感谢每一个阅读我文章的人,一点小心意,虽然不是啥值钱的,需要的话直接拿走:

 

 

http://www.lryc.cn/news/23401.html

相关文章:

  • 代码随想录算法训练营day45 |动态规划之背包问题 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
  • 秒懂算法 | 基于图神经网络的推荐算法
  • CANoe TC8测试脚本的结构介绍
  • DP(4)--区间DP
  • 【C语言】“qsort函数详解”与“使用冒泡思想模拟使用qsort”
  • 接口自动化框架---升级版(Pytest+request+Allure)
  • C语言循环语句简述
  • STM32开发(16)----CubeMX配置DMA
  • 让物流园区可视可控,顺丰供应链与亚马逊云科技的供应链新解法
  • 2023年3月北京/西安/广州/深圳DAMA-CDGA/CDGP数据治理认证报名
  • 「TCG 规范解读」TCG 主规范-设计原则
  • 【Spring源码】Spring AOP的核心概念
  • 华为OD机试用Python实现 -【任务混部】(2023-Q1 新题)
  • Linux yum 命令
  • package.json 字段配置
  • springboot中集成redis,二次封装成工具类
  • Linux Vim 简介
  • 软件测试面试题 —— 整理与解析(2)
  • HashMap与Hashtable的这九个区别,你知道吗
  • Java奠基】掌握Java基础知识
  • Hive窗口函数-lead/lag函数
  • 2023JAVA面试题全集超全面超系统超实用!早做准备早上岸
  • FreeRTOS入门(05):事件组
  • 【API网关】Kong安装和基本操作
  • git --- stash用法
  • 【星海出品】VScode安装配置
  • docker 基础命令备忘录
  • 华为OD机试 - 创建二叉树(Java JS Python)
  • 服务案例|基于IT事件管理,提升业务连续性
  • 你说下HashMap的工作原理?