| 维度 | 单元测试 Unit Test | 集成测试 Integration Test | 端到端 E2E 测试 |
|---|---|---|---|
| 测试对象 | 最小代码单元:函数、方法、类 | 多个模块/接口/服务之间协作 | 整个系统,模拟真实用户 |
| 测试范围 | 最小、局部 | 模块间、接口间、服务间 | 全链路、从头到尾完整业务 |
| 是否看内部代码 | 白盒,要看代码逻辑 | 灰盒,关注接口交互 | 黑盒,不关心内部实现 |
| 关注点 | 逻辑对不对、边界值、算法正确性 | 接口联调、参数传递、数据库交互 | 业务流程通不通、页面交互、整体体验 |
| 谁来写 | 开发自己写 | 开发+测试一起做 | 测试为主,也可自动化开发写 |
| 举例(AI项目) | 单独测一个文本清洗函数、相似度计算函数 | 测后端接口调向量库、LLM接口联调 | 打开网页→提问→得到完整回答全流程 |
| 执行速度 | 极快,毫秒级 | 中等 | 慢,整条链路耗时久 |
| 适合场景 | 开发阶段写完就自测 | 模块联调、接口联调阶段 | 版本上线前、全链路回归 |
| 能否发现架构问题 | 不能 | 能发现模块协作问题 | 能发现整体流程、环境、配置问题 |