Testing Updates & New Features for Your Clients

Before You Start – Documentation

When you are working on someone else’s site, it’s imperative to minimize the risks you introduce. One of the first steps in minimizing risks is understanding the current setup and documenting your process. The documentation may start off as notes for yourself, but could quickly evolve into valuable information you could pass off to the next developer.

Some things you want to note in your documentation are:

  • Environment Information – This includes hosting information such as the hosting provider, domain registrar, Apache version, PHP version, etc.
  • Setup Information – Include the active theme and version number and a list of active plugins with their version numbers. (If you use a backup plugin, the plugin list might be included as a feature of the backup.)
  • Testing Information – What system(s) do you use for local testing? Staging environments? Do you utilize version control?
  • Other Information – Keep an updated list of the standard programs that are used (IDE/text editor, version control software, FTP client, deployment tools, etc).

Testing Process

Only test on a local install and/or a staging environment.

Only run one update/upgrade at a time (plugins, themes, API libraries, etc). This will help you narrow down the cause if an error ends up occurring after the change.

Always run a backup of the files and database before updating a plugin/theme. Avoid running any updates on a Friday, the day(s) leading up to any company events, or the day(s) leading up to a holiday or any type of day off. Always tell team members when updates/upgrades are going to occur so they can avoid working/posting on that site during the upgrade process.

* If the update or feature you are testing runs any type of automatic process for adding/removing files, search & replace functions, sets up cron jobs, adds caching/transient functionality, or directly accesses/alters a database, more thorough testing is required.

When Things Go Wrong

WordPress Plugin Troubleshooting Flowchart