To minimize the number of moving parts within a solution we would typically first test each system individually. This enables us to quickly identify any issues and provides a solid base prior to moving on to integration testing. In more complex solutions much of the heavy lifting is undertaken within the system test phase.