平成28年度 春期 午前 問50
開発技術
テスト駆動開発に関する問題
エクストリームプログラミング(XP:eXtreme Programming)における“テスト駆動開発”の説明はどれか。
- ア最初のテストでバグを抽出すること
- イテストケースを順次改善すること
- ウテストでのカバレージを優先すること
- エプログラムを書く前にテストケースを作成すること
答えと解説を見る
✓ これが正解エプログラムを書く前にテストケースを作成すること
解説
先にテストケースを作り、それからプログラムを書きます。
テスト駆動開発は、名前を訳すだけで中身が出てきます。テストが駆動する開発、つまりテストが先に立って開発を引っぱっていく進め方です。ですから、プログラムを書く前にテストケースを作成すること、という説明がそのまま当てはまります。手順は三つの段の繰り返しです。まだ通らないテストを先に書き、当然そこで失敗させます。次に、そのテストが通る最小限のコードを書きます。最後に、動いたまま中身を整えます。この整える段はリファクタリングと呼ばれ、テストが残っているからこそ安心して行えます。先に書く効き目は、作り始める前に仕様がはっきりすることです。何をもって完成とするかを、コードよりも先に、実行できる形で決めることになるからです。この設問の分かれ目は、テストをどう扱うかではありません。四つともテストの扱い方を述べているからです。見るべきなのは、いつ書くのかという時点を言っているかどうかです。エクストリームプログラミングは、短い繰り返しを積み重ねていく開発の進め方で、テスト駆動開発はその中核をなす技法の一つです。
ほかの選択肢はなぜ違うのか
- ア最初のテストでバグを抽出すること:最初のテストで欠陥を抽出するという説明で、作ってから確かめる従来の進め方にあたります。テストを後ろに置いている点で、時点の前後がちょうど入れ替わっています。
- イテストケースを順次改善すること:テストケースを順次改善するという説明です。テストそのものを育てていく話を述べているだけで、いつ書き始めるのかという点については何も言っていません。
- ウテストでのカバレージを優先すること:テストでのカバレージを優先するという説明です。テストを重んじる姿勢は似ていますが、問われているのはどれだけ網羅するかという量ではなく、作業の前後関係です。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
- 改善悪いところを直して、より良い状態にすること。一度で終わらせず、計画・実行・評価・見直しを繰り返して続けるのが基本です。
出典:平成28年度 春期 応用情報技術者試験 午前 問50
同じ用語が出る問題
- 令和7年度 春期 午前 問54:テスト密度に関する問題(テストケース)
- 令和4年度 秋期 午前 問49:テスト駆動開発に関する問題(テストケース)
- 令和4年度 秋期 午前 問48:命令網羅に関する問題(テストケース)
- 令和4年度 春期 午前 問47:判定条件網羅に関する問題(テストケース)
- 令和3年度 春期 午前 問48:最小のテストケース数(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)