10 Tips for Web Application Testing
Follow these steps to make sure your Web application meets user needs.
By Krishen Kota, President, AdminiTrack
Here are 10 steps to make sure a Web application is ready to be deployed. Use this as a checklist, and adjust the steps to meet your specific testing needs.
Step 1: Objectives and priorities
Establish your testing objectives up front and make sure they are measurable. Your life will be easier if you have written objectives your whole team can understand. In addition to documenting your objectives, prioritize them. Ask yourself questions like”What is most important: minimal defects or time-to-market?” For instance, in a medical application where someone could potentially die, testing the accuracy of the business functionality is a higher priority than testing than navigational consistency. Focus on the elements that will help you meet customer’s requirements and expectations.
Step 2: Process and reporting
Make sure everyone has a known role. Who should report what to whom and when? In other words, define your testing process. Use these questions to get started:
- How are problems be reported?
- Who is responsible for fixing problems?
- How are problems categorized?
- Who needs what report, and when do they need it?
- Are team meetings scheduled in advance or as needed?
You can define your testing process and reporting requirements formally or informally, depending on your particular needs. The goal is to organize your team in a way that supports your testing objectives.
Step 3: Tracking results
During testing you will probably generate a large number of bugs, issues, defects, etc. You’ll need a way to store, organize, and distribute this information to the appropriate team members. You’ll also need a way to keep management informed. If your company already has a system in place to track this type of information, don’t reinvent the wheel. But if not, investigate some of the easy-to-set-up online systems.
Step 4: Test environment
Set up a test environment separate from your development and production environment. This includes a separate Web server, database server, and application server if applicable, or an arrangement for sharing other servers when they are otherwise not needed. Create a procedure for moving code to and from your test environment and make sure your team follows the procedure. Make sure each new version of source code is uniquely identified.
Step 5: Unit testing
Unit testing involves verifying small portions of functionality. For example, an individual unit test case might verify that the correct data is saved to the database when the user clicks on the Submit button on a particular page. An important subset of unit testing is range checking, making sure all fields that collect information from the user can handle any value that is entered. For example, what happens when a user enters a last name, such as O’Brien, which contains an apostrophe? Different combinations of databases and database drivers handle the apostrophe differently, sometimes with unexpected results. Proper unit testing helps rid your Web application of obvious errors users should never have to encounter.
Step 6: Verifying the HTML
Different browsers support HTML differently. So, it’s important to verify your HTML. This is simple but time-consuming. There are many online and downloadable applications to help, such as http://websitegarage.netscape.com and http://NetMechanic.com. First, make sure your HTML syntax is correctfor example. Second, verify how your pages look in different browsers, at different screen resolutions, and on different operating systems. Create a profile of your target audience and make some decisions on what browsers you will support, on which operating systems, and at what screen resolutions.
Recent versions of Microsoft Internet Explorer are very forgiving. If your development team has only been using Internet Explorer 5.5 on high-resolution monitors, you may be unpleasantly surprised when you see your Web application on a typical user’s computer, in an older Internet Explorer, or in Netscape Navigator. The sooner you start verifying your HTML, the better off your Web application will be.
Step 7: Usability testing
In usability testing, you look at the user’s experience, such as:
- How easy is it to navigate through your Web application?
- Is it obvious to the user which actions are available?
- Is the look-and-feel of your Web application consistent from page to page, including font sizes and colors?
The book “Don’t Make Me Think! A Common Sense Approach to Web Usability,” by Steve Krug and Roger Black, provides a practical approach to the topic of usability. I refer to it often, and recommend it highly.
In addition to the traditional navigation and look-and-feel issues, Section 508 compliance is another area of importance, and if you are working with the United States federal government, Section 508 compliance is not only good design, but also probably a legal requirement. The 1998 Amendment to Section 508 of the Rehabilitation Act spells out accessibility requirements for individuals with certain disabilities. For instance, if a user forgets to fill in a required field, you might think it is a good idea to present the user with a friendly error message and change the color of the field label to red or some other conspicuous color. However, changing the color of the field label would not really help a user who has difficulty deciphering colors. The use of color might help most users, but you should provide an additional visual clue, such as displaying an asterisk by the field or making the text bold. For details, see http://www.section508.gov. Another great resource is http://www.cast.org/bobby.
Step 8: Load testing
In load testing, you want to simulate how people will use your Web application in the real world. The earlier you perform load testing, the better. Simple design changes can often make a significant impact on the performance and scalability of your Web application. Closely related is performance tuning. For example, people hate to wait for a Web page to load. Try to design pages so they load within 15 seconds for users on a fast connection.
Step 9: User acceptance testing
User acceptance testing verifies that your Web application fits the intended use. One way to make sure your Web application makes things easier for the user, not harder, is through beta testing. The key is to listen to what the people say about using your Web application. Their feedback is critical.
Step 10: Testing security
Security should be a huge concern for anyone building a Web application. You need to test how secure your Web application is from both external and internal threats. Security specialists should plan and verify the security of your Web application. After performing your initial security testing, be sure to do ongoing security audits to ensure your Web application remains secure over time as people and technology change. Resources to help you stay up to date on Internet security include CERT Coordination Center (http://www.cert.org) and Computer Security Resource Center (http://csrc.nist.gov/).
The payoff
Proper testing is an integral part of creating a positive user experience, which can translate into the ultimate success of your Web application. You’ll take great satisfaction in knowing your team’s diligent testing efforts made all the difference in your succe


10 Mart 2010, Çarşamba; 22:50
e8tFUH Excellent article, I will take note. Many thanks for the story!