PMプロジェクトマネージャ試験 午前Ⅱ

平成30年度春期 プロジェクトマネージャ 午前Ⅱ 問17

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

問題

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

選択肢

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

開発プラクティスを目的から捉える

アジャイル開発の各手法には多くの実践項目があり、名称だけで覚えると混同しやすくなります。個々の実践が開発のどの課題に対処するために置かれているのかという観点に絞って整理すると、判断の軸が安定します。

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

この問題で確かめたいのは、実践項目の名前を知っているかだけでなく、その実践が開発チームや成果物にどのような効果をねらって行われるのかを説明できるかどうかです。目的と実践の対応を一つずつ自分の言葉で確認しましょう。

視点

アジャイル開発には複数の手法があり、それぞれが独自の用語で実践を定めています。用語の暗記に頼るより、「この実践がなければどんな問題が起きるか」を考えると、実践の役割が見えやすくなります。目的を自分の言葉で言い換えられれば、表現が変わっても内容を正しく照らし合わせられます。

確認ポイント

  • 各実践が解決しようとしている開発上の課題を、一言で言い表せるか
  • その実践のねらいが、作業の進め方・品質・関係者間の連携のうち主にどこに向いているか
  • 判断の根拠が用語の印象ではなく、実践の目的に基づいているか
正解と解説を見る

正解

エ

解説

XPのテスト駆動開発は、プログラムを実装する前にテストケースを作成し、そのテストを満たすように実装を進める開発手法です。

理由

テスト駆動開発では、まず期待する動作を確認するテストケースを作成し、その後にテストを通過するプログラムを実装する。この順序で短い開発サイクルを繰り返す。

比較

バグの摘出数、テストケースの改善、カバレージの向上は、テスト駆動開発の定義となる実装前のテスト作成そのものを示していない。

選択肢ア

これは不正解だよ。テスト駆動開発は、最初のテストでできるだけ多くのバグを摘出することを主な特徴とはしない。実装前に期待する動作をテストとして定義し、実装とテストを短い単位で繰り返す点が重要である。

選択肢イ

これは不正解だよ。テストケースを見直して改善することは開発活動として行われる場合があるが、それだけではテスト駆動開発の特徴を表さない。重要なのは、テストケースを先に用意してから対応するプログラムを書く順序である。

選択肢ウ

これは不正解だよ。テストでのカバレージを高めることは品質確認の観点として有用だが、テスト駆動開発を特徴付ける中心的な説明ではない。テスト駆動開発では、実装前に期待する動作をテストケースとして作成する。

選択肢エ(正解)

これは正解だよ。テスト駆動開発では、プログラムを書く前に、実現したい動作を確認するテストケースを作成する。その後、テストを満たすようにプログラムを実装し、テストと実装を繰り返しながら開発を進める。

学習のポイント

テスト駆動開発では、テストの順序と開発サイクルにおける役割を押さえる。

出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 プロジェクトマネージャ試験 午前Ⅱ 問17(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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