Software testing basics | Test Phases and Test Levels

software test levels

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email
Share on reddit
Share on tumblr


How would you like to have all the software testing knowledge you need in one comprehensive eBook to transform your career?

Test Levels

In software testing there are four software testing Test Levels. They can be encountered when testing both a system and a system of systems (multiple, dispersed, independent systems in context as part of a larger and more complex system). If this article I am going to show my test manager view on the software testing test levels.

Component / Unit Test

Focuses on components that are separately testable. Component testing happens when testing is performed on each individual unit separately without integrating with other components. It’s also referred to as Unit Test when it is viewed from an architecture perspective

Integration Test

Focuses on interactions between components or systems. Integration Testing is a level of software testing where individual units or components are tested together. The purpose of this level is to test the interactions between integrated units or systems.

System Test

Focuses on the behavior and capabilities of a whole system or product, often considering the end-to-end tasks the system can perform and the non-functional behaviors. System Testing is a level of testing that validates the complete system or the fully integrated software product. The purpose is to evaluate the end to end system specifications.

Acceptance Test

Focuses on the behavior and capabilities of a whole system or product: confidence, completion, fit for use & purpose. Some call it user acceptance testing as this is a level of software testing things are tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business and user requirements and assess whether it is acceptable for delivery.

The best way to navigate across the software testing Test Levels is to follow a predefined course, to constantly monitor it as you go along and apply course corrections whenever you see fit.

Test manager plan monitor metrics control

Software testing phases

A Test Manager knows that there are four software test phases that need to be under control in order to have a successful testing process: Test Analysis, Test Design, Test Implementation and Test Execution. Besides this test phases, a test manager does not forget about Test Planning and Test Closure.

Test Analysis

Test analysis is the process of analyzing the test basis (all documents from which the requirements of a component or system can be inferred) and defining test objectives. Covers WHAT is to be tested in the form of test conditions and can start as soon as the basis for testing is established for each test level.

Test Design

Test Design is an item or event of a component or system that could be verified by one or more test cases (ex: function, transaction, feature, etc.). Covers HOW something is to be tested by identifying test cases with step wise elaboration for the test conditions (from Test Analysis) or from the test basis using techniques identified in the test strategy or plan.

Test Implementation

Test Implementation is the process of developing and prioritizing test procedures, creating test data and, optionally, preparing test harnesses and writing automated test scripts. This is when tests are organized and prioritized and when test designs are implemented as test cases, test procedures and test data. It is of great importance to pick the right tests and run them in the right order. The importance of this even grows exponentially in risk-based strategies when we prioritize based on the likelihood of risk and problems.

Test Execution

Test execution is the process of running a test on the component or system under test, producing actual result.

This article is based on the ISTQB Advanced Syllabus version 2012 and it also references the ISTQB Foundation Syllabus version 2018. It uses terminology definitions from the ISTQB Glossary version 3.2.

Follow & Subscribe

Get updates and learn from the best

Test Conditions

Test Conditions

Software test conditions are part of testing basics and represent an item or event of a component or system that could be verified.

Read More »

A Test Manager's Guide

Whether you want to be a better test manager, or gain useful knowledge of the software testing as a whole, A Test Manager's Guide is the software testing book for you.

A Test Managers Guide

How would you like to have all the software testing knowledge you need in one comprehensive book?