It is one of the most mind-numbing tasks in the software development process, and one loathed by both developers and customers alike - akin to self-editing a manuscript for a writer who has spent three months pouring over the same text - bug checking is by no means a fun exercise and can be quite frustrating when facing deadlines and customers eager to launch their sites.
Nonetheless, bug testing is an inevitable necessity for any software development project, including website development. For someone who's not familiar with software development, bug testing seems like it shouldn't be necessary, "How come you guys didn't just get it right the first time?" Of course, anyone who's actually coded anything themselves knows that it is virtually impossible to code anything with out any errors in a single pass. Just as a writer needs to create a first draft, then get feedback from an editor and other readers before making a series of adjustments before their publisher approves and prints the final edition, software development requires review, feedback, and modification to produce fully-functional websites that are ready to launch to the public.
And so we must anticipate and budget for bug testing for all website development projects, and there are a number of ways to do this. Most approaches rely on creating lists of "bug reports" that are processed by developers until the list is exhausted and the website is ready to be launched. Whether it's done on a piece of scratch paper or with an advanced ticket management system, the purpose of creating bug reports is to document each and every fix, tweak, error, and adjustment that needs to be made to the site to bring it up to acceptable professional usability standards.
However, not all approaches to bug testing are equally effective, and disorganized approaches will very quickly expose the need to implement efficient and effective practices for documenting, assigning, and completing bugs as they are discovered and resolved often by a team of multiple individuals. In order for multiple workers to coordinate their efforts, proper bug reporting becomes essential, not only for ensuring that all work is correctly completed, but also because poor bug reporting will result in redundant work, excessive time spent clarifying bugs, and ultimately a longer development period (which extends the cost of hourly or salaried workers).
An effective bug-reporting process should include the following:
- multiple bug-testers whose job is to find bugs and report them
- a system that allows bugs to be listed and each bug delegated to a single developer responsible for correcting the bug
- a quality assurance tester who re-checks the work done to correct each bug
- a process for re-iterating bugs that are not corrected the first time
To maximize the efficiency of bug testing, make sure that each bug report include the following:
- A clear description of the problem and how it can be duplicated
- Show screenshots with annotations as possible (hint: get SnagIt - or another screen capture tool and use it).
- Give a URL whenever possible rather than just referring to a page or jumping right into a description of a problem
- Provide information on browser type and build you are using so the developer can accurately reproduce the error
- If the website has multiple user roles, be sure to indicate for which role the error is occurring
- Make sure you do a "Hard-Refresh" on your browser when checking fixes, especially for CSS and image changes, as your browser will often cache these items and show you old versions of the files if you do not do this. For PCs, this is usually done with CTRL+F5

