When maintaining or running a web application many different things can go wrong. When they do it is best to have a system in place to detect these occurrences and fix them promptly before the customer calls.

In my experience the following issues can cause problems for applications that are deployed online:

  • Updates to the web server
  • Updates to the programming language or framework
  • Changes by developers
  • Changes by external data sources (web services, etc.)
  • New browsers or browser versions
  • New browser plugins

The pattern is obvious, change equals problems. The more changes the more problems that can occur. That doesn’t mean change is a bad thing. Underlying changes usually mean better security, stability and other benefits. The problem is the application might depend on a behavior that is now considered insecure (remember using early versions of browsers that allowed user generated security certificates and now display warning screens), or flash interaction with javascript. Other backend system changes can have similar effects causing errors to suddenly be displayed instead of quietly being logged.

So what do you do about these changes? First, make sure there is good communication among the team. Your system administrators, developers, and designers should all be in communication about changes. That way each group can run their set of tests of the system when a change is made. Second, for changes that aren’t planned you want to have monitoring in place. This includes monitoring of business logic that depends on outside data sources and monitoring of the display of the web application itself.

George Evanko Communications, creators of Open Secrets, has created a proven process called TestFlight. “This involves a bank of computers running multiple OS and a wide variety of browsers. Everyone at Bean tests site using TestFlight so we ensure consistent results. We document major bug fixes as we come across them so that we can employ the ‘patches’ prior to the next new project.”

Whatever you might call your testing plan or process, the important thing is to have one. As we wrap up this series on the biggest issue of 2008, I’ll leave you with some advice from Gomez’s CTO, Imad Mouline.

Gomez Interview on Change