SuperAPI AI 工具集

test-automation-expert

测试与质量

查看项目

更新于 10-15 15:38

技能介绍

Test Automation Expert 是一个专注于测试自动化的综合技能,提供从单元测试到 E2E 测试的完整指导,帮助设计测试策略、实现自动化并优化覆盖率,以支撑可持续的质量保障。

【用途】 适用于以下场景:为新项目设计测试策略;搭建测试框架(Jest、Vitest、Playwright、Cypress、pytest);编写有效的单元、集成和 E2E 测试;优化测试覆盖率并消除覆盖盲区;调试不稳定的 flaky 测试;配置 CI/CD 测试流水线;提供测试驱动开发(TDD)指导;以及制定 Mock 策略与测试夹具。

不适用于:手工 QA 测试用例编写(本技能聚焦自动化);负载/性能测试(改用 performance-engineer 技能);安全测试(改用 security-auditor 技能);仅做 API 契约测试(API 设计改用 backend-architect)。

【核心理念:测试金字塔】 测试金字塔按分布划分:E2E 测试约占 10%,用于关键用户旅程和跨浏览器验证;集成测试约占 20%,用于 API 契约和组件交互;单元测试约占 70%,要求快速、隔离、确定性,用于业务逻辑验证。分布指引给出执行时间参考:单元测试每个小于 100ms,集成测试每个小于 1s,E2E 测试每个小于 30s。

【框架选择】 JavaScript/TypeScript 方面:Vitest 最适合 Vite 项目与现代 ESM,速度最快、配置复杂度低;Jest 适合 React 及既有项目,速度快、配置复杂度中等;Playwright 适合 E2E 与跨浏览器测试,配置复杂度低;Cypress 适合 E2E 与组件测试,配置复杂度中等。Python 方面:pytest 适合几乎所有场景,速度快,支持 fixtures 与插件;unittest 为标准库,速度中等,内置支持;hypothesis 用于基于属性的测试,速度不定,支持生成式测试。

决策树:新项目若使用 Vite 则选 Vitest,否则 Jest 或 Vitest 均可;既有项目若已用 Jest 则保留(迁移成本通常不划算),若用 Mocha 可考虑迁移到 Vitest,若什么都没有则用 Vitest(现代默认)。需要 E2E 时:跨浏览器为关键需求选 Playwright,重视开发者体验选 Cypress,两者都想要则选 Playwright(更灵活)。

【主要能力】 单元测试模式:提供良好的单元测试结构,采用 Arrange-Act-Assert 模式,显式测试边界情况(空字符串、null/undefined)。Mock 策略强调在边界处 Mock(外部 API、数据库、外部服务),每个测试显式设置 Mock,避免 Mock 内部实现细节。测试隔离清单要求:每个测试可独立运行、测试间无共享可变状态、数据库/API 状态在测试间重置、无测试顺序依赖、可安全并行执行。

集成测试模式:给出 API 集成测试范例(测试数据库创建、清理、验证响应与副作用、重复数据冲突场景)和 React 组件集成测试范例(验证加载状态、等待数据、验证加载完成状态)。

E2E 测试模式:Playwright 最佳实践包括通过 API 预置测试数据、使用可访问性选择器(getByRole、getByLabel)、验证成功与失败路径(如信用卡被拒场景)。

Flaky 测试检测与预防:常见成因为异步操作竞态条件、依赖时间的测试、测试间共享状态、网络波动、动画/过渡时序。修复方式包括等待特定条件而非固定超时、Mock 时间而非检查精确时间、等待动画完成而非立即断言。

覆盖率优化:指标目标包括行覆盖率 80%+(优先级中)、分支覆盖率 75%+(优先级高)、函数覆盖率 90%+(优先级中)、关键路径覆盖率 100%(关键)。提供 Vitest 覆盖率配置示例(排除目录、阈值设置)以及查找覆盖率盲区的命令。

CI/CD 集成:提供 GitHub Actions 配置,分别设置单元测试任务(含覆盖率上传)与 E2E 测试任务(安装 Playwright、运行 E2E、失败时上传报告制品)。

测试并行化:提供 Vitest 多线程池配置与 Playwright workers/fullyParallel 配置。

【反模式】 技能列出四类反模式:测试实现细节(耦合内部状态或私有方法,重构即失效,应测试可观察行为与公开接口);过度 Mock(处处 Mock 导致真实代码损坏时测试仍通过,仅在系统边界 Mock);容忍 flaky(把 flaky 当作跳过理由,实则其反映竞态或时序问题,应修复或在修复期间隔离);覆盖率作秀(只调用不写断言,100% 覆盖率却 0% 信心,每个测试都应断言有意义的行为)。

【参考文件】 包含 references/test-strategy.md(测试策略框架)、references/framework-comparison.md(框架详细对比)、references/coverage-patterns.md(覆盖率优化技巧)、references/ci-integration.md(CI/CD 流水线配置)。

涵盖范围:测试策略、单元测试、集成测试、E2E 测试、覆盖率、CI/CD、flaky 测试调试。可与 security-auditor(安全测试)、performance-engineer(负载测试)、code-reviewer(测试质量)配合使用。

【限制】 仅覆盖资料中明确描述的内容;未提供具体定价、收费、平台支持范围或实际效果数据,这些信息暂未提供。