HTML & XHTML: The Complete Reference (Osborne Complete Reference Series)
< Day Day Up > |
For most developers, testing is probably the least favorite aspect of the Web development process. After all the hard work of specification, design, and implementation, most people are ready to just launch the site. Resist the urge. Testing is key to a positive user experience with your site. Don't force your users to test your site after its release. If they encounter bugs with what is considered a production site, they won't be forgiving . Unfortunately, testing on the Web generally is relegated to markup validation, a quick look at the site using a few browsers and maybe checking the links in the site. Bugs will exist in Web sites, no matter what. Unfortunately, most developers consider that if the site looks right, it is right. Yet Web design doesn't just include visual design: you must test all the other aspects of site design as well. The basic aspects of Web testing are overviewed here.
Visual Acceptance Testing
Visual acceptance testing ensures that the site looks the way it was intended. View each of the pages in the site and make sure that they are consistent in layout, color , and style. Look at the site under different browsers, resolutions , and viewing environments equivalent to those of a real user. Browse the site very quickly and see if the layouts jump slightly. Consider looking at the pages while squinting to notice abstract irregularities in layout. Visual acceptance testing also requires each page to be printed. It is interesting to see just how few pages on the Web actually print properly, but remember to avoid focusing on print testing pages that are designed solely for online consumption.
Functionality Testing
Functionality testing and visual testing do overlap in the sense that the most basic function of a page is to simply render onscreen. However, most sites contain at least basic functions such as navigation. Make sure to check every link in a site and rectify any broken links. Broken links should be considered catastrophic functional errors. Make sure to test all interactive elements such as forms or shopping carts. Use both realistic test situations as well as extreme cases. Try to break your forms by providing obviously bad data. Remember: users won't think as you do, so prepare for the unexpected.
Content Proofing
The content details of a site are very important. Make sure content is all in place and that grammar and word usage is consistent and correct. Check details such as product names , copyright dates, and trademarks. And always remember to check the spelling! Clients and users often will regard an entire site as being poor just on the basis of one small typo; the importance of this cannot be stressed enough. The best way to perform this test is to print each page and literally read every single line for accuracy.
System and Browser Compatibility Testing
Ideally, system and browser restrictions have been respected during development, but this must be verified during testing. Make sure to access the site with the same types of systems and browsers the site's users will have. Unfortunately, it often seems that designers check compatibility on systems far more powerful and with much more bandwidth than the typical user. The project plan should have detailed browser requirements, so make sure the site works under the specified browsers.
Delivery Testing
Check to make sure the site is delivered adequately. Try browsing the site under real user conditions. If the site was designed for modem users including AOL users, set up an AOL account and a modem to test delivery speed. To simulate site traffic, consider using testing software to create virtual users clicking on the site. This will simulate how the site will react under real conditions. Make sure that you test the site on the actual production server to be used or a system equivalent to it. Be careful to not underestimate delivery influences. The whole project might be derailed if this was not adequately considered during specification. For further information on delivery issues such as hosting, see Chapter 16.
Tip | With a dynamic site, particularly an e-commerce site, it is very wise to add a security testing phase to a project. In this phase, you would try to break into a system through direct form and URL attacks as well as explore any server issues that could compromise security. While well beyond the scope of this book, the author would be remiss not to remind developers of this important consideration. |
User Acceptance Testing
User acceptance testing should be performed after the site appears to work correctly. In software, this form of testing often is called beta testing. Let the users actually try the working site and comment on it one last time. Do not perform this type of testing until the more obvious bugs have been addressed. User testing is the most important form of testing because it most closely simulates real use. If problems are uncovered during this phase of testing, you might not be able to correct them right away. If the problems are not dramatic, you can still release the site and correct the problems later. However, if any significant issues are uncovered, it is wise to delay release until they can be corrected.
< Day Day Up > |