令和4年度 秋期 午前 問49
開発技術
テスト駆動開発に関する問題
エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
- ア最初のテストで,なるべく多くのバグを摘出する。
- イテストケースの改善を繰り返す。
- ウテストでのカバレージを高めることを目的とする。
- エプログラムを書く前にテストコードを記述する。
答えと解説を見る
✓ これが正解エプログラムを書く前にテストコードを記述する。
解説
コードより先にテストを書きます。
設問は、エクストリームプログラミングにおけるテスト駆動開発の特徴を選ばせています。名前に含まれる駆動という語は、テストが実装を引っ張るという順序を表しています。まだ存在しない機能に向けて先にテストを書くと、当然そのテストは失敗します。次に、それを通すだけの最小限のコードを書き、最後に振る舞いを変えないまま重複を消して形を整えます。この三つをごく短い周期で何度も回すのがこの進め方です。先に書くことには二つの意味があります。その機能をどう呼び出すかを、使う側の視点から先に決められること。そして、何ができたら完成かを文章ではなくコードとして固定できることです。軸は、テストと実装のどちらが先かという一点に絞れます。正解は、プログラムを書く前にテストコードを記述するという記述です。
ほかの選択肢はなぜ違うのか
- ア最初のテストで,なるべく多くのバグを摘出…:最初のテストでできるだけ多くの欠陥を洗い出そうとする構えで、作り終えた物を後から調べる従来の工程の考え方です。中身がまだ無い段階で書かれるテストには、洗い出すべき欠陥がそもそもありません。
- イテストケースの改善を繰り返す。:テストケースそのものを磨き上げていくという記述です。この進め方で繰り返し手を入れていく対象は、通るようになった実装の中身のほうであり、項目を練り直す作業が主眼ではありません。
- ウテストでのカバレージを高めることを目的と…:網羅の度合いを引き上げること自体を狙いに据えた記述です。実装のすべてがテストに導かれて生まれる以上、網羅の度合いは付いてくる結果であって、掲げられている目標ではありません。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
- 改善悪いところを直して、より良い状態にすること。一度で終わらせず、計画・実行・評価・見直しを繰り返して続けるのが基本です。
出典:令和4年度 秋期 応用情報技術者試験 午前 問49
同じ用語が出る問題
- 令和7年度 春期 午前 問54:テスト密度に関する問題(テストケース)
- 令和4年度 秋期 午前 問48:命令網羅に関する問題(テストケース)
- 令和4年度 春期 午前 問47:判定条件網羅に関する問題(テストケース)
- 令和3年度 春期 午前 問48:最小のテストケース数(テストケース)
- 平成30年度 秋期 午前 問49:テストケース設計技法(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)