Levels of Testing
Software testing levels are the different stages of the software development lifecycle where testing is conducted. there are four different levels of testing which include unit testing, integration testing, system testing, and acceptance testing.
1. Unit Testing: It is also known as a component, module, and program testing. The smallest independent and testable part of the source code is referred to as a unit. It is done mostly by the developers. Unit testing searches for defects in a module and verifies the functioning of software w.r.t modules, programs, objects, classes, etc. It is done in the isolation environment from the rest of the system. It includes testing of functionality as well as memory leaks, performance or robustness testing.
2. Integration Testing: Integration testing tests interfaces between components or functions which are integrated to form a system. It is performed by the testing team. It basically checks the proper functioning of the modules when they are integrated and should not expose bugs. It is the most common functional testing type and performed as automated testing.
3. System Testing: In this system is checked and tested based on the risks and requirement specifications, business processes, and use cases. The testing is carried out from the user’s point of view. It investigates both functional and non-functional requirements of the system where non-functional tests include performance, compatibility, and reliability. Certain incomplete or undocumented requirements are also incorporated for testing at this level.
4. Acceptance Testing: Acceptance testing is done by real users or customers in a production environment. It focused on a validation type of testing, whereby trying to determine whether the system is fit for purpose. Finding defects is not the main focus of acceptance testing. Its main focus is to check the system’s compliance with its business requirements.