基本情報技術者 2009年 秋期 午前(科目A) 問50
問題文
ソフトウェア開発において、構成管理に起因しない問題はどれか。
選択肢
ア:開発者がバグを定められた手続に従わずに修正したので、今まで動作していたプログラムが、突然に不正な動作をする。
イ:システムテストにおいて、単体テストレベルのバグが多発して、開発が予定どおり進捗しない。(正解)
ウ:仕様書、設計書及びプログラムのそれぞれが一致していないので、プログラム修正時にソースプログラムを解析しないと、修正すべきプログラムが特定できない。
エ:一つのプログラムから多数の派生プログラムが作られているが、派生元のバグ修正がすべての派生プログラムに反映されない。
構成管理に起因しない問題はどれか。【午前2 解説】
要点まとめ
- 結論:イが正解。システムテストで単体テストレベルのバグが多発するのは設計・実装やテスト品質の問題であり、構成管理そのものの不備とは本質的に異なります。
- 根拠:構成管理は「版管理、変更管理、ビルド管理、トレース可能性、差分管理」を担い、ソースの整合性や修正反映漏れ、派生管理などが該当しますが、単体テスト不足はプロセスや品質管理の問題です。
- 差がつくポイント:選択肢ごとに「版やプロセスの管理が直接関与するか」を基準に判断し、テスト不備(テスト設計や実行漏れ)と混同しないようにすること。
正解の理由
イ(システムテストで単体テストレベルのバグが多発し、開発が予定どおり進捗しない)は、構成管理(Configuration Management, CM)の機能や責任範囲では説明しにくい現象です。CMはソフトウェアのバージョン管理、変更履歴管理、ビルドやリリースの統制、派生管理や差分反映などを扱いますが、単体テストで摘出すべき不具合が残る原因は、設計の誤り、単体テスト設計や実行の不備、開発プロセスの品質管理不足などに起因します。よって構成管理に起因しない選択肢はイです。
よくある誤解
- 「テストでバグが出た=構成管理のせい」と考える誤り。テスト不備は品質保証や実装側の問題であることが多いです。
- 構成管理は間接的にテスト効率に影響するが、単体テストそのものの質は別の管理領域です。
解法ステップ
- 構成管理の定義を確認する(版管理、変更管理、ビルド・配布、トレーサビリティ等)。
- 各選択肢がCMのどの機能と対応するかを当てはめる(手続違反、テストレベル不一致、文書・ソースの不整合、派生管理の反映漏れ)。
- 「CMで直接制御・改善できる問題」と「テスト・品質プロセスの問題」を区別する。
- CMでは説明できない、テスト工程や設計に起因するものを正解と判断する。
選択肢別の誤答解説
- ア: 開発者が手続を守らず修正したため動作が不正になる — 構成管理(変更手続、変更記録、承認フロー)の不備または運用違反であり CM に起因する問題です。
- イ: システムテストで単体テストレベルのバグが多発する — 単体テスト設計/実行や実装の品質管理不足が原因で、直接的には構成管理の責務外です(正解)。
- ウ: 仕様書・設計書・プログラムが一致しないため修正対象が特定できない — ドキュメントと成果物の整合性/トレーサビリティ不足であり、構成管理(バージョン管理・ベースライン管理)の問題です。
- エ: 派生元のバグ修正が派生プログラムに反映されない — ブランチや派生管理、マージ・反映の運用が不十分で、典型的な構成管理の問題です。
補足コラム
- 構成管理の主要機能:版管理(バージョン管理)、変更管理(Change Control)、ビルド管理、リリース管理、トレーサビリティ、構成アイテムの識別と監査。
- 標準や手法:IEEE 828(ソフトウェア構成管理計画)、CMの導入で得られる効果は再現性の向上、リスク低減、問題追跡の容易化。
- ツール例:Git、Subversion、Perforce、ClearCase など。CI/CD と組み合わせることでビルドやデプロイの自動化と一貫性を高められます。
- テスト・品質管理とCMの関係:CM はテスト実行のための正しいビルドやテストベクトルの管理を支援しますが、テスト設計や欠陥密度そのものを防ぐ機能は別途の品質管理プロセスが担います。
FAQ
Q: 構成管理が不十分だとどんな問題が起きますか?
A: 版の混在、誤ったバージョンの配布、修正反映漏れ、誰が何を変更したか不明でトラブルシューティングが困難になります。
A: 版の混在、誤ったバージョンの配布、修正反映漏れ、誰が何を変更したか不明でトラブルシューティングが困難になります。
Q: 単体テストの不備をどう改善すれば良いですか?
A: テスト計画と設計の充実、テストカバレッジ測定、コードレビュー導入、自動化テストの整備で初期不具合を減らせます。
A: テスト計画と設計の充実、テストカバレッジ測定、コードレビュー導入、自動化テストの整備で初期不具合を減らせます。
Q: 構成管理と継続的インテグレーション(CI)はどう関係しますか?
A: CI は構成管理で管理されたソースを基に定期的にビルド・テストを行い、変更の早期検出と統合の安定化を図ります。
A: CI は構成管理で管理されたソースを基に定期的にビルド・テストを行い、変更の早期検出と統合の安定化を図ります。
関連キーワード: 構成管理、版管理、変更管理、トレーサビリティ、ビルド管理、ブランチ管理、品質管理、テスト設計、CI/CD

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

