Testing and Debugging Your Complex Website
Testing and debugging a website should be as tightly wrapped with its development process as humanly possible. The wrong way to approach testing is to make the grand assumption that somebody else will find and fix the holes that the programmer has left in the site. The right way to approach testing is to, instead, actively consider and account for every single thing that could possibly go wrong, as you are building each individual component of the website.
Let’s say, for example, that your site has a form where your customers enter their postal or zip code in order to calculate the cost of postage. But let’s also assume that you’ve (heaven forbid!) hired a sloppy programmer who doesn’t bother to validate the existence, correct formatting, or correct content of the postal code before attempting to use it to calculate the cost of postage. If your website visitor doesn’t enter a postal code at all, then the website will generate an ugly programming error when the visitor clicks the Submit button. Or, if your website visitor unexpectedly leaves an extra blank space somewhere within the postal code field, or if they enter lower case letters when the system expects upper case, then.... you guessed it... another ugly programming error will pop up on your website.
Although it is probably impossible to build 100% completely bullet-proof software, it is essential that your programmer do his or her utmost to try to achieve that goal on a daily basis. In addition to the many innocent mistakes that a website visitor may inadvertently make when using the site, there are also some pretty strange people (known as "hackers" and "phreakers") whose greatest joy in life is to expose, damage, or destroy websites and the databases that feed them. A good programmer knows what those individuals will likely target, and must build your website in a way that protects it as much as possible. I have personally mopped up numerous websites that were severely damaged because the former programmer took some lazy shortcuts... and ultimately exposed secret information... primarily database, path, and table information... to anyone who bothered to take a peek at the source code that is publicly visible to... everyone.
The "big message" here is simply this... take nothing for granted. Try to think of every single "stupid user trick" that could possibly occur, whether through unintentional acts of naïveté, or intentional acts by those who would actively seek to harm you, your business, or your website.
Also, for a site that is extremely large or ambitious, it’s best to have a documented testing plan in place. In certain instances, "regression testing" is also wise, wherein the tester repeats every critical test, each and every time an adjustment is made anywhere on the site that might possibly touch either that process or another process that feeds it on the site. For large sites such as these, we recommend also ensuring that you, as the site owner, receive an advance electronic copy of the test plan, and that you are actively permitted access to an online tracking system so that you and your web developers may work together in bringing your new website online, and with the greatest possible accuracy and efficiency.
Also remember that you, as the site owner, need to complete your own testing of the website in a very timely manner. Most professional web developers specifically limit the amount of time during which they will accept bug reports as belonging to part of the original paid project. Typically, that time limit is 30 days... or possibly as long as 90 days for a very large project. After that, any research, troubleshooting, or repair work will most likely need to be completed on your dime.
This material is Copyrighted. All rights reserved. Linda C. Uranga-Norton,
President and Founder, Urangatang Web Design. To obtain reprint
permission or engage the author for speaking engagements,
please contact the author at
. All reprints must include a link to the author's website
at www.urangatang.com.
If you have an idea for an educational or informative article
that you believe would be of interest to others as well, please email us at
or call us at 1-888-872-6428 ext. 707 to discuss your idea.
|