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

一些后端测试的东西

后端测试都测试些什么

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

接口测试

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

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

如何进行方便的接口测试

测试工具: 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 {
    @Autowired
    private Service testService ;
    @Test
    public void getGetStundetById(){
        Student stu = testService.getStudentById("1") ;
        log.info(stu.toString());
        Assertions.assertNotNull(stu);
    }
}

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

在这里插入图片描述


http://www.kler.cn/a/156091.html

相关文章:

  • 基于 Python Django 的二手房间可视化系统分析
  • react 中 useContext Hook 作用
  • 速盾:高防 CDN 和 CDN 的缓存机制都一样吗?
  • 在Java中使用ModelMapper简化Shapefile属性转JavaBean实战
  • WPF学习之路,控件的只读、是否可以、是否可见属性控制
  • (干货)Jenkins使用kubernetes插件连接k8s的认证方式
  • day5 两数之和为x
  • SSM SpringBoot vue社团事务管理系统
  • mysql中的锁及其作用
  • 【迅搜05】索引配置(二)字段定义与设计
  • Vue经典面试题源码级分析【一】
  • python之UDP网络应用程序开发
  • 传感器:探索Android中的传感器功能与使用
  • Linux 进程状态
  • Linux socket编程(9):IO复用之poll和epoll详解
  • 【算法】单调队列 滑动窗口最大值
  • 51单片机项目(19)——基于51单片机的传送带产品计数器
  • 轻量封装WebGPU渲染系统示例<42>- vsm阴影实现过程(源码)
  • conda旧环境快速复制新环境
  • 使用mongodb实现简单的读写操作
  • Leetcode刷题详解——乘积为正数的最长子数组长度
  • 〖大前端 - 基础入门三大核心之JS篇㊻〗- JS + CSS实现动画
  • jvm的2种赋值机制
  • 唯创知音WT2605C语音芯片MP3音频IC:轻松实现指令随机播放与无缝循环播放等功能
  • Siemens-NXUG二次开发-C/C++/Python环境配置[20231204]
  • C++ 抽象类和接口 详解