# 测试策略金字塔 > 相关:[[核心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测试使用的工具