WRブログ

テストの管理Vol.4 〜テストの構成管理〜

テストの構成管理

前回の「テストの管理Vol.3 〜テストの進捗管理〜」では、テストを進めるうえで重要なテストの進捗管理の概要と、進捗測定の基準についてご紹介しました。そこで、今回は、構成管理の概要と、テストにおける構成管理とはどのようなものなのかをご紹介します。

構成管理とは

構成管理の定義

構成管理とは、欠陥(バグ)のある部品やモジュールが製品に入り込まないように管理するための仕組みで、ソフトウェア開発以外でも使われている手法です。製品を構成する部品などを細かくリストし、文書化して管理します。ソフトウェア開発ではSCM(Software Configuration Management)と呼ばれ、ソースコードや文書などの成果物の変更履歴を作成・管理し、製品のバージョンやリビジョンに、個々の成果物のどのバージョンが対応しているかを紐付けることで、正確な情報へのアクセスができる状態を指します。つまり「あるバージョンの製品の部品やモジュールが一意に特定できるように管理・記録すること」を言います。

テストの構成管理の定義

構成管理の目的

構成管理には、バージョンの管理とトレーサビリティ維持によって、ある時点の成果物が一意になることで、間違ったバージョンの製品を出荷しないため、間違ったインシデント報告を行わないため、ベースとなるバージョンを間違えて開発を行わないためなど、さまざまな目的があります。

また、ソフトウェア構成管理のメリットとして、以下のことが挙げられます。

  • 修正を施すべきコードはどれか分かる。
  • 製品のリリースとその修正を制御できる。
  • コンポーネントの状態を記録し報告できる。
  • コンポーネント間の一貫性と完全性を保証できる。
  • ビルドのための対象ファイル、プロセスとツールを管理できる。
  • 組織としての開発手法を厳守できる。
  • システムの基盤となっているハードウェアおよびソフトウェアを管理できる。
  • 開発に関するチーム内のやりとりを促進できる。
  • 全ての障害について対処状況を追跡可能とし、コード修正と紐付けられる。

テストにおける構成管理

テストにおける構成管理がなぜ必要なのか

では、なぜソフトウェアテストにおいて、構成管理が必要なのでしょうか?例えば、あるテストの手順に対し、必要な入力データがどれか記録されていなかったとします。その場合、後にテストを再度行う必要が出たときに、そのテスト担当者は以前のテストデータを時間をかけて探すか、最悪の場合テストデータを作り直すことになってしまいます。また、テスト中にバグが見つかり、それを再現する際にテストコードが紐づいていないと同じ状況が再現できない可能性もでてきます。

そのため、ソフトウェアにおける構成管理では、テストアイテムのバージョンやテストウェア(テスト計画、テスト手順、テストコード、テストデータ、テスト環境、テスト結果など)を管理します。これらはソフトウェアの構成管理と同じく、全てをバージョン管理し、その全てが必要な箇所に紐づけられている状態にしておくことが重要です。また、テストウェアとテスト対象とのトレーサビリティを確立しておくことも大切です。

しかし、テストの構成管理は、通常のソフトウェア開発とは別で管理されがちです。ソースコードやドキュメントのバージョンは管理されていても、テストウェアの管理はおこなっていない、管理していても紐づいていないという組織が多いのではないでしょうか。たしかに、テストの構成管理は手間もかかり、専門的な技術も必要になるため、敬遠されがちですが、製品をリリースした後にバグが発生しないようにするためにも、ソフトウェアの構成管理と同じくテストの構成管理も重要なのです。

テストにおける構成管理の対象

テスト構成管理では、以下のようなものを管理の対象とします。
・テストアイテム(テスト対象となるソフトウェアなど)
・ソフトウェアの動作環境(メディア、ハードウェア、OSなど)
・テストウェア(テストコード、テストデータなど)
・欠陥(バグ、インシデントなど)
・テスト結果
・ドキュメント(テスト計画書、テスト手順書、テスト報告書など)

テストにおける構成管理の手順

テスト構成管理を行う手順は、一般的に以下のようになります。

1.構成管理対象を決める

ソフトウェア開発の場合、構成管理の中心はバージョン管理で行います。構成管理対象となり得るものの中から、何を構成管理対象とするかを選択します。

2.構成管理方法を決める

選択した構成管理対象について、それぞれ何に記録し、どのように管理するかを決めます。テストウェアを開発する過程で、どの段階のテストコードやテストデータにバージョン付けを行い、管理していくのかルール作りを行います。

3.記録を残す

構成管理対象や構成管理方法が決まり、構成管理が始まると、全てのバージョン情報などを記録します。

4.トレーサビリティの確保

プロジェクトが始まると、先に決めたルールとは異なる形で記録されたものや、例外的に処理したものなどが出てくる場合があります。そんなときにも、きちんとこれまでのバージョン管理と同様にトレーサビリティを確保しなければなりません。そのためには、適度なタイミングでこれまでの構成管理を見直すということも必要になります。

まとめ

ここまで、構成管理の概要と、テストにおける構成管理とはどのようなものなのかをご紹介しました。


・構成管理とは、製品に欠陥を埋め込まないための仕組み

・ソフトウェア構成管理とテスト構成管理はきちんと紐づいていることが重要

■テスト・検証に関する課題解決はお任せ下さい

弊社は、webサイトやスマホアプリ、クラウド製品、業務システムなどのソフトウェアにおけるテスト・検証を支援する、第三者検証サービスを提供しております。テスト管理に限らず、テスト・検証に関する課題がございましたら、お気軽にお問い合わせください。

■テストの管理に関するその他の解説記事
テストの管理Vol.1 〜テスト計画のレベルと内容を知る〜
テストの管理Vol.2 〜テストの見積もり〜
テストの管理Vol.3 〜テストの進捗管理〜
テストの管理Vol.4 〜テストの構成管理〜【本記事】
テストの管理Vol.5 〜テストで考慮すべき2つのリスク〜
テストの管理Vol.6 〜インシデント管理〜


【参考文献】:
『ソフトウェアテスト教科書 JSTQB Foundation 第3版』