Programming asp

Page 367

Despite this somewhat negative description, integration tests are just as valuable as unit tests—if not more so. Assuming you strive to avoid potential distractions whenever possible, you should also strive to rely on extensive test coverage via a solid unit test suite, then supplement that coverage with an integration test suite (and not vice versa).

Acceptance Tests The final type of test is the acceptance test, which has one goal: to ensure that the system that has been built meets the requirements that were requested. In short, acceptance tests make sure that the system does everything the users expect it to do. Since acceptance tests are—by their very definition—usually pretty subjective, they are often difficult to automate. That said, there are several different techniques that allow developers to automate the execution of their applications in order to validate that they behave as they should. By applying these techniques, developers are able to avoid tedious manual testing of their applications while still maintaining a high level of confidence that the applications will function in a way that makes their users happy.

User acceptance testing How do you know when your users are happy with your application? Ask them! Though this chapter concentrates on developers exercising their own applications in order to verify that they work properly, a subset of acceptance testing named user acceptance testing (UAT) brings the user directly into the development process by getting the software into their hands and having them test it. Even if it is generally not wise to expose all of your users to a product that is, perhaps, not final-release quality, user acceptance testing embraces the fact that an application’s users are the only ones who can truly call a product “done.” What’s more, involving application users in the development process by allowing them to use even a partially working implementation of an application can help expose both technical and communication issues. And the earlier in the process that users are able to provide feedback, the easier and cheaper it is to fix those issues. So, while user acceptance testing may not be easy to automate into your default solution, performing testing early and often can reap great benefits. Though anyone may write any of these three types of tests, the first few levels—unit and integration tests—are generally very technical and implementation-specific, so they are usually written by the development team in order to validate that the technical requirements have been met before passing the application on to other groups of testers (e.g., the Quality Assurance, or QA, team) to verify that the business requirements have been met.

Levels of Automated Testing | 349

www.it-ebooks.info


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.