4.1.3 Integration testing

Integration testing ... is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing.

Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.[3]
A real world example would be a test that makes sure that the models you're loading from the database and saving to it actually do so correctly. You're testing the integration of your Object Relational Mapping (ORM) system and your persistent storage system. Fortunately for most of us those two components were written by the authors of our favorite web framework and have already been thoroughly tested. Testing them would be redundant and wasteful. What we do need to test though, is the integration of our controllers and models as well as our web service APIs.

K. Rhodes 2007-05-18