There are four levels of software testing - unit, integration, system and acceptance testing. In the case of unit testing, a module or component is tested in isolation. Integration testing aims at finding interfacing issues between the modules. System testing aims at determining if the application conforms to its business requirements. Acceptance is the final and one of the most important levels of testing on successful completion of which the application is released to production.