There are four different levels in software testing:
- Unit/Component testing
- Integration testing
- System testing
- Acceptance testing
Unit testing - It is the lowest level in most of the models.
- Units are the programs or modules in the software.
Unit testing is performed by the programmer that tests the modules, and if any bug is found, then it is fixed instantaneously.
Integration testing
- Integration means the combination of all the modules, and all these modules are tested as a group.
- Integration testing performs the testing on the data that flows from one module to another module.
- It basically checks the communication between two or more modules but not the functionality of individual modules.
System testing
- System testing is used to test the complete or integrated system.
- It tests the software to ensure that it conforms the specified requirements specified in the SRS document.
- It is the final test and performs both functional and non-functional testing.
Acceptance testing - Acceptance testing is performed by the users or customers to check whether it meets their requirements or not.