Following are the five levels of software testing:
Level 1 - Static testing: Developers work to avoid potential problems that might arise later.
Level 2 - Unit testing: Developers perform assessments of specific units, their functions, and procedures to ensure the software works independently.
Level 3 - Integration testing: Elaborate testing on all program units to discover issues with how separate software functions interact.
Level 4 - System testing: Testing the application as a whole to see how well it solves the purpose.
Level 5 - Acceptance testing: Evaluating the application to see if it is ready for release and practical use. Once the software is approved from here, it goes into production.