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) |