General
A testing stage is a group of testing activities, which is executed based on the phases of the software development process. The responsibility of each testing stage may vary and must be alligned in each project with the customer. However the final acceptance test must be executed by the customer (which must also take responsiblility).
The following testing stages have been defined within ISTQB; as addition the developertests and component tests have been separated as in most projects they are executed separately (best practice).

Test Allocation Matrix
Component Test | Integration Test | System Test | User Acceptance Test | |
---|---|---|---|---|
What? | Components Modules | Internal Interfaces Building Blocks | (Sub-) System | System Documentation User Manual Contract (Software Development) |
Why? | Functionality Adequacy Integrity Correctness Secureness Efficiency Maintainability | Functionality Interoperatibility | Functionality whole stack Portability Reliability Efficiency Useability | Functionality * whole stack Portability Reliability Efficiency * Useability * * Focus areas |
How? | Whitebox (Static Methods) | Whitebox | Blackbox Equivalence class Use-Cases Limit Values | Blackbox Business Processes Use-Cases |
Who? | Developer | Functional Tester Supported by Developer | Functional Tester Key User (Business department) Test Specialist (Non-Functional Tester) | Key User Supported by Tester |
Where? | Development Environment | Several Environments Development Environment Test Environment Integration Environment | Production-Sync Environment | Customer Environment Production-Sync Environment |
1. Developer Tests
Aim
Verified source code.
Typical Testobjectives
Program-modules / units like classes, methods and other software artifacts.
Executed by
Programmer, who wrote the code.
Responsible
Manager of the developer (Technic. Lead). In rare cases the Test Manager.
Kind of tests
Functional tests, in must cases implemented as Unit Tests, which are deisgned based on the programmed code.
2. Component Test
Aim
Components are – isolated and without huge organizational efforts – tested. Most issues are resolved early (before the start of higher test stages).
Typical Testobjectives
Smallest single or aggregated program modules, which have functional correlations and are testable.
Executed by
Team of testers, which must not be the developers.
Responsible
Test Manager.
Kind of tests
Functional tests like UI behaviour, validation scripts. Robustness and negative-tests are also included.
3. Integrated Component Test
Aim
The correlation of single modules (which are tested separately) are tested.
Typical Testobjectives
Aggregated components. This stage focuses on the integration between components.
Executed by
Team of testers.
Responsible
Test Manager.
Kind of tests
Functional integration tests.
4. System Test
Aim
The integrated system is tested (End-to-End).
Typical Testobjectives
The integrated system is tested.
Executed by
Team of testers.
Responsible
Test Manager.
Kind of tests
Functional tests (e.g. based on business processes) Non-Functional tests (Load and Performance Tests, Fail-Over tests) Regression tests.
5. User Acceptance Test (UAT)
Aim
Acceptance-Criteria of the customers are met.
Typical Testobjectives
The integrated system is tested.
Executed by
Team of testers (customer) and key users.
Responsible
Customer
Kind of tests
Functional tests (e.g. based on business processes) Non-Functional tests (Useability)