Usability & Metrics

A comprehensive guide to application testing

Friday, July 18th, 2008

Usability testing is not just a nice step for web developers anymore; it’s become a standard part of the procedure for building web applications. But what types of testing are out there, and how can you make sure your applications are being examined thoroughly? By combining several different techniques, development teams can ensure a comprehensive testing regimen delivers the best possible results.

Usability testing is designed to reduce errors of many sorts. A solid testing strategy will reveal the shortcomings of every aspect of the application, in terms of design, structure, and technical feasibility. A well-tested site feels natural for users, looks consistent, and works under many technical circumstances. Four basic testing types that make up a complete strategy are: Functional testing, Performance testing, Unit testing, and Regression testing.

Functional testing is all about ensuring your design plans have come to fruition. This phase involves going back to original blueprints and matching them up with the finished prototype. In the planning stages of development, teams will write up a set of “functional specifications”, detailing the look, feel, and needs of the application. Functional tests go back to those specifications and find out if the finished prototype meets initial expectations. In order to conduct an accurate functional test, planning materials and documentation must be preserved and updated throughout the development process.

Performance testing examines the technical aspects of the application prototype. This phase determines the speed or effectiveness of the application, measuring quantitative rather than qualitative performance. Teams must determine how reliable, scalable, and flexible the application is so users are not frustrated with performance or shut out because of their systems. By using performance testing to diagnose any technical problems or shortcomings, developers can avoid communication bottlenecks and give users as much speed as possible.

Unit testing is meant to scrutinize each component in a given application. Each “unit”, or small testable part of the whole, is examined independently of the others. This phase fits in well to agile development techniques, which focus on providing complete pieces of the whole application every few weeks. By testing individual units developers ensure complete functionality once the prototype is assembled. It also allows mistakes and problems to be corrected continually, speeding up the process of functional and performance testing.

Regression testing is concerned with backwards functionality when updating or modifying an existing application. This is a common method used for updates to common software programs, and it’s increasingly being used by web developers buildingSaaS tools. When new features are added, they must be testing in conjunction with old code. Developers and testers will set up parameters and scenarios to use each time an update is planned. By running new tests on new and old code, teams can keep error rates low and prevent themselves from introducing problems into existing applications.

These four testing methods can be used to perfect any type of application. By cross-pollinating each prototype with different methods of usability testing, developers can reduce error rates and create a seamless experience for users.

By Haley January Eckels

Join the discussion