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 從公開儲存庫中收錄這些內容。

檢舉或申請下架