BETAPlatform actively being built — new topics and features added regularly.

ISTQB Foundation Level (CTFL 4.0.1)~5 min read21/26

Configuration Management

// how configuration management supports testing through version and environment control.

loading...
// content

If you do not know exactly what version of the software you are testing, your test results are meaningless

A tester runs 200 test cases and reports 15 defects. A developer fixes 10 of them and deploys a new build. The tester re-tests — but is the new build the same as the previous one except for those 10 fixes? Or did something else change? Without configuration management, nobody knows.

Configuration management (CM) provides the discipline to track exactly what was tested, what version was deployed, what test data was used, and what the environment looked like — so that test results can be trusted and reproduced.

// example: github — configuration management in practice

Scenario: GitHub uses its own platform for configuration management of its source code, test suites, and infrastructure configurations. Every change is committed with a hash, every release is tagged, and every deployment records exactly which commit hash was deployed. What happened: When a regression was reported in production, the team used the deployment records to identify the exact commit that introduced it. They compared the test results against that commit (all passing) with the actual behaviour (failing). The discrepancy revealed that a configuration file — not tracked in the main repository — had been manually changed in production, causing the regression. Configuration management caught the gap. Why it matters: Without version control of all relevant assets (code, config, test cases, environment settings), tracing root causes and reproducing failures becomes guesswork.

Configuration Management — CTFL 4.0.1

Configuration management ensures that the software and testware are identified, controlled, and tracked throughout the development and testing lifecycle.

Key CM concepts

  • Configuration item (CI) — any work product placed under CM control. Examples: source code, test cases, test data, test scripts, environment configurations, documents.
  • Baseline — a formally approved version of a configuration item at a specific point in time. Baselines serve as reference points for testing (e.g., "tested against baseline v2.3").
  • Version control — tracking changes to configuration items over time, enabling rollback and comparison.
  • Change management — the process of controlling modifications to baselined items, including impact assessment and approval.

CM and testing

For testing to be reliable, CM must cover not just source code, but all testware:

  • Test plans and test cases
  • Test data and test scripts
  • Test environment configurations
  • Defect reports and their links to the relevant software version

// tip: Exam Tip: CTFL emphasises that configuration management applies to testware as well as source code. Test cases, test data, and test environment configurations must all be version-controlled. If a test environment configuration changes between test runs, the results from the two runs cannot be reliably compared. CM ensures testware integrity alongside software integrity.

Configuration Management in a Test Context

CM ActivityWhat It Covers in TestingWhy It Matters
Version controlTest cases, test scripts, test data filesEnsures the same test is run against each build; enables comparison across builds
Baseline creationSoftware build + test suite + environment config at a release pointProvides a fixed reference point — "all tests passed against baseline v3.1"
Change managementUpdates to test cases when requirements changeEnsures test cases stay aligned with current requirements
TraceabilityDefect reports linked to specific build and test caseEnables accurate re-testing — the exact conditions of the original failure can be reproduced
Environment CMOS versions, browser versions, configuration files, middlewareEnsures test environment is consistent and reproducible across test runs

Source Code as Configuration Item

// Examples

src/components/Login.tsxapi/payment-service.jsdb/migrations/001_users.sql

// Version Control

Git commits with meaningful messages

// Baseline

Release tags: v2.3.0, v2.4.0-rc1

// CM Lifecycle

Identify CI
Version Control
Baseline
Change Control
Status Accounting
Audit

Step 1: Identify CI

Define what work products go under CM control

// Exam tip

CM applies to TESTWARE too — not just source code. Test cases, test data, and environment configs must be version-controlled. If environment changes between test runs, results are not comparable.

Configuration Management vs Change Management

AspectConfiguration ManagementChange Management
FocusIdentifying, tracking, and controlling all work productsControlling and approving modifications to baselined items
ScopeAll configuration items throughout the lifecycleChanges to baselined configuration items only
ActivitiesVersioning, baselining, auditing, status accountingChange request, impact assessment, approval, implementation, verification
ToolsGit, SVN, configuration management databasesChange advisory boards, JIRA change request workflows
RelationshipCM provides the frameworkChange management operates within that framework

// warning: Exam Trap: "Configuration management only applies to source code." This is false. CTFL explicitly states that configuration management applies to ALL work products including testware — test plans, test cases, test data, test scripts, and environment configurations. A test suite without version control is just as much a CM gap as unversioned source code.

Exam Practice Questions

// ctfl 4.0.1 style — select an answer to reveal explanation

3Q
Q1.A tester wants to re-run the exact same tests that were executed against a previous software release. Which CM concept ensures this is possible?
Q2.Which of the following is a configuration item in a testing context?
Q3.Why is it important to apply configuration management to test environments as well as source code?
// end