Test Stages

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 TestIntegration TestSystem TestUser Acceptance Test
What?Components ModulesInternal Interfaces Building Blocks(Sub-) SystemSystem Documentation User Manual Contract (Software Development)
  Why?Functionality Adequacy Integrity Correctness Secureness Efficiency MaintainabilityFunctionality InteroperatibilityFunctionality
whole stack Portability Reliability Efficiency Useability
Functionality *
whole stack Portability Reliability Efficiency * Useability * * Focus areas
How?Whitebox (Static Methods)WhiteboxBlackbox Equivalence class Use-Cases Limit ValuesBlackbox Business Processes Use-Cases
Who?DeveloperFunctional Tester
Supported by Developer
Functional Tester Key User (Business department) Test Specialist (Non-Functional Tester)Key User
Supported by Tester
Where?Development EnvironmentSeveral Environments Development Environment Test Environment Integration EnvironmentProduction-Sync EnvironmentCustomer 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)