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 interconnected with each other.
Let’s now see the difference between the two.
|System Testing||Integration Testing|
|In system testing, we check the system as a whole.||In integration testing, we check the interfacing between the inter-connected components.|
|It is performed after integration testing.||It is performed after unit testing.|
|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.|
|Since the testing is limited to the 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.|
|The different types 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.|
Check the infographic below for a quick recap.