What are types of Testing in Software Engineering?

A software product is normally tested in three levels or stages:
1. Unit testing
2. Integration testing
3. System testing

Unit testing

It is referred to as testing in the small, whereas integration and system testing are referred to as testing in the large.

Integration testing

It is carried out after all the modules have been unit tested. Successful completion of unit testing, to a large extent, ensures that the unit as a whole works satisfactorily. In this context, the objective of integration testing is to detect the errors at the module interfaces.

System testing

These are designed to validate a fully developed system to assure that it meets its requirements. The test cases are therefore designed solely based on the SRS document.