Professional Documents
Culture Documents
net
Although variants of the V-model exist, a common type of V-model uses four test
levels,
corresponding to the four development levels.
The analysis and design of tests for a given test level should begin during the
corresponding development activity.
a) Component testing
Component testing searches for defects in, and verifies the functioning of, software
(e.g. modules, programs, objects, classes, etc.) that are separately testable.
One approach to component testing is to prepare and automate test cases before
coding. This is called a test-first approach or test-driven development.
b) Integration testing
System integration testing tests the interactions between different systems and may
be done after system testing.
c) System testing
In system testing, the test environment should correspond to the final target or
production environment as much as possible in order to minimize the risk of
environment-specific failures not being found in testing.
d) Acceptance testing
The goal in acceptance testing is to establish confidence in the system, parts of the
system or specific non-functional characteristics of the system
Non-functional testing includes, but is not limited to, performance testing, load
testing, stress testing, usability testing, maintainability testing, reliability testing and
portability testing. It is the testing of “how” the system works.
After a defect is detected and fixed, the software should be retested to confirm that
the original defect has been successfully removed. This is called confirmation.
Debugging (defect fixing) is a development activity, not a testing activity.
Regression testing may be performed at all test levels, and applies to functional,
non-functional and structural testing.
Once deployed, a software system is often in service for years or decades. During
this time the system and its environment are often corrected, changed or extended.
Maintenance testing for migration (e.g. from one platform to another) should include
operational tests of the new environment, as well as of the changed software.
Maintenance testing for the retirement of a system may include the testing of data
migration or archiving if long data-retention periods are required.
Maintenance testing may be done at any or all test levels and for any or all test
types.