Web development, like climbing, means problem-solving, and though we use the best methodologies and our own experience to avoid them, problems are inevitable. This can be minimized by an attentive project manager who anticipates problems before they occur, and by using proven software development and debugging techniques to most efficiently track, resolve, and regress bugs.

Formal testing gives the site a chance to face a bigger audience for quality assurance. The site is tested in whole, with all its interdependent parts, using real users where possible, or client employees at a minimum. Testing is where the crampons meet the ice.

Testing is done in two major phases, with again, iterations within each phase, in order to refine the rough spots. Alpha testing is generally conducted in house, within a small group in the client company. It gives us a chance to work out the major bugs before presenting it to the world. Beta testing involves a wider audience chosen from within the client company and the public sector, perhaps partners, client customers, or solicited potential users.