# Fec Testing Strategy

> Use when planning or reviewing a frontend testing strategy, selecting the right test layer by risk, mapping coverage across static checks, unit tests, component tests, integration tests, E2E, Storybook/visual regression, a11y, security, performance, or CI gates. Do not use to write individual component/E2E tests or merely run existing validation commands; Chinese triggers include 测试策略, 测试分层, 测试计划, 覆盖矩阵.

- Skill: `majiayu000/fec-testing-strategy-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/fec-testing-strategy-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/fec-testing-strategy-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/majiayu000/fec-testing-strategy-2

---


# 前端测试策略

## Purpose

按“离代码多近 / 覆盖风险层级”选择测试方法，避免把所有风险都塞进组件测试或 E2E。

## Procedure

1. 识别改动类型：纯逻辑、UI 组件、跨模块流程、浏览器能力、视觉稳定性、专项质量风险或发布门禁。
2. 建立测试层级矩阵，至少区分：
   - 静态检查：TypeScript、ESLint、格式、依赖安全、构建。
   - 单元测试：utils、hooks/composables、状态逻辑、schema、纯函数。
   - 组件测试：props/emits、用户交互、loading/error/empty、mock 边界。
   - 轻量集成测试：表单 + API mock + 路由/Store/Provider 上下文。
   - E2E：真实浏览器、跨页面关键旅程、鉴权、支付、权限、CI artifacts。
   - 视觉/交互文档：Storybook interaction、Chromatic、视觉回归基线。
   - 专项质量：a11y、安全、性能、兼容性。
3. 按风险分配覆盖：高频核心路径优先 E2E，复杂组件状态优先组件测试，纯逻辑优先单元测试，跨 provider 协作用轻量集成测试。
4. 用测试金字塔控制维护成本：
   - 越靠近纯逻辑，测试越多、越快、越稳定。
   - E2E 只覆盖用户关键旅程和真实浏览器风险，不覆盖每个分支。
   - 视觉、a11y、安全和性能属于专项质量层，不塞进普通组件测试。
5. 检查是否已有命令、测试框架、目录约定和 CI 门禁；沿用项目现状，不为策略文档引入不必要工具。
6. 规划失败证据：每个高风险项要说明失败时如何定位，例如断言、截图、trace、coverage、日志或报告。
7. 设计测试数据与 mock 策略：共享 fixture 表达业务场景，测试数据 builder 只封装噪声字段，避免每个测试手写随机对象。
8. 管理 flaky 风险：把时间、网络、动画、随机数、并发和外部服务标为不稳定来源，并指定隔离、重试和证据产物。
9. 输出可执行的最小测试计划：每层覆盖什么、不覆盖什么、优先级、建议命令和责任 skill。

## Constraints

- 不把测试策略写成泛泛的“多写测试”；每个建议必须对应具体风险。
- 不要求所有项目都补齐完整测试金字塔；按业务风险和团队维护能力裁剪。
- 不把 E2E 当作单元/组件测试的替代品；不把组件测试当作真实浏览器兼容保证。
- 不为小改动强制引入新框架；优先复用仓库已有工具和脚本。
- 不追求没有风险说明的覆盖率数字；覆盖率只能辅助判断，不能替代场景覆盖。
- 不把随机 fixture、共享全局状态或依赖执行顺序的测试纳入主干门禁。

## Expected Output

输出测试分层建议、风险到测试层的映射、优先级、建议命令、需新增或调整的测试文件范围，以及明确分流到哪些专项 skill 或 agent。

