BMAD-METHOD/.claude/data/test-levels-framework.md

6.5 KiB

Test Levels Framework for Enterprise Applications

Testing Pyramid Overview

The testing pyramid provides a structured approach to test coverage, emphasizing cost-effective automation and comprehensive validation.

    /\
   /E2E\     ← Few, high-value tests
  /______\
 /   UI   \   ← Moderate coverage
/__________\
/   Unit   \  ← High coverage, fast execution
____________\

Unit Testing (Foundation Level)

Coverage Standards

  • Target Coverage: 80%+ for business logic and utilities
  • Critical Areas: 95%+ for security, payment, and data processing functions
  • Documentation: Each test should clearly describe expected behavior

Focus Areas

Business Logic:

  • Input validation and sanitization
  • Calculation accuracy and edge cases
  • State transitions and workflow logic
  • Error handling and exception scenarios

Utilities and Helpers:

  • Data transformation functions
  • Formatting and parsing utilities
  • Configuration and settings management
  • Custom validation functions

Testing Standards

  • Naming: Use descriptive test names explaining expected behavior
  • Structure: Follow Arrange-Act-Assert (AAA) pattern
  • Independence: Each test should run independently without dependencies
  • Performance: Unit tests should execute quickly (< 100ms per test)

Integration Testing (Connection Level)

API Integration Testing

Coverage Areas:

  • All API endpoints with various input combinations
  • Authentication and authorization flows
  • Data validation and error responses
  • Third-party service integrations

Testing Scenarios:

  • Happy path scenarios with valid data
  • Error scenarios with invalid inputs
  • Edge cases and boundary conditions
  • Rate limiting and timeout handling

Database Integration Testing

Coverage Areas:

  • CRUD operations on all entities
  • Complex queries and joins
  • Transaction handling and rollbacks
  • Data migration and schema changes

Performance Considerations:

  • Query performance under load
  • Connection pooling and management
  • Data consistency and integrity
  • Backup and recovery procedures

Service Integration Testing

Focus Areas:

  • Microservice communication patterns
  • Message queue processing
  • Event-driven workflows
  • Service discovery and load balancing

End-to-End Testing (User Experience Level)

Critical User Journeys

High-Priority Flows:

  • User registration and onboarding
  • Authentication and password recovery
  • Core business functionality workflows
  • Payment processing and transactions
  • Data export and reporting features

Testing Framework Standards

Cypress E2E Guidelines:

  • Use data-testid selectors for reliable element targeting
  • Implement API mocking with cy.intercept for external dependencies
  • Avoid hardcoded waits - use proper waiting strategies
  • Create focused test files with 3-5 tests each for maintainability

Scenario Structure:

Feature: User Authentication
  Scenario: Successful user login
    Given the user is on the login page
    When they enter valid credentials
    Then they should be redirected to the dashboard
    And they should see their profile information

Cross-Platform Testing

Browser Compatibility:

  • Chrome, Firefox, Safari, Edge
  • Mobile browsers (iOS Safari, Android Chrome)
  • Different screen resolutions and device types

Accessibility Testing:

  • Screen reader compatibility
  • Keyboard navigation support
  • Color contrast compliance (WCAG 2.1 AA)
  • Focus management and ARIA labels

Manual Testing (Exploratory Level)

Usability Testing

Focus Areas:

  • User interface intuitiveness and navigation
  • Error message clarity and helpfulness
  • Form completion and validation feedback
  • Mobile responsiveness and touch interactions

Exploratory Testing

Approach:

  • Unscripted testing to discover edge cases
  • User workflow validation from real-world perspective
  • Performance testing under various conditions
  • Security testing for common vulnerabilities

Acceptance Testing

Stakeholder Validation:

  • Business requirement verification
  • User story acceptance criteria validation
  • Regulatory compliance confirmation
  • Performance benchmark achievement

Performance Testing Levels

Load Testing

Metrics to Monitor:

  • Response times under normal load
  • Throughput and requests per second
  • Resource utilization (CPU, memory, database)
  • Error rates and failure points

Stress Testing

Scenarios:

  • Peak traffic simulation
  • Resource exhaustion testing
  • Failure recovery validation
  • Scalability limit identification

Security Testing

Coverage Areas:

  • Authentication and authorization vulnerabilities
  • Data encryption and transmission security
  • Input validation and injection attacks
  • Session management and token security

Test Environment Strategy

Environment Levels

Development Environment:

  • Unit and integration testing
  • Developer testing and debugging
  • Fast feedback loops
  • Mock services and test data

Staging Environment:

  • Production-like configuration
  • End-to-end testing
  • Performance testing
  • Integration with external services

Production Environment:

  • Smoke testing after deployments
  • Monitoring and alerting validation
  • A/B testing and feature flags
  • Real user monitoring

Quality Gates and Metrics

Coverage Thresholds

  • Unit Tests: 80% minimum, 90% target
  • Integration Tests: All API endpoints and database operations
  • E2E Tests: All critical user journeys
  • Manual Tests: All acceptance criteria validated

Quality Metrics

Automated Testing:

  • Test execution time and efficiency
  • Flaky test identification and resolution
  • Code coverage trends over time
  • Defect detection rate by test level

Manual Testing:

  • User satisfaction scores
  • Usability issue identification
  • Accessibility compliance validation
  • Business requirement satisfaction

Implementation Guidelines by Agent

QA Agent Responsibilities

  • Create comprehensive test strategy aligned with this framework
  • Design test scenarios using Gherkin format for clarity
  • Validate test coverage across all levels of the pyramid
  • Ensure quality gates are met before deployment approval

Developer Agent Integration

  • Implement unit tests following TDD practices
  • Create integration tests for all API endpoints
  • Set up automated test execution in CI/CD pipelines
  • Maintain test data and mock services

Architect Agent Considerations

  • Design testable system architecture
  • Plan test environment infrastructure
  • Consider performance testing requirements in system design
  • Ensure monitoring and observability for production testing