Update from Sync Service
This commit is contained in:
99
AI工程/概念/测试策略金字塔.md
Executable file
99
AI工程/概念/测试策略金字塔.md
Executable file
@@ -0,0 +1,99 @@
|
||||
# 测试策略金字塔
|
||||
|
||||
> 相关:[[核心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测试使用的工具
|
||||
Reference in New Issue
Block a user