一些后端测试的东西

后端测试都测试些什么

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

接口测试


接口测试要素

可重复性

异常覆盖

环境一致

如何进行方便的接口测试

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

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

编写接口

启动项目直接点击接口启动

编写自己的httpi请求

直接所有的类型请求

可以参照Example进行编写

接口测试结果

java 复制代码
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 编写测试代码

java 复制代码
@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代码为

可以对结果进行导出

相关推荐
AI+程序员在路上2 天前
单元测试与QTestLib框架使用
开发语言·c++·单元测试
RainbowJie13 天前
Spring Boot 使用 SLF4J 实现控制台输出与分类日志文件管理
spring boot·后端·单元测试
gb42152874 天前
springboot项目下面的单元测试注入的RedisConnectionFactory类redisConnectionFactory值为什么为空呢?
spring boot·后端·单元测试
大熊猫侯佩5 天前
用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(二)
单元测试·swift·apple
还是鼠鼠5 天前
单元测试-断言&常见注解
java·开发语言·后端·单元测试·maven
孟陬6 天前
Bun test 常见问题
react.js·单元测试·bun
大熊猫侯佩6 天前
用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(一)
单元测试·swift·wwdc
大熊猫侯佩6 天前
Xcode 16 中 Swift Testing 的参数化(Parameterized)机制趣谈
单元测试·swift·apple