【ISTQB /JSTQB Agile Tester 解説】3.4.4 構成管理ツール(Configuration Management Tools)

JSTQB Agile Tester

アジャイルプロジェクトでは、コードやテストケース、要件、ドキュメントなどが頻繁に更新されます。

このような変更の履歴を管理し、どのバージョンがどの成果物と対応しているかを明確にするのが「構成管理(Configuration Management)」です。

今回は、ISTQB Agile Tester Extension(アジャイルテスター拡張シラバス)の 3.4.4 構成管理ツール の内容を、具体例とともにわかりやすく解説します。


🔹 構成管理(Configuration Management)とは?

構成管理とは、**「変更履歴を管理すること」**を指します。

これは「バージョン管理(Version Control)」とも呼ばれ、次のような目的があります。

  • どの成果物(要件書、テストケース、ソースコードなど)が、どの時点で、どのように変更されたかを把握する

  • 新旧のバージョンを対応づけて、過去の状態をいつでも再現できるようにする

  • 誰が、いつ、どんな変更を加えたのかを追跡(トレーサビリティ)できるようにする

アジャイルでは短期間で頻繁に変更が行われるため、構成管理ツールは特に重要な役割を果たします。


🔹 なぜアジャイルに構成管理ツールが必要なのか?

アジャイル開発では、スプリントごとに機能追加や修正が発生します。

例えば以下のようなケースがあります。

  • バグ修正によりソースコードが変更される

  • ユーザーストーリーの追加によりテストケースが更新される

  • 要件の変更によりテスト結果レポートも修正が必要になる

これらをすべて手作業で管理するのは非常に大変です。

構成管理ツールを使うことで、変更の追跡・管理が自動化され、混乱や重複を防ぐことができます。


🔹 構成管理ツールで管理される主な対象

構成管理ツールは、単なるソースコード管理だけではありません。

以下のようなアーティファクト(成果物)をすべて管理できます。

管理対象

ソースコード

Java / Python / C++ などのプログラム

要件定義書

ユーザーストーリー、エピック、仕様変更履歴

テスト成果物

テストケース、テストレポート、バグレポート

自動化スクリプト

Selenium, Cypress などのテスト自動化コード

このように、開発とテストの両方の成果物を統合的に管理するのが構成管理ツールの役割です。


🔹 バージョン管理の仕組み

構成管理では、成果物を「バージョン」として管理します。

例えば次のような流れで進みます。

  1. チェックアウト(Check-out):作業者がファイルをローカルにコピーして変更を開始

  2. 変更(Edit):コードや文書を修正

  3. チェックイン(Check-in):変更を保存し、新しいバージョンとして登録

これにより、どの変更がいつ行われたのかが履歴として残ります。

また、誤って新しいコードで不具合が出た場合でも、過去のバージョンに**簡単にロールバック(戻す)**ことが可能です。


🔹 バージョン管理システムの種類

バージョン管理システム(Version Control System, VCS)には主に2種類あります。

種類

特徴

代表的なツール

集中型(Centralized VCS)

1つの中央リポジトリで全員が作業する

Subversion(SVN), CVS

分散型(Distributed VCS)

各メンバーがローカルにコピーを持ち、後で統合

Git, Mercurial

💡 例:

  • 小規模チーム(1つの拠点) → SVNなどの集中型でも十分

  • 大規模・リモートチーム(世界中に分散) → Gitのような分散型が便利

アジャイルチームでは、スピードと柔軟性を重視するため、

近年は Git(GitHub / GitLab / Bitbucket) のような分散型VCSが主流となっています。


🔹 構成管理ツール導入のメリット

  1. 変更履歴のトレーサビリティを確保

     どのコードや要件がどのテストで確認されたかを追跡可能。

  2. リスクの軽減

     間違った修正や削除があっても、すぐに以前のバージョンへ復元できる。

  3. チーム間のコラボレーション強化

     複数の開発者・テスターが同時に作業しても、変更の競合を最小限にできる。

  4. 自動化との統合

     CI/CD(継続的インテグレーション/デリバリー)ツールと連携し、自動テストや自動デプロイを実現できる。


🔹 実際のツール例

用途

推奨ツール

特徴

ソースコード管理

Git, GitHub, GitLab, Bitbucket

ブランチ戦略により複数開発を同時進行可能

ドキュメント管理

Confluence, SharePoint, Google Drive

バージョン管理+アクセス制御

テスト成果物管理

TestRail, Zephyr, Xray (Jira連携)

テストケース・レポートとの紐づけ

自動化統合

Jenkins, Azure DevOps, Bamboo

CI/CD環境と連携してテスト実行を自動化

🔹 ISTQBサンプル問題(例)

問題:

アジャイルプロジェクトで構成管理ツールを使用する主な目的はどれですか?

選択肢:

A. テストケースの優先順位を自動的に決定するため

B. 要件、コード、テスト成果物の変更履歴を追跡するため

C. テストデータを暗号化するため

D. 不具合修正を開発チームに自動通知するため

正解:B

構成管理ツールの目的は「変更履歴とトレーサビリティの管理」であり、テストや要件のバージョンを正確に追跡することが中心です。


まとめ:アジャイル開発における「構成管理ツール」の重要性

構成管理は、アジャイル開発を支える「見えない基盤」です。

頻繁に変化するソフトウェアやドキュメントを整理し、チームの混乱を防ぎ、リリースの信頼性を高めます。

特にアジャイルでは、

  • 短期間での変更対応

  • 複数メンバーの同時開発

  • 自動テストとの連携

    といった特徴があるため、構成管理ツールは品質とスピードを両立するための必須ツールと言えます。

コメント

タイトルとURLをコピーしました