Software testing is a method of checking the application/products by validating the requirements and by ensuring that the application is free from defects.
It ensures that the functionality of the software meets the requirements. In case of any issues, the developing team fixes them and it is sent back for verification and only then the application or the product will be shipped.
Levels of software testing
There are four types of software testing.
- Unit testing
- Integration testing
- System testing
- Acceptance testing
Unit testing
This is where individual modules of codes are tested. Here each piece of code in the application is tested by the developer in the developer’s environment. It comes under white box testing and it is the earliest level of testing. This is done in order to save the cost.
Integration testing
It tests the integration of multiple component modules and it is carried out by the software testers. This process uses programs such as stubs and drivers. It is the second level of testing where the multiple components are seen as single system. It comes under both black box and white box testing. It is further divided into;
- Top down
- High levels of modules are tested first then the lower levels of modules are tested.
- Bottom up
- Low level of module is tested first then the high level modules are tested.
System testing
It is also called as end to end testing, where the end users test the software. It comes under black box testing. In this testing it validates the business requirements and undergoes both functional and non functional tests such as response time, load taken and among others.
Acceptance testing
It is where end users/clients test, by looking and feeling the product or software and thereby giving the feedback to the developers. After this type of testing, payments are done and the product is delivered