基本情報技術者 2011年 春期 午前(科目A) 問50
問題文
ソフトウェア開発において、構成管理に起因しない問題はどれか。
選択肢
ア:開発者が定められた改版手続に従わずにプログラムを修正したので、今まで動作していたプログラムが不正な動作をする。
イ:システムテストにおいて、単体テストレベルのバグが多発して、開発が予定どおり進捗しない。(正解)
ウ:仕様書、設計書及びプログラムの版数が対応付けられていないので、プログラム修正時にソースプログラムを解析しないと、修正すべきプログラムが特定できない。
エ:一つのプログラムから多数の派生プログラムが作られているが、派生元のプログラム修正がすべての派生プログラムに反映されない。
🔒 解説は解答すると表示されます
ソフトウェア構成管理問題の識別【午前解説】
正解の理由
選択肢のうち、構成管理に起因しないのはイです。構成管理(バージョン管理、変更管理、ビルド/リリース管理、トレーサビリティなど)は、どの版が正しいか、どの修正がどこに反映されているかを管理する仕組みです。
イは「単体テストレベルのバグが多発しているため開発が遅れている」という記述で、これは設計ミスや実装ミス、テスト工程の不備(テストケース不足、単体テストの未実施や不完全)による現象であり、構成管理の不備(版管理の誤りや改版手続違反)ではありません。構成管理が正常でも単体テストの品質が低ければ同様の事象は起きますが、それは直接的な原因ではありません。
イは「単体テストレベルのバグが多発しているため開発が遅れている」という記述で、これは設計ミスや実装ミス、テスト工程の不備(テストケース不足、単体テストの未実施や不完全)による現象であり、構成管理の不備(版管理の誤りや改版手続違反)ではありません。構成管理が正常でも単体テストの品質が低ければ同様の事象は起きますが、それは直接的な原因ではありません。
解法ステップ
- 問題文のキーワードを抽出する(改版手続、版数対応付け、派生反映、単体テスト等)。
- 構成管理の主要機能を思い出す(バージョン管理、変更管理、トレーサビリティ、リリース管理)。
- 各選択肢が上の機能どれに該当するかを対応付ける。
- 「構成管理に起因しない」もの(構成管理の責務に含まれないもの)を選ぶ。
- 候補が複数ある場合は「直接的な原因か否か」を基準に除外する。
選択肢別の誤答解説
- ア: 開発者が定められた改版手続に従わずにプログラムを修正した → 構成管理の運用違反(変更管理・改版手続の逸脱)。直接的に構成管理起因の問題です。
- イ: システムテストにおいて、単体テストレベルのバグが多発して、開発が予定どおり進捗しない。 → 正解。単体テスト段階の欠陥は開発・テストプロセスの問題であり、構成管理の直接原因とは言えません。
- ウ: 仕様書、設計書及びプログラムの版数が対応付けられていないので、プログラム修正時にソースプログラムを解析しないと、修正すべきプログラムが特定できない。 → これはトレーサビリティや版管理の欠如による典型的な構成管理問題です。
- エ: 一つのプログラムから多数の派生プログラムが作られているが、派生元のプログラム修正がすべての派生プログラムに反映されない。 → ブランチ管理やマージ、派生管理ができていない構成管理上の問題です。
よくある誤解
- 構成管理ですべての品質問題が解決すると思い込む。実際には品質向上は設計・実装・テスト工程の改善が必要です。
- 「テストでバグが出る=構成管理の問題」と短絡する誤り。テスト段階で見つかる欠陥はプロセス品質の問題が多いです。
- 版管理の不備が間接的にテスト時間を浪費することはあるが、単体テストのバグ発生そのものを直接説明しない点を見落とす。
補足コラム
構成管理の代表的な活動は次のとおりです:
- バージョン管理(ソースやドキュメントの版管理)
- 変更管理(変更要求の記録、承認、履歴管理)
- ベースライン管理(安定版の設定と管理)
- トレーサビリティ(要求→設計→実装→テストの紐付け)
- ビルド/リリース管理(派生物の生成・配布の管理)
これらは「何がどの版か」「誰がいつ変更したか」「どの変更がどの成果物に影響するか」を明確にしますが、コードの品質やテストケースの完全性までは保証しません。CI/CDや自動テストの導入で構成管理とテスト工程を連携させると、間接的に不具合検出の効率は向上します。
FAQ
Q1: 構成管理の不備がテスト工程に影響することはありますか?
A1: はい。版混在や不整合があると誤った版でテストしてしまい、問題の追跡や再現が困難になります。しかし「単体テストのバグ多発」自体は構成管理の直接的な原因とは通常判断しません。
A1: はい。版混在や不整合があると誤った版でテストしてしまい、問題の追跡や再現が困難になります。しかし「単体テストのバグ多発」自体は構成管理の直接的な原因とは通常判断しません。
Q2: 単体テストでの不具合を避けるには何が必要ですか?
A2: コードレビュー、適切な単体テストケース、テスト自動化、静的解析の導入、テスト担当者のスキル向上などプロセス改善が必要です。構成管理はこれらの環境整備(正しい版を常にテストに回す)を支援します。
A2: コードレビュー、適切な単体テストケース、テスト自動化、静的解析の導入、テスト担当者のスキル向上などプロセス改善が必要です。構成管理はこれらの環境整備(正しい版を常にテストに回す)を支援します。
Q3: 問題文を読むときのチェックポイントは?
A3: 「原因が運用(管理)かプロセス(設計/実装/テスト)か」を切り分けること。構成管理に関する語(改版手続、版数、派生反映、トレーサビリティ)を見つければ構成管理起因の選択肢です。
A3: 「原因が運用(管理)かプロセス(設計/実装/テスト)か」を切り分けること。構成管理に関する語(改版手続、版数、派生反映、トレーサビリティ)を見つければ構成管理起因の選択肢です。
関連キーワード: 構成管理、バージョン管理、変更管理、トレーサビリティ、リリース管理、単体テスト、システムテスト、派生プログラム、ブランチ管理、ベースライン管理

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

