Files
chill_notes/AI工程/概念/测试策略金字塔.md
2026-06-22 11:30:51 +08:00

100 lines
3.2 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试策略金字塔
> 相关:[[核心Loop]]、[[超级Loop]]、[[Playwright]]、[[Browser_Use]]
## 定义
**测试策略金字塔**是AI辅助下的分层测试策略从代码扫描到端到端测试层层递进。
**核心思想**:分层测试,每层有不同的测试对象和工具。
## 测试层级
| 测试类型 | 测试对象 | 工具含AI | 负责人 |
|---------|---------|--------------|-------------------|
| **Lint代码扫描** | 代码风格、代码逻辑和片段 | TS Lint/SonarQube | 程序 |
| **Code Review** | 代码逻辑、架构设计、规范 | GitHub Copilot、Claude Code、CodeRabbit、GitHub PR | 开发者 + AI Review Agent |
| **单元测试** | 函数/类行为、边界条件、异常处理 | JUnit、pytest、Jest + AI生成测试代码 | 开发者 + Test Generation Agent |
| **API测试** | 接口契约、输入输出、鉴权、错误码、业务规则 | Karate、RestAssured补充 + AI生成测试用例 | QA + 后端开发 + API Test Agent |
| **E2E测试** | 用户关键路径、跨系统流程、前后端联动 | Playwright + AI生成脚本/自愈 | QA + 自动化测试工程师 + E2E Agent |
## AI的作用
### Lint代码扫描
- 自动修复格式问题
- 检测潜在的bug
- 提供修复建议
### Code Review
- 速度快:几分钟内完成审查
- 覆盖广:可以检查多个维度(安全、性能、规范)
- 一致性:不会遗漏
### 单元测试
- 快速生成大量测试用例
- 覆盖边界条件
- 生成Mock数据
### API测试
- 根据OpenAPI规范生成测试用例
- 生成测试数据
- 自动生成断言
### E2E测试
- 生成测试脚本
- 自愈selector修复
- 步骤补全
## 测试金字塔演变
### 传统测试金字塔
```
E2E测试少量
/ \
/ 集成测试 \
/ (中等数量) \
/ \
/ 单元测试 \
/ (大量) \
/_________________________\
```
### AI时代的测试策略
- **AI生成大量单元测试**:覆盖边界条件
- **AI生成API测试**基于OpenAPI规范
- **AI操作浏览器做E2E测试**:模拟真实用户
- **人工专注于Code Review**审查AI的审查结果
## 适用场景
- **所有项目**:都需要分层测试
- **复杂项目**:需要完整的测试金字塔
- **AI辅助开发**充分利用AI生成测试
## 优势
- **全面覆盖**:从代码到端到端,全面覆盖
- **自动化**充分利用AI生成测试
- **质量保障**:多层测试保证代码质量
- **效率提升**AI生成测试提高效率
## 挑战
- **维护成本**:需要维护多层测试
- **运行时间**:完整的测试金字塔运行时间长
- **学习成本**:需要了解多种测试工具和策略
## 最佳实践
1. **分层测试**单元测试→API测试→E2E测试
2. **AI生成测试**利用AI快速生成大量测试用例
3. **人工审查**AI生成的测试需要人工审查
4. **持续集成**所有测试集成到CI/CD流程
## 相关概念
- [[核心Loop]]核心Loop使用测试策略金字塔
- [[超级Loop]]超级Loop扩展了测试策略金字塔
- [[Playwright]]E2E测试使用的工具
- [[Browser_Use]]E2E测试使用的工具