応用情報技術者 2017年 秋期 午前2 問48
問題文
アジャイル開発のプラクティスのうち、回帰テストを行うことを前提とするものはどれか。
選択肢
ア:日次ミーティング
イ:ふりかえり
ウ:ペアプログラミング
エ:リファクタリング(正解)
アジャイル開発のプラクティスにおける回帰テストの前提【午前2 解説】
要点まとめ
- 結論:回帰テストを前提とするプラクティスは「リファクタリング」です。
- 根拠:リファクタリングはコードの内部構造を改善するため、既存機能が壊れていないかを確認する回帰テストが必須です。
- 差がつくポイント:他の選択肢はチームコミュニケーションや開発手法に関するものであり、直接的に回帰テストを前提としていません。
正解の理由
リファクタリングはコードの動作を変えずに内部構造を改善する作業です。これにより、既存の機能が意図せず壊れていないかを確認するために回帰テストが不可欠となります。したがって、回帰テストを前提とするプラクティスは「リファクタリング」です。
よくある誤解
日次ミーティングやふりかえりはチームの情報共有や改善活動であり、回帰テストとは直接関係ありません。ペアプログラミングもコード品質向上に寄与しますが、回帰テストの前提ではありません。
解法ステップ
- アジャイル開発の各プラクティスの目的を理解する。
- 回帰テストとは何かを確認し、どのプラクティスがそれを必要とするかを考える。
- リファクタリングはコードの動作を変えずに改善するため、動作確認(回帰テスト)が必須であると判断する。
- 選択肢の中で回帰テストを前提とするものを選ぶ。
選択肢別の誤答解説
- ア: 日次ミーティング
チームの進捗共有や問題点の把握が目的であり、回帰テストとは無関係です。 - イ: ふりかえり
開発プロセスの振り返りと改善を行う場で、テストの実施を直接前提とはしません。 - ウ: ペアプログラミング
コード品質向上や知識共有に効果的ですが、回帰テストの実施を前提とはしていません。 - エ: リファクタリング
コードの内部構造を改善するため、既存機能の動作確認として回帰テストが必須です。
補足コラム
リファクタリングはアジャイル開発の品質維持に欠かせないプラクティスです。頻繁にコードを改善しながらも、動作を壊さないことを保証するために自動化された回帰テストが活用されます。これにより、開発速度を落とさずに品質を保つことが可能です。
FAQ
Q: リファクタリングと回帰テストはなぜセットで行うのですか?
A: リファクタリングは動作を変えずにコードを改善するため、既存機能が壊れていないかを回帰テストで確認する必要があります。
A: リファクタリングは動作を変えずにコードを改善するため、既存機能が壊れていないかを回帰テストで確認する必要があります。
Q: ペアプログラミングは回帰テストの代わりになりませんか?
A: ペアプログラミングはコードの品質向上に役立ちますが、動作確認は回帰テストで行うため代替にはなりません。
A: ペアプログラミングはコードの品質向上に役立ちますが、動作確認は回帰テストで行うため代替にはなりません。
関連キーワード: アジャイル開発、リファクタリング、回帰テスト、プラクティス、ソフトウェア品質

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

