Browse / Security Testing / Testing Workflow

Testing Workflow

Executes comprehensive test suites including unit, integration, E2E, and mutation tests to validate code changes and ensure quality.

SkillSecurity TestingE2e TestingOrchestration

The source repository doesn't declare a license. Check its terms before reusing the code.

Key features

  • Enforces strict quality gates, including 100% code coverage and 100% Mutation Score Indicator (MSI)
  • Performs mutation testing with Infection to ensure test suite robustness
  • Provides a structured workflow for debugging test failures and identifying root causes
  • Executes unit, integration, and E2E tests using PHPUnit and Behat
  • Promotes test data best practices using Faker for dynamic data generation

Use cases

  • Validating new features or bug fixes before merging code
  • Debugging and resolving failing test suites in a CI/CD pipeline
  • Improving test quality by eliminating escaped mutants and increasing coverage

FAQ

When should I use this skill?

Use this skill whenever you need to validate new code, debug test failures, ensure your work meets coverage requirements, or fix issues identified by mutation testing. It is the primary tool for ensuring code quality before committing changes.

What specific testing capabilities does it provide?

This skill executes tests using PHPUnit for unit and integration testing, Behat for E2E scenarios, and Infection for mutation testing. It also promotes best practices like using Faker for dynamic test data generation to create more robust tests.

What does the Testing Workflow skill do?

This skill automates running a comprehensive suite of tests, including unit, integration, E2E, and mutation tests. It validates code changes and enforces strict quality gates like 100% code coverage and a 100% Mutation Score Indicator (MSI).

How does this skill improve my AI coding workflow?

It provides a structured, command-based workflow (e.g., `make all-tests`) for testing, which saves time and reduces manual errors. By enforcing quality gates automatically, it ensures that only high-quality, thoroughly tested code gets integrated.