Professional Documents
Culture Documents
Levels of Testing
• Unit testing
• Integration testing - Top-Down, Bottom-up integration
• System Testing - performance, regression, Load/Stress
testing, Security testing, Internationalization testing.
• Acceptance Testing- Alpha, Beta Testing
• Usability and accessibility testing - Configuration,
compatibility testing
1. Unit Testing
• It is a level of the software testing process where individual
units/components of a software/system are tested. The
purpose is to validate that each unit of the software
performs as designed.
• A unit is the smallest testable part of software. It usually
has one or a few inputs and usually a single output.
• Unit Testing is normally performed by software developers
themselves or their peers. In rare cases it may also be
performed by independent software testers.
2. Integration Testing
• It is a level of the software testing process where
individual units are combined and tested as a group.
The purpose of this level of testing is to expose
faults in the interaction between integrated units.
Drivers and stubs are used in integration testing.
• A driver piece of software which calls the software
under test, passing the test data as inputs.
• A stub is temporary or dummy piece of code that is
required by the software under test for it to operate
properly.
• Integration testing is done in two ways :
• Top-Down Testing :
• Components which are at the top layer are tested first and then it is
integrated with the just below components and ten tested it and so
on.
• A top-down approach is essentially the breaking down of a system
to gain insight into its compositional sub-system.
• The importance of top-down testing is design flow is detected,
quality improves, user satisfaction, requirements matches with the
developed software.
• Stubs are used in Top down testing
• Example –
In the top-down integration testing, if depth-first approach is adopted
then we will start integration from module M1. Then we will integrate
M2, then M3, M4, M5, M6, and at last M7.
• Bottom-up Testing :
• The component at the bottom level tested primarily. Afterwards
these lower level components integrated with just above
components to them and then combine testing is done.
• In a bottom-up approach the individual base elements of the system
are first specified in great detail.
• These elements are then linked together to form larger subsystem.
• The drivers are used in Bottom Testing
• Example –
In the last, modules or components are combined together to form cluster
1 and cluster 2. After this, each cluster is tested with the help of a
control program. The cluster is present below the high-level module or
driver. After testing, driver is removed and clusters are combined and
moved upwards with modules.
3. System Testing
• It is a level of the software testing process where a complete,
integrated system/software is tested.
• The purpose of this test is to evaluate the system’s compliance
with the specified requirements.