How to test plugin compatibility issues?

We have quite a few of WooCommerce sites that use Sage and they’re doing great, but maintaining them is a bit of a problem as if something “breaks” and for example the payment gateway stops working we’d be losing sales.

Is there a nice workflow for updating plugins and checking if they “break” things?

This was the workflow (on a local setup) we had now:

  • WP DEBUG + LOG turned on
  • Update WP Core (manually check for “visual problems”, if main links/pages work etc.)
  • Update the non-critical plugins (ACF Pro, Offload S3, Compress jpg .,…)
  • Update the critical plugins WooCommerce:
    ** manually check pages and order process (add to cart, cart, checkout,…)
    ** Update custom theme templates if Woo changed their templates
  • Update the critical WPML and other plugins (WooCommerce Multilingual, wpml plugin pack,…)
    ** manually check multilingual pages/subpages and translations if they are ok.
    ** check links and language switcher,…
  • update critical GeoIP/our custom plugin (check if redirects work with languages etc.)
  • if everything OK, we push live
  • make a full order process with a CC card on the live site

How we spot problems:

  • visual problems/ Woo css issues (check the Woo pages on mobile/tablet/desktop
  • code problems (wp debug, php, mysql logs etc.)
  • functional problems (if we get any errors with add to cart/checkout process etc.)

Are there other ways for testing specific plugins (like a custom payment gateway)?

Will the future Trellis have an “solution” for these things? I like how you have a lot of control with Roots products, but the plugins are still a part that we can’t really control that much :frowning:

Is there a easier way of doing these things or maybe even some testing workflows? Tips welcomed, thanks :slightly_smiling:

The proper way is to have a comprehensive test suite. Unit tests, integration tests, etc. Unfortunately this is rare in WP-land but it’s still possible. We did a podcast on it:

If you have good test coverage they should be able to detect almost any regression.


Thanks! I googled a bit and there seems to be quite some ways of doing these things.