一些后端测试的东西

后端测试都测试些什么

  • 接口测试
  • 最小单元测试
  • 联调测试

接口测试

在这里插入图片描述
接口测试要素

可重复性
异常覆盖
环境一致

如何进行方便的接口测试

测试工具: idea-httpRequest , apifox , postman, jmeter

如何使用idea进行高效的接口测试

编写接口

在这里插入图片描述
启动项目直接点击接口启动
在这里插入图片描述
编写自己的httpi请求
在这里插入图片描述
直接所有的类型请求
可以参照Example进行编写
在这里插入图片描述
在这里插入图片描述
接口测试结果

HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 30 Nov 2023 06:16:00 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"id": 1,"name": "testName","school": "Pkhu"
}
Response file saved.
> 2023-11-30T141600.200.json

这里会对请求的参数和结果进行记录,保证了测试的可重复性
在这里插入图片描述
读取环境配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何进行单元测试‘

什么是单元测试
单元测试是针对软件中的最小可测试部分(通常是函数或方法)进行的测试。单元测试的目的是验证这些最小单元的行为是否符合预期,通常是通过编写测试用例来实现。单元测试通常是自动化的,可以在开发过程中频繁地运行,以确保代码的正确性和稳定性。

单元测试的好处包括:

可以快速发现和定位代码中的问题,有助于提高代码质量。
可以在修改代码后快速验证代码的正确性,有助于防止引入新的问题。
可以作为文档,帮助其他开发人员理解代码的预期行为。
单元测试通常是软件开发中的重要环节,也是保证软件质量的重要手段之一。

代码覆盖率测试

一些专业的术语:

代码覆盖率测试是一种衡量软件测试质量的指标,用于评估测试用例是否覆盖了源代码中的各个部分。代码覆盖率测试通常包括以下几种类型:

语句覆盖(Statement Coverage):衡量测试用例是否覆盖了源代码中的每一条语句。
分支覆盖(Branch Coverage):衡量测试用例是否覆盖了源代码中的每个分支(例如 if 语句中的每个分支)。
条件覆盖(Condition Coverage):衡量测试用例是否覆盖了源代码中的每个条件表达式的各种可能取值。
路径覆盖(Path Coverage):衡量测试用例是否覆盖了源代码中的每个可能的执行路径。

如何进行代码覆盖率测试

代码包结构

在这里插入图片描述
1 编写测试代码

@SpringBootTest(classes = DemoApplication.class)
@Slf4j
public class DemoTest {@Autowiredprivate Service testService ;@Testpublic void getGetStundetById(){Student stu = testService.getStudentById("1") ;log.info(stu.toString());Assertions.assertNotNull(stu);}
}

2 点击覆盖率测试
在这里插入图片描述
3 可自由设置需要测试的包
在这里插入图片描述
覆盖测试结果
在这里插入图片描述
结果解读–测试代码没有走controller 故而覆盖率为0 ,
service代码为
在这里插入图片描述
可以对结果进行导出
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rest模式和参数

展开运算符和Rest参数都是JavaScript中的语法特性,用于处理函数的参数。它们在使用方式和功能上有一些区别。 展开运算符用于将可迭代对象展开为独立的值,而Rest参数用于将多个参数收集到一个数组中。展开运算符可以用于多种上下文,而Rest参数…

iOS NSDate的常用API

目录 一、创建日期 1.获取当前时间 2.当前时间指定秒数之后/前的时间 3.指定日期之后/后的时间 4.2001年之后/前指定秒数的时间 5.1970年之后/后指定秒数的时间 二、初始化日期 1.init 2.时间间指定秒数的时间 3.指定时间指定秒数之前/后的时间 4.2001年指定秒数之后…

超级利器!Postman自动化接口测试让你提升测试效率,节省宝贵时间!

Postman自动化接口测试 该篇文章针对已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求的操作。 当前环境: Window 7 - 64 Postman 版本(免费版):Chrome App v5.5.3 …

如何在Docker环境下安装Firefox浏览器并结合内网穿透工具实现公网访问

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…

c#把bitmap格式转换为其他格式图片

增加引用命名空间 using System.Drawing.Imaging; 打开对话框的方式读入bmp格式图片,转换为其他格式。 也可以直接传入图片名称。 OpenFileDialog ofd new OpenFileDialog();ofd.Title "打开对话框";ofd.InitialDirectory "D:/";ofd.Filt…

NoSQL 数据建模错误会降低性能

数据建模错误是破坏性能的最简单方法之一。当您使用 NoSQL 时,特别容易搞砸,(讽刺的是)NoSQL 往往用于对性能最敏感的工作负载。NoSQL 数据建模最初可能看起来非常简单:只需对数据进行建模以适应应用程序的访问模式。但…

初识向量数据库

背景 现在的数据分为20%的传统结构化数据,80%的非结构化数据 结构化数据:主要单元是数值与符号,数据类型高度抽象且易于组织。基于数值运算与关系代数,可以轻松地对结构化数据进行分析。 非结构化数据:常见的类型包括…

禁区!V社CSGO皮肤交易不可触及之红线

2013年8月13日,Valve通过一次版本更新向全世界发布了CS:GO的皮肤系统。自那时起,皮肤系统就成为CS:GO的重要组成部分,不仅为游戏增添了别样的特色,也创造了属于自己的“金融”市场。随着越来越多玩家的加入,皮肤市场也…

高浓度医疗废水处理工艺设备有哪些

高浓度医疗废水处理是目前环境保护领域的一个重要课题。随着医疗行业的快速发展,产生的医疗废水中含有大量的有害物质和病原体,对水资源和环境造成了严重污染威胁。因此,采用适当的处理工艺设备对高浓度医疗废水进行有效的处理和净化显得尤为…

Python Numpy学习(1)

python: np.pad() 函数的用法 np.einsum(爱因斯坦求和约定) python编程之np.isnan()的用法 Python_Numpy库中各种矩阵基本运算 numpy基本加减和取行操作 numpy的加减乘除运算 NumPy 算术函数 TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tenso…

WPF前端实现人脸扫描动画效果

前言 本章实现的效果主要通过OpacityMask与LinearGradientBrush(径向渐变) 的组合应用来实现。最终实现效果如下: LinearGradientBrush线性渐变画刷 LinearGradientBrush其实很简单,我们只需要关注5个属性,使用这5个属性你就可以完成这个画刷几乎所有的变化。 属性介…

国标GB/T28181级联网关的具体功能

国标级联网关具有以下功能: 信令网关服务:实现多级异构平台的标准化级联/互连,支持信令标准化、信令控制、信令交互、信令路由等功能。安全认证:通过GB/T 28181标准提供的安全机制,确保视频监控系统的安全性和隐私保护…