A test type is a group of test activities aimed at testing specific characteristics of a software system, or a part of a system, based on specific test objectives. Such objectives may include:
- Evaluating Functional Characteristics: Some of the Functional quality characteristics are completeness, correctness, and appropriateness. (Functional Testing)
- Evaluating Non-Functional Characteristics: Evaluating non-functional quality characteristics, such as reliability, performance efficiency, security, compatibility, and usability. (Non-Functional Testing)
- Evaluating System Structure: Evaluating whether the structure or architecture of the component or system is correct, complete, and as specified. (White Box Testing)
- Evaluating the effects of changes: Confirmation and Regression testing are part of this objective. In Confirmation testing, we confirm that defects have been fixed, and in regression testing, we look for unintended changes in behavior resulting from software or environment changes. (Change Related Testing)
Test types are introduced as a means of clearly defining the objective of a certain test level for a program or project. A test type may take place on one or more test levels or test phases. Based on objectives, there are four test types as per ISTQB Syllabus.
- Functional Testing
- Non-Functional Testing
- White-box Testing
- Change-related Testing
Each test type has a defined test objective, test strategy, and test deliverable. Above can be further divided into several types.