Difference Between System and Integration Testing

System testing is a level of testing where the application as a whole is tested for its compliance to functional and non-functional requirements.
Whereas, in integration testing, we test the interfacing between the modules which are inter-connected with each other.

Let's now see the difference between the two -

#System TestingIntegration Testing
1. In system testing, we check the system as a whole. In integration testing, we check the interfacing between the inter-connected componenets.
2. It is performed after integration testing. It is performed after unit testing.
3. It is carried out for performing both functional and non-functional testing(performance, usability etc). It is generally limited to functional aspects of the integrated components.
4. Since the testing is limited to evaluation of functional requirements, hence, it includes black-box testing techniques only. Since the interfacing logic is required to perform this testing, hence, it requires white/grey box testing techniques along with black-box techniques.
5. The different type of system testing are- Functional testing, Performance testing, Usability testing, Reliability testing, Security testing, Scalability testing, Installation testing etc. The different approaches of performing integration testing namely - Top down, bottom up, big bang and hybrid integration.

For details on system and integration testing documents and their templates, check our tutorials - System Testing and Integration Testing.