开发人员为什么要写测试用例?

news2024/10/6 18:28:41

作为一名开发人员,你可能会发现周围的开发并不太喜欢写测试用例,甚至有些同学根本不写测试用例,认为写测试用例完全是浪费时间,或者是测试用例只是测试的事情。

在开发过程中,往往都是呼啦啦的写完代码,然后用 Postman 或者 Httpclient 等接口工具请求下接口,看着没问题就提测,然后等测试人员反馈问题。

这大概和职业以及所处的环境又关系,有些是公司没有相关的要求,有些是注重敏捷开发(项目和自己总有一个敏捷),不过群里有些同学问测试用例的事情,而我前段时间正好在写测试用例,所以做了一些笔记,在这里和大家分享一下。

以下内容都是自己粗鄙的理解,不对的地方,请指出。

1为什么要写测试用例

测试逻辑功能是否正常

测试用例听名字就可以知道意思,就是对自己所写的代码逻辑功能进行测试。毕竟辛辛苦苦写的代码,能不能运行,总得有个地方验证一下,所以就只能测试了。

单元测试和集成测试有时候不太好区分,可以简单的按照是否调用了第三方的服务来进行区分。不过在开发中,使用的工具其实都很类似。

单元测试:对某一块功能单元的测试,在我看来就是对一个方法的测试,不要跨跃很多个方法,或者调很多层。因为调用其他方法的逻辑,那是其他方法的单元测试。

集成测试:对集成其他组件、调用三方接口等功能的测试,比如集成 MySQL、MQ、缓存、RPC 组件等等。

重构、梳理逻辑

比如在 《Java 开发手册》[1] 中建议单个方法的长度不要超过 80 行也是有一定原因的,因为一个逻辑一旦超过 80 行,就说明该进行拆分了,内部逻辑是否合理就需要再 Review。

而逻辑复杂,对单元测试也及其不友好,比如大量的 if-else、对象转换等等,通过单元测试,都可以很清晰的梳理清楚,将可以拆分的功能独立出去,从而使代码结构更清晰。

有助于 Review

在阅读代码时,如果有测试用例可以进行参考,则可以更快的读懂逻辑。不管这段代码是给别人 Review,还是说一段时间之后自己重读,测试用例都很重要。(代码注释也很重要)

防止 bug

如果自己写了单元测试,在别人修改代码时,突然发现之前的单元测试不能够执行了,那对这块代码的修改就需要慎重考虑一下了。

2单元测试要写成什么样

alt

这里可以参考《Java 开发手册》中的介绍。

3测试工具

在 SpringBoot 中直接使用 spring-boot-starter-test 即可,内部包含了以下组件:

alt

其他就是各种组件如何结合使用的问题,在后面会一一讲到。

引用链接:

[1]

Java 开发手册: https://github.com/alibaba/p3c

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【负荷预测、电价预测】基于神经网络的负荷预测和价格预测附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

别人熬夜看世界杯 我熬夜改代码 你满意了

2022年卡塔尔世界杯正如火如荼地进行着, 一边是热火朝天的比赛,一边是让人惊掉下巴的爆冷结局, 但正因为这些不确定因素,反倒让世界杯增添了几分魅力和乐趣! 小编在看球赛的过程中,不禁起了联想&#xff…

Django+Vue中文件的上传和下载

场景:上传一个源数据Excel文件,然后根据数据处理生成另外一个Excel文件并支持下载 Django: 1.首先在Django的settings.py文件中增加配置 MEDIA_URL /media/ MEDIA_ROOT os.path.join(BASE_DIR, media)2.项目的urls.py中增加 url(r^medi…

环境主题静态HTML网页作业作品 大学生环保网页设计制作成品 简单DIV CSS布局网站

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

百度智能云与实体经济“双向奔赴”: 一场1+1>2的双赢

实体经济,已经成为检验科技企业潜力的试金石。 在最近的财报季中,各家大厂的财报里“实体经济”都是关键字眼,已经成为各家心照不宣的共同目的地。 当然,条条大路通罗马。每一家的战略思路和打法都不一样。11月22日,…

Centos7下新硬盘的挂载操作

1、查看当前硬盘使用情况 df -h 2、 查看磁盘分配情况 fdisk -l 如图所示 vdb 磁盘 还未被使用,现在开始分配。 3、 磁盘分配 使用m查看详细命令,n添加一块新分区,默认最多只能有四个主分区,但可以通过设置将第…

Web前端开发技术课程大作业,期末考试HTML+CSS+JavaScript电竞游戏介绍网站

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

SpringCloudAlibaba全网最全讲解5️⃣之Feign(建议收藏)

🌈专栏简介 感谢阅读,希望能对你有所帮助,博文若有瑕疵请在评论区留言或在主页个人介绍中添加我私聊我,感谢每一位小伙伴不吝赐教。我是XiaoLin,既会写bug也会唱rap的男孩,这个专栏主要是介绍目前微服务最主流的解决方…

4 款适用于 Windows 的最佳免费 GIS 软件

GIS 代表地理信息系统,用于分析、存储、操作和可视化地图上的地理信息。GIS是一种应用广泛的软件,在农业、天文、考古、建筑、银行、航空等各个领域都有应用。开始这些项目,需要 shapefile。一些网站提供不同国家的免费 shapefile。下载免费 …

软件测试入门+面试点

前言:大约是2022年11月18日,我想学习软件测试,在此之前我是Java路线的,这不大环境的竞争激烈在加上自身的能力分析,我认为测试可能是我找工作路上的救赎之光,又恰逢这个时间点,留给我的时间不多…

python实现综合评价模型TOPSIS

原文:https://mp.weixin.qq.com/s/J9fZQ8T9TR1Ed7taPGYYjw 1 TOPSIS简介 有关综合评价的方法有多种, 根据赋权方法不同主要有两类:一类是主观赋值法, 如指数法、层次分析法、模糊综合评价法等;另一类是客观赋值法&am…

Ceph集群部署

目录 一、环境准备 1、准备4台centos服务器 2、配置ceph源 3、配置主机名解析和SSH互信 4、NTP时间同步 二、ceph集群部署 1、安装ceph组件 2、部署MON集群 3、部署OSD集群 一、环境准备 1、准备4台centos服务器 主机主机名IP备注客户端client192.168.2.10关闭selin…

中国传统节日春节网页HTML代码 春节大学生网页设计制作成品下载 学生网页课程设计期末作业下载 DW春节节日网页作业代码下载

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

常用眼底图像数据集简介及下载--糖尿病视网膜病变(Eyepacs,APTOS2019,Messdior,Messdior-2,STARE数据集)

一、糖尿病视网膜病变图像介绍 1.微动脉瘤通常出现在病变早期,它是由于眼部毛细血管缺氧导致血管壁变薄,从而在视网膜上呈现出深红色的点状物 2.出血点一般出现在血管附近,它是由于血管阻塞导致血液渗出形成的,呈现暗斑状 3.软性和…

包含min函数的栈、栈的压入弹出序列、从上往下打印二叉树、二叉搜索树的后序遍历序列

文章目录1、包含min函数的栈2、栈的压入弹出序列3、从上往下打印二叉树4、二叉搜索树的后序遍历序列1、包含min函数的栈 本题考点: 栈的规则性设计 牛客链接 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 m…

python之函数返回值传参Lambda表达式

目录 一、函数 函数与方法的区别 二、 函数返回值 三、函数传参 四、lambda表达式 一、函数 函数与方法的区别 直接调用的是函数 通过对象点出来的是方法 print("hello") a [2, 1, 3] # 对象 a.sort() print(a) 二、 函数返回值 # 返回值 def sum(*ar…

云服务器最佳实践-Linux云服务器SSH登录的安全加固

Linux云服务器常用的登录方式是SSH,对于密码登录方式创建的云服务器,如何保证登录安全性呢?本文以CentOS 7.6为例,对SSH登录进行安全加固。 修改默认端口 1、通过SSH密码方式远程登录云服务器。 2、执行以下命令,修改…

4-Arm PEG-N3,4-Arm PEG-Azide,四臂-聚乙二醇-叠氮一种多臂PEG衍生物

4-Arm PEG-Azide(4-Arm PEG-N3)一种多臂PEG衍生物,中文名为四臂-聚乙二醇-叠氮,它所属分类为Azide PEG Multi-arm PEGs。 该多臂peg衍生物的分子量均可定制:四臂-PEG 2000-叠氮、4-Arm PEG-N3 20000、四臂-peg 1000-叠…

linux常用服务配置、网络配置 和 基于FTP的上传和下载的几种方式

一. 网络服务配置 1. 主机名配置 hostname: 查看主机名 hostname xxx: 修改主机名(重启后无效) PS: 如果想要永久生效,可以修改/etc/sysconfig/network文件 2. 静态IP的配置 (1). 查看ip地址 : ifconfig (2). 临时修改ip地址&…

OpenCV实现文档自动矫正(含源码和测试数据)

OpenCV实现文档自动矫正(含源码和测试数据) 目录 OpenCV实现文档自动矫正 1. OpenCV文档矫正的方法 (1)基于霍夫变换的文档矫正方法 (2)基于透视变换的文档矫正方法 2. OpenCV文档自动矫正实现 &…