Bmad Qa Generate E2e Tests

bmad-code-org/bmad-method/skills/bmad-qa-generate-e2e-tests

作者 bmad-code-orgbda3c5929f67无许可证53K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库昨天更新

Generate automated API and end-to-end tests for implemented features. Use when the user says "create qa automated tests for [feature]"

AI 生成的概览

为已实现的功能生成自动化 API 与端到端测试,并输出测试摘要。

功能
引导充当 QA 自动化工程师的智能体,为已实现的代码生成自动化 API 测试和端到端测试。它会检测项目现有的测试框架、确定要覆盖的功能,生成针对状态码和响应结构的 API 测试以及针对用户工作流的 UI 测试,然后运行测试并修复失败。最后将 Markdown 格式的测试自动化摘要写入配置的输出路径。
适用场景
适用于用户要求为某个功能创建 QA 自动化测试,或已实现的代码需要 API 与端到端测试覆盖的场景。该技能仅用于生成测试,不用于代码审查或故事验证。
运行要求
需要 BMad 项目环境,包括通过 uv 运行的 _bmad 脚本 resolve_customization.py 和 resolve_config.py,以及提供输出文件夹的项目配置。它依赖项目现有的测试框架(如 Playwright、Jest、Vitest 或 Cypress),并可能需要网络访问以查询推荐的框架。该技能本身不附带脚本,只有指令和配置文件。

QA Generate E2E Tests Workflow

Goal: Generate automated API and E2E tests for implemented code.

Your Role: You are a QA automation engineer. You generate tests ONLY — no code review or story validation (use the bmad-code-review skill for that).

Conventions

  • Bare paths (e.g. checklist.md) resolve from the skill root.
  • {skill-root} resolves to this skill's installed directory (where customize.toml lives).
  • {project-root} is the nearest folder containing _bmad/, starting at the project working directory and moving up through its parents.
  • {skill-name} resolves to the skill directory's basename.

On Activation

Step 1: Resolve the Workflow Block

Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

If the script is not found, BMad is not set up here. Offer to run the bmad skill's setup, installing bmad first if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again.

If it fails for any other reason, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:

  1. {skill-root}/customize.toml — defaults
  2. {project-root}/_bmad/custom/{skill-name}.toml — team overrides
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.

Step 2: Execute Prepend Steps

Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.

Step 3: Load Persistent Facts

Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} — load the referenced contents as facts. All other entries are facts verbatim.

Step 4: Load Config

Run: uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.project_name --key core.output_folder --key core.active_initiative

  • Script not found, or no output_folder: BMad is not set up here. Offer to run the bmad skill's setup, installing bmad first if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again.

  • No active_initiative: drop /{active_initiative} from the paths below.

  • date as system-generated current datetime

  • YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style

Step 5: Greet the User

Greet the user.

Step 6: Execute Append Steps

Execute each entry in {workflow.activation_steps_append} in order.

Activation is complete. If activation_steps_prepend or activation_steps_append were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.

Paths

  • test_dir = {project-root}/tests
  • source_dir = {project-root}
  • default_output_file = {output_folder}/{active_initiative}/test-summary-{slug}/test-summary-{slug}.md, {slug} naming the feature tested

Execution

Step 0: Detect Test Framework

Check project for existing test framework:

  • Look for package.json dependencies (playwright, jest, vitest, cypress, etc.)
  • Check for existing test files to understand patterns
  • Use whatever test framework the project already has
  • If no framework exists:
    • Analyze source code to determine project type (React, Vue, Node API, etc.)
    • Search online for current recommended test framework for that stack
    • Suggest the meta framework and use it (or ask user to confirm)

Step 1: Identify Features

Ask user what to test:

  • Specific feature/component name
  • Directory to scan (e.g., src/components/)
  • Or auto-discover features in the codebase

Step 2: Generate API Tests (if applicable)

For API endpoints/services, generate tests that:

  • Test status codes (200, 400, 404, 500)
  • Validate response structure
  • Cover happy path + 1-2 error cases
  • Use project's existing test framework patterns

Step 3: Generate E2E Tests (if UI exists)

For UI features, generate tests that:

  • Test user workflows end-to-end
  • Use semantic locators (roles, labels, text)
  • Focus on user interactions (clicks, form fills, navigation)
  • Assert visible outcomes
  • Keep tests linear and simple
  • Follow project's existing test patterns

Step 4: Run Tests

Execute tests to verify they pass (use project's test command).

If failures occur, fix them immediately.

Step 5: Create Summary

Output markdown summary:

markdown
# Test Automation Summary
## Generated Tests
### API Tests- [x] tests/api/endpoint.spec.ts - Endpoint validation
### E2E Tests- [x] tests/e2e/feature.spec.ts - User workflow
## Coverage- API endpoints: 5/10 covered- UI features: 3/8 covered
## Next Steps- Run tests in CI- Add more edge cases as needed

Keep It Simple

Do:

  • Use standard test framework APIs
  • Focus on happy path + critical errors
  • Write readable, maintainable tests
  • Run tests to verify they pass

Avoid:

  • Complex fixture composition
  • Over-engineering
  • Unnecessary abstractions

For Advanced Features:

If the project needs:

  • Risk-based test strategy
  • Test design planning
  • Quality gates and NFR assessment
  • Comprehensive coverage analysis
  • Advanced testing patterns and utilities

Install Test Architect (TEA) module: https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/

Output

Save summary to: {default_output_file}

Done! Tests generated and verified. Validate against checklist.md.

On Complete

Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete

If the resolved workflow.on_complete is non-empty, follow it as the final terminal instruction before exiting.

来源与署名

来源:bmad-code-org/bmad-method位于skills/bmad-qa-generate-e2e-tests提交bda3c59

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架