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

平成30年度春期 データベーススペシャリスト 午前Ⅱ 問25

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

問題

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

選択肢

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

XPプラクティスは目的から捉える

XPのプラクティスを見分けるときは、名称の印象だけで判断せず、その活動が開発のどんな問題を解決するために置かれているのかという目的の観点に絞って考えると、記述との対応を落ち着いて確かめやすくなります。

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

問われているのは個々の用語の暗記ではなく、あるプラクティスが何を狙いとし、その狙いが記述された内容と整合しているかを判断する力です。目的と記述の食い違いがないかという一点に注目して検討しましょう。

視点

アジャイル開発の各プラクティスは、変化への対応や品質の確保など、開発で起こりがちな何らかの課題に対処するために取り入れられています。そのため、個々のプラクティスは名前や手順だけで覚えるより、『なぜそれを行うのか』という目的と結び付けて理解すると区別しやすくなります。記述された内容が、その目的を達成する手段として筋が通っているかを確かめることが、判断の中心になります。

確認ポイント

  • その活動が開発のどんな課題を減らすために行われるのかを、自分の言葉で説明できるか
  • 示されている内容が、その目的を達成する手段として無理なくつながっているか
  • 名称から連想されるイメージと、実際の目的とを混同していないか
正解と解説を見る

正解

エ

解説

XPにおけるテスト駆動開発は、プログラムを実装する前に、実現すべき動作を確認するテストケースを作成する開発手法です。したがって、作業の順序を示す選択肢が適切です。

理由

テスト駆動開発では、まずテストケースを作成し、そのテストを通過する最小限のプログラムを書き、必要に応じて改善する。この設問では、プログラムを書く前にテストケースを作成するという特徴が問われている。

比較

最初のテストで多数のバグを摘出すること、テストケースを改善し続けること、カバレージを高めることは、テスト活動に関係する場合はあるが、テスト駆動開発の中心的な定義である作成順序を直接示していない。

選択肢ア

これは不正解だよ。テスト駆動開発は、最初のテストでなるべく多くのバグを摘出することを目的とする手法ではない。要求する動作を確認するテストを用意し、その結果を基に実装を進める作業順序が特徴であり、一度のテストでのバグ摘出数を示す選択肢ではない。

選択肢イ

これは不正解だよ。テストケースの改善を繰り返すことだけでは、XPにおけるテスト駆動開発の特徴を表しきれない。テストケースの見直しが行われる場合はあっても、この設問で重要なのは、プログラムの実装より先にテストケースを作成する順序である。

選択肢ウ

これは不正解だよ。テストでのカバレージを高めることは品質確認の観点として重要になり得るが、テスト駆動開発そのものを定義する特徴ではない。設問は網羅率の高さではなく、テストケースを先に作成してからプログラムを書く進め方を問うている。

選択肢エ(正解)

これは正解だよ。テスト駆動開発では、実現すべき動作を確認するテストケースをプログラムの実装前に作成する。その後、作成したテストを満たすようにプログラムを実装するため、この選択肢はXPにおけるテスト駆動開発の特徴と一致する。

学習のポイント

テスト駆動開発では、テストとプログラムを作成する順序に注目する。

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

関連する過去問一覧

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