Perhaps one of the largest ongoing challenges for enterprise level web sites is the need for rigorous quality assurance testing. If you're the CEO, Web Manager, or Marketing Director for a company that has highly functional web properties, then you're no stranger to our old friend "QA". This can be one of the most frustrating processes for any project because seemingly if you're deep in quality assurance your project has made it through the initial development phases and is close to the finish line. I thought it would benefit newbies and veterans alike to give you a run down of what to expect as you head into the quality assurance phase of your project.
Truths of the Quality Assurance Process
- You Will Find Issues. The whole point of the quality assurance process is to find issues and there are two distinct approaches to this depending on your budget. The first is for the general production release to go out to you and for a standard report back from the web firm on the issues encountered during your first round of testing. This usually yields the highest amount of frustration as "bugs" will be plentiful since the group of individuals will be handing over mostly untested code to you. The second is to allow the firm you've contracted to do substantial quality assurance before handing the first production release over to you for your review--a highly recommended strategy. Even in that first pass of the more mature code base it's expected to find something that the firm didn't. Catalog it and remember that every issue fixed is another step towards a better end product.
- Without Use Cases It's All Willy Nilly. If you're going to walk the quality assurance path correctly you must have a set of use cases that help construct scenarios in which different individuals with different roles will interact with the system. Clicking around is not an effective way of rooting out issues and it can potentially cause serious problems upon public release. If you're not getting use case based testing today I would reach out to your team on establishing a baseline for a minimum set that will help you avoid many panicked phone calls.
- It Takes Longer Than Three Days. Depending on the complexity of your web presence, quality assurance can be short and sweet or take much longer. If you're leveraging core platform capabilities and not doing much integration for a seamless experience, you're going to require less quality assurance. On the flip side, if you have complicated integrations to support portals, CRM systems, ticketing systems, and single sign-on requirements you can expect that quality assurance will take a substantial amount of time. The move here is to embrace the thoroughness of the team helping to implement the solution and not rush the process with a "get to market right now" attitude. A poorly functioning web presence will damage your online credibility and will plague your support team for some time until general practices are improved.
- Ongoing Enhancements Need to Staged. If you have a mature web presence and a large amount of visitors, your quality assurance processes become more rigorous. This is handled at two major levels: technology and people. You'll need to have the traditional three stage environment; development, implementation, production and you'll also need to ensure that the right stake holders are reviewing the changes with their own testing before going live. Instituting a change into a public-facing production environment can have a very serious impact so preparing for ongoing change is important.
- You Will Find More Issues. No matter how slow you take it and how many times you check it. There are going to be issues. They key is to make sure the issues that arise on launch are minor as opposed to major. If you encounter an issue after going live that you thought was worked out, don't panic. Contact your web team and be detailed in describing the issue you're experiencing so they may resolve it quickly and effectively.
It's my hope that in creating this post there has been some enlightenment about the quality assurance process. Most importantly that as a person in charge of web and web applications you take a positive approach to the issues found during the process and see them for what they are: opportunities to create a more reliable and enterprise-class experience for your site visitors.