SC Workbook
科目 A-1 · 開発技術

テスト駆動開発

アジャイル開発のプラクティスのうち,テスト駆動開発の説明はどれか。

  1. ア先に失敗するテストを作成し,そのテストに合格する最小限のコードを書いた後,リファクタリングで設計を改善するという短いサイクルを繰り返す。
  2. イ2 人の開発者が 1 台のコンピュータを共有し,一方がコードを書き,他方がそれを確認しながら役割を随時交代する。
  3. ウ開発者が変更したコードを頻繁に共有リポジトリに統合し,そのたびに自動でビルドとテストを実行する。
  4. エ外部から見たプログラムの振る舞いを変えずに,内部の構造を改善して保守性を高める。
正解と解説を見る

正解 ア

この問題の基礎知識

  • テスト駆動開発は,失敗するテストを先に書き,そのテストに合格する最小限のコードを書き,リファクタリングで設計を改善するという短いサイクルを繰り返す手法である。
  • リファクタリングは,外部から見たプログラムの振る舞いを変えずに内部構造を改善することであり,自動テストで振る舞いが変わっていないことを確認しながら行う。
  • ペアプログラミングは 2 人 1 組で 1 台のコンピュータを使って開発するプラクティス,継続的インテグレーション(CI)は変更を頻繁に統合して自動でビルドとテストを行うプラクティスである。
ア先に失敗するテストを作成し,そのテストに合格する最小限のコードを書いた後,リファクタリングで設計を改善するという短いサイクルを繰り返す。正解

テスト駆動開発は,失敗するテストを書く,テストを通す最小限の実装をする,リファクタリングするというサイクル(レッド・グリーン・リファクタ)を繰り返して開発を進める手法である。

イ2 人の開発者が 1 台のコンピュータを共有し,一方がコードを書き,他方がそれを確認しながら役割を随時交代する。

2 人 1 組で 1 台のコンピュータを使い,コードを書く役と確認する役を交代しながら開発するのはペアプログラミングの説明である。テストを先に書くことは要件ではない。

ウ開発者が変更したコードを頻繁に共有リポジトリに統合し,そのたびに自動でビルドとテストを実行する。

コードの変更を頻繁に共有リポジトリへ統合し,そのたびに自動ビルドと自動テストを実行して問題を早期に検出するのは継続的インテグレーション(CI)の説明である。テストを先に書く手法ではない。

エ外部から見たプログラムの振る舞いを変えずに,内部の構造を改善して保守性を高める。

外部仕様を変えずに内部構造を改善するのはリファクタリングの説明である。テスト駆動開発のサイクルの一部ではあるが,テストを先に書いて開発を進める手法全体を説明していない。

検証用の出典出典照合済み
Kent Beck, Test-Driven Development: By Example / IPA 応用情報技術者試験(レベル 4)シラバス / IPA アジャイル型開発におけるプラクティス活用事例調査 調査報告書 ガイド編
照合の根拠(5 件)

原文は 2 段組で pdftotext の行が左右の段で交互になるため,引用は 1 段内で連続する短い箇所に限った。

問題 ID A1-DEV-0507 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。