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 Testing||Integration 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.|