BMAD-METHOD/expansion-packs/bmad-production-qa/README.md

9.0 KiB

BMAD Production QA Expansion Pack

Transform your BMAD development workflow with comprehensive, production-ready QA and testing capabilities. This expansion pack integrates seamlessly with BMAD's natural language approach while providing enterprise-grade testing automation.

🎯 What This Expansion Pack Provides

Complete QA Integration

  • Enhanced Story Creation with comprehensive testing requirements
  • Specialized QA Agents for different testing domains
  • Production QA Workflow with quality gates and validation
  • Tool-Agnostic Approach supporting any testing framework
  • Automated Quality Gates with pass/fail criteria
  • Comprehensive Test Coverage across all testing types

Key Features

  • E2E Testing - Complete user journey validation
  • API Testing - Backend functionality verification
  • Performance Testing - Load, stress, and capacity validation
  • Security Testing - Vulnerability scanning and compliance
  • Visual Regression - UI consistency across browsers
  • Accessibility Testing - WCAG compliance validation
  • CI/CD Integration - Automated testing in pipelines

🚀 Quick Start

1. Installation

This expansion pack is already integrated into your BMAD fork. No additional installation needed!

2. Initialize Testing Framework

# Activate QA Test Engineer
@qa-test-engineer

# Set up testing infrastructure
*setup-testing-framework

3. Enhanced Story Creation

# Stories now include comprehensive testing requirements
@sm *draft
# Creates story with E2E, API, Performance, and Security test scenarios

4. Parallel Development & Testing

# Development track
@dev *develop-story docs/stories/1.1.story.md

# Testing track (run in parallel)
@qa-test-engineer *create-e2e-tests docs/stories/1.1.story.md
@qa-test-engineer *create-api-tests docs/stories/1.1.story.md

🧪 Available QA Agents

QA Test Engineer (Alex)

Primary testing specialist for comprehensive test automation

  • Creates E2E, API, and integration test suites
  • Sets up testing frameworks and CI/CD integration
  • Generates test data and fixtures
  • Validates test coverage and quality

Key Commands:

  • *create-e2e-tests {story} - Generate E2E test suite
  • *create-api-tests {story} - Generate API test collection
  • *setup-testing-framework - Initialize testing infrastructure
  • *analyze-test-coverage - Review test coverage metrics

QA Performance Engineer (Morgan)

Specialized in performance, load, and scalability testing

  • Creates load testing scenarios
  • Performs stress and spike testing
  • Establishes performance baselines
  • Generates capacity planning analysis

Key Commands:

  • *create-load-test {story} - Generate load test scenarios
  • *create-stress-test {story} - Create stress test scenarios
  • *analyze-performance-baseline - Establish performance baseline
  • *create-capacity-plan - Generate capacity planning analysis

QA Security Engineer (Riley)

Expert in security testing and vulnerability assessment

  • Performs comprehensive security scans
  • Creates penetration testing scenarios
  • Validates OWASP compliance
  • Conducts vulnerability assessments

Key Commands:

  • *security-scan {story} - Perform comprehensive security scan
  • *vulnerability-assessment - Conduct vulnerability assessment
  • *owasp-compliance-check - Validate OWASP Top 10 compliance
  • *create-threat-model - Generate threat modeling analysis

QA Test Lead (Jordan)

Strategic coordinator for all testing activities

  • Creates comprehensive test strategies
  • Manages quality gates and criteria
  • Coordinates testing across all specialties
  • Generates quality reports and metrics

Key Commands:

  • *create-test-strategy - Generate comprehensive test strategy
  • *create-quality-gates - Define quality gates and criteria
  • *coordinate-testing - Manage all testing activities
  • *create-test-reports - Generate comprehensive test reports

🔄 Enhanced Development Workflow

Traditional BMAD Flow

Planning → SM creates story → Dev implements → QA reviews → Done

Enhanced Production QA Flow

Planning → Test Strategy → SM creates story with QA →
         ↓
Dev implements ←→ QA creates test suites (parallel)
         ↓
Execute tests → Quality gates → Production ready

📊 Quality Gates

Stories must pass all quality gates before production deployment:

Automated Gates

  • Unit test coverage ≥ 80%
  • All E2E tests pass
  • API tests pass with proper error handling
  • Performance meets defined SLAs
  • Security scans show no critical vulnerabilities
  • Accessibility standards met (if applicable)

Manual Gates (Optional)

  • 🔍 Security review for sensitive features
  • 🔍 Performance validation for critical paths
  • 🔍 UX review for user-facing changes

🛠️ Tool Support (Framework Agnostic)

E2E Testing

  • Playwright (recommended for modern web apps)
  • Cypress (excellent developer experience)
  • Selenium (maximum browser compatibility)
  • WebdriverIO (enterprise flexibility)

API Testing

  • Bruno (Git-friendly, version controlled)
  • Postman + Newman (industry standard)
  • REST Client (VS Code integrated)

Performance Testing

  • k6 (JavaScript-based, developer-friendly)
  • Artillery (Node.js, excellent CI/CD integration)
  • Locust (Python-based, scalable)

Security Testing

  • OWASP ZAP (comprehensive security scanning)
  • Snyk (dependency vulnerability scanning)
  • Custom security test suites

📁 Project Structure

your-project/
├── expansion-packs/
│   └── bmad-production-qa/          # This expansion pack
├── tests/                           # Generated by QA agents
│   ├── e2e/                        # End-to-end tests
│   ├── api/                        # API tests
│   ├── performance/                # Performance tests
│   ├── security/                   # Security tests
│   └── visual/                     # Visual regression tests
├── test-reports/                    # Test execution reports
├── docs/
│   ├── test-strategy.md            # Overall testing strategy
│   └── stories/                    # Stories with QA requirements
└── .github/workflows/
    └── test.yml                    # CI/CD testing pipeline

🔄 Automated Sync with Upstream BMAD

This fork automatically syncs with upstream BMAD weekly:

  • Automatic sync every Sunday
  • Preserves QA integration during updates
  • Creates PR for review when changes detected
  • Handles conflicts gracefully with notifications

Manual Sync

# Trigger manual sync
gh workflow run "Sync with Upstream BMAD and Re-apply QA Integration"

# Or locally
git fetch upstream
git merge upstream/main
# QA integration preserved automatically

📖 Example Usage

Creating a Story with QA Integration

@sm *draft

Result: Story created with comprehensive testing requirements including:

  • E2E user journey scenarios
  • API endpoint validation requirements
  • Performance criteria
  • Security considerations
  • Accessibility requirements

Implementing Tests

@qa-test-engineer *create-e2e-tests docs/stories/1.1.user-login.story.md

Result:

  • Asks for your preferred framework (Playwright, Cypress, etc.)
  • Generates complete test suite based on story requirements
  • Creates test data and fixtures
  • Provides execution instructions

🎓 Best Practices

Story Creation

  1. Always use @sm *draft for QA-integrated stories
  2. Review testing requirements before development
  3. Ensure acceptance criteria cover testable outcomes

Test Development

  1. Create tests in parallel with development
  2. Start with happy path scenarios
  3. Add edge cases and error handling
  4. Maintain test data separately from test logic

Quality Gates

  1. Run tests locally before commits
  2. Fix failing tests immediately
  3. Maintain test coverage above thresholds
  4. Review performance impacts regularly

🆘 Troubleshooting

Common Issues

Tests not generating

  • Ensure story file exists and has proper AC
  • Check that testing framework is selected
  • Verify expansion pack is properly loaded

Quality gates failing

  • Check test execution logs in test-reports/
  • Ensure all dependencies are installed
  • Verify test environments are accessible

Sync issues with upstream

  • Check .github/workflows/sync-upstream-bmad.yml
  • Resolve any merge conflicts manually
  • Contact maintainers if automation fails

🤝 Contributing

This expansion pack follows BMAD's contribution guidelines:

  1. Maintain tool-agnostic approach
  2. Use natural language for requirements
  3. Keep agents focused and specialized
  4. Provide comprehensive documentation

📞 Support

  • Issues: Create GitHub issues for bugs or feature requests
  • Discussions: Use GitHub Discussions for questions
  • Documentation: All docs in this expansion pack
  • Examples: Check the examples/ directory

Transform your development with production-ready QA! 🚀