Levels of Testing
Levels of Testing
Here, we will describe the different testing levels of testing in brief, and in the
next tutorials, we will explain each level individually, providing an example and
detailed explanation.
Content
Unit Testing
Integration Testing
System Testing
Acceptance Testing
Unit Testing
Unit Testing is the first level of testing usually performed by the developers.
In unit testing, a module or component is tested in isolation.
As the testing is limited to a particular module or component, exhaustive
testing is possible.
Advantage – Error can be detected at an early stage saving time and
money to fix it.
Limitation – Integration issues are not detected in this stage, modules may
work perfectly on isolation but can have issues in interfacing between the
modules.
Integration Testing
So, in those cases, stubs are used which are nothing but dummy
modules or functions that simulate the functioning of a module by
accepting the parameters received by the module and giving an
acceptable result.
3. Bottom-up integration testing is also based on an incremental
approach but it starts from lower-level modules, moving upwards to the
higher-level modules. Again the higher-level modules might not have
been developed by the time lower modules are tested. So, in those
cases, drivers are used. These drivers simulate the functionality of
higher-level modules in order to test lower-level modules.
4. Hybrid integration testing is also called the Sandwich integration
approach. This approach is a combination of both top-down and bottom-
up integration testing. Here, the integration starts from the middle layer,
and testing is carried out in both directions, making use of both stubs
and drivers, whenever necessary.
System Testing
Acceptance Testing
Acceptance testing is the final and one of the most important levels of
testing on successful completion of which the application is released to
production.
It aims at ensuring that the product meets the specified business
requirements within the defined standard of quality.
There are two kinds of acceptance testing- alpha testing and beta testing.
1. When acceptance testing is carried out by testers or some other internal
employees of the organization at the developer’s site it is known
as alpha testing.
2. User acceptance testing done by end-users at the end-user’s site is
called beta testing.