Skip to content

Blog

Static analysis vs runtime testing for WordPress plugins

PHP linters and compatibility checkers catch syntax issues. Runtime matrix testing catches the fatals that only appear inside real WordPress.

Folt Team3 min read

Both static analysis and runtime testing belong in a mature plugin workflow — but they answer different questions.

What static analysis is good at

Tools that scan PHP source excel at:

  • Deprecated function usage
  • Syntax errors before deploy
  • Obvious type issues in isolated files

They are fast, cheap, and belong in CI.

What static analysis cannot see

Static tools do not boot WordPress. They cannot tell you:

  • Your activation hook fatals when WooCommerce is present
  • A page builder changes script load order and breaks your admin UI
  • Checkout fails only on PHP 8.2 with a specific theme

Those are runtime failures in a specific environment combo.

Runtime matrix testing closes the gap

Runtime testing activates your plugin inside real WordPress, crawls admin and frontend, and records fatals, console errors, and screenshots for each selected environment run.

Use both, in order

  1. Static checks on every commit
  2. A runtime scan with coverage appropriate to the release risk
  3. Diff reports release-over-release

The Free plan includes 100 environment runs per month, which is enough to evaluate focused coverage but not the current full matrix. Read Folt vs PHP compatibility checkers, review pricing and run allowances, and see a sample runtime report.