SuperAPI AI 工具集

senior-qa

测试与质量

查看项目

更新于 10-15 14:48

技能介绍

Senior QA Engineer 是一个面向 React 和 Next.js 应用的测试自动化、覆盖率分析与质量保障技能,围绕 Jest、React Testing Library 和 Playwright 构建。

用途 该技能用于为 React/Next.js 项目生成测试、编写单元测试、分析覆盖率、搭建端到端测试,以及配置 Jest 阈值和提升整体测试质量。典型使用场景包括:为新组件或已有 React 组件建立单元测试;改进测试覆盖率或为发布做准备;为 Next.js 项目搭建 Playwright E2E 测试;配置 Jest 阈值或改善测试质量。

主要能力

  1. 单元测试生成:扫描 React/TypeScript 组件,输出 Jest + RTL 测试桩,覆盖渲染、交互、状态,并可选集成 jest-axe 无障碍测试。
  2. 覆盖率分析:解析 Istanbul/LCOV 报告,按严重程度识别缺口,标记关键业务逻辑路径,并输出文本、HTML 或 JSON 格式的建议。
  3. E2E 脚手架:检测 Next.js 路由(动态段、路由组、认证页面),生成 Playwright 规格文件、Page Object Model、fixtures 和配置。
  4. 测试策略:涵盖测试金字塔、按代码类型划分的覆盖率目标以及测试组织模式。
  5. 自动化模式:包括 Page Object Model、数据工厂、MSW 模拟、fixtures 和自定义渲染工具。
  6. 质量实践:可测试代码设计、AAA 结构、测试隔离、消除不稳定测试以及质量指标。

使用方式 该技能提供三个脚本工具:

  • test_suite_generator.py:从 React 组件生成 Jest + RTL 测试桩,命令示例:python scripts/test_suite_generator.py src/components/ --output tests/
  • coverage_analyzer.py:分析 Istanbul/LCOV 覆盖率并报告缺口,命令示例:python scripts/coverage_analyzer.py coverage/coverage-final.json --threshold 80
  • e2e_test_scaffolder.py:从 Next.js 路由搭建 Playwright E2E 测试,命令示例:python scripts/e2e_test_scaffolder.py src/app/ --output e2e/

在生成测试前,需要先确认以下输入,若未知或不明确应主动询问而非假设:测试层级(单元测试 Jest+RTL 还是 E2E Playwright)、源路径(要生成测试的组件或 Next.js 路由)、覆盖率重点(仅正常路径还是包含交互/状态/无障碍)。若用户表示“直接起草”,则继续执行并在产物顶部列出假设。

该技能附带多份参考文档,按需加载:qa-workflows-and-tools.md(快速开始、三个工具概览与示例输出、工作流、常见模式片段、命令与故障排查)、tool-cli-reference.md(完整参数表、示例、输出格式与生成产物)、testing_strategies.md(测试金字塔、测试类型、覆盖率目标与阈值、测试组织模式)、test_automation_patterns.md(Page Object Model、数据工厂、fixture 管理、MSW 模拟策略、自定义测试工具)、qa_best_practices.md(可测试代码编写、命名约定、AAA 模式、测试隔离、不稳定测试调试、质量指标)。

适用场景 适用于 React/TypeScript 函数组件与类组件的单元测试桩生成、基于 Istanbul JSON 与 LCOV 报告的覆盖率分析与缺口识别、Next.js App Router 与 Pages Router 项目的 Playwright E2E 测试搭建,以及通过 jest-axe 集成生成无障碍测试。

限制 该技能不覆盖:后端 API 测试(参见 senior-backend 的 Express/Node.js 测试模式)、性能或负载测试(参见 senior-devops 的基础设施与性能工具)、视觉回归测试或截图对比工作流、移动原生测试(React Native、Flutter)——本技能仅针对基于 Web 浏览器的测试。

集成点

  • senior-frontend:生成的测试桩与前端技能的组件模式对齐,数据流为前端组件 → test_suite_generator.py → 测试文件。
  • senior-fullstack:代码质量分析器消费此处生成的覆盖率报告,数据流为 coverage_analyzer.py 输出 → fullstack 质量仪表盘。
  • senior-devops:E2E 测试脚手架生成可接入 DevOps 流水线的 CI 就绪 Playwright 配置,数据流为 e2e_test_scaffolder.py → playwright.config.ts → GitHub Actions 工作流。
  • code-reviewer:覆盖率缺口直接进入代码审查清单,用于未测试变更,数据流为 coverage_analyzer.py 缺口 → 审查清单项。
  • tdd-guide:TDD 工作流引用本技能的测试生成器进行初始红阶段测试桩创建,数据流为 TDD 循环 → test_suite_generator.py --scan-only → 编写测试 → 实现。
  • qa-browser-automation:此处生成的 Page Object Model 被浏览器自动化技能消费,用于高级 E2E 场景,数据流为 e2e_test_scaffolder.py --include-pom → POM 类 → 浏览器自动化流程。