DBデータベーススペシャリスト試験 午前Ⅱ

令和6年度秋期 データベーススペシャリスト 午前Ⅱ 問25

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。

選択肢

  1. ア
    最初のテストで,なるべく多くのバグを摘出する。
  2. イ
    テストケースの改善を繰り返す。
  3. ウ
    テストでのカバレージを高めることを目的とする。
  4. エ
    プログラムコードを書く前にテストコードを書く。
解き方のヒントを見る

開発サイクルを見比べる視点

この問題では、用語の印象や個別の手順をそのまま覚えるのではなく、開発活動と検証の関係がどのように説明されているかという一つの観点に絞って、各記述の前提と結果を落ち着いて照合します。

この問題で問われていること

選択肢を読むときは、作業の順序や間隔そのものを暗記で判断せず、変更を進める流れの中で、確認や学習の機会がどこに置かれているかを同じ基準で見比べてください。細部の言い回しより関係性に注目します。

視点

学習時は、まず設問が尋ねる対象を短く言い換え、次に各説明から「いつ・何を・何のために確認するか」を抽出します。そのうえで、同じ観点だけを使って説明同士の整合性を比較し、知識の連想だけで決めないようにします。

確認ポイント

  • 説明の中で、開発と確認の関係がどのように述べられているか。
  • 確認のタイミングについて、記述の前提と結論がつながっているか。
  • 用語の印象ではなく、同じ観点で各記述を比較できているか。
正解と解説を見る

正解

エ

解説

テスト駆動開発は、プログラムコードの実装に先立ってテストコードを作成し、そのテストを満たすように実装と改善を反復する開発手法です。

理由

テスト駆動開発では、まず実現したい振る舞いをテストコードとして記述します。その後にプログラムコードを書き、テストに合格する状態を目指して実装を改善します。

比較

最初のテストで多くのバグを見つけること、テストケースを改善し続けること、カバレージを高めることは、テスト駆動開発の本質的な定義ではありません。

選択肢ア

これは不正解だよ。テスト駆動開発は、最初の一回のテストでなるべく多くのバグを摘出することを特徴とする手法ではない。テストと実装を短い周期で繰り返し、段階的に動作を確認していく点が重要である。

選択肢イ

これは不正解だよ。テストケースの改善を繰り返すことは、品質向上の活動として行われる場合がある。しかし、テスト駆動開発の特徴を直接示すのは、テストケースを改善し続けることではなく、実装に先立ってテストを作成する開発順序である。

選択肢ウ

これは不正解だよ。テストでのカバレージを高めることは、テストの十分性を検討する一つの指標である。ただし、カバレージの向上を目的とすることだけでは、テスト駆動開発の特徴であるテスト先行の開発サイクルを表していない。

選択肢エ(正解)

これは正解だよ。テスト駆動開発では、まずテストコードを書いて期待する振る舞いを定義し、その後にテストを満たすプログラムコードを実装する。この順序でテストと実装を反復することが特徴である。

学習のポイント

テストの実施時期と、実装との反復関係を理解しましょう。

出典:独立行政法人 情報処理推進機構(IPA)令和6年度秋期 データベーススペシャリスト試験 午前Ⅱ 問25(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針