SC情報処理安全確保支援士試験 午前Ⅱ
平成30年度春期 情報処理安全確保支援士 午前Ⅱ 問23
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア最初のテストで、 なるべく多くのバグを摘出する。
- イテストケースの改善を繰り返す。
- ウテストでのカバレージを高めることを重視する。
- エプログラムを書く前にテストケースを作成する。
解き方のヒントを見る
午前II 問23:TDDは「先にテスト、あとで実装」の流れを押さえよう
TDD(テスト駆動開発)では、まず「まだ通らないテスト」を先に書くんだよ。料理でいうと、先に味見の基準を決めてから、その味になるように少しずつ作るイメージだね。その後、テストに通る最小限のプログラムを書いて、必要に応じて整理していく。このサイクルを回すのがポイントで、最初からテスト網羅率を最大にしよう、という話ではないよ。
この問題で問われていること
XPにおけるTDDの基本手順、つまり「失敗するテストを書く → 最小限の実装をする → 改善する」という順番を理解しているかが問われているよ。
Test-Driven Development
in test-driven development、 test cases are written before the production code
write test first\nthen implement code\niterate repeatedly
確認ポイント
- テスト先行を押さえる。
- XP/TDD の基本サイクルで考える。
- 単なるテスト改善活動ではありません。
正解と解説を見る
正解
エ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは不正解だよ。最初のテストでバグを大量に見つけることが目的ではないんだ。泥棒を一気に捕まえる大捜査というより、「この窓口ではこの書類が通ればOK」と先に合格条件を決めて、その条件を満たすように少しずつ作るのがテスト駆動開発だよ。
選択肢イ
これは不正解だよ。テストケースを直しながら良くしていくこと自体は悪くないけど、テスト駆動開発の決め手ではないんだ。料理で言うと、味見を何度も改善する話であって、「先に完成イメージのチェックリストを作ってから料理する」というTDDの特徴とは少しズレているよ。
選択肢ウ
これは不正解だよ。カバレージを高めるのは、部屋のすみずみまで掃除機をかけた割合を上げるようなもので、テストでは大事な考え方。でもテスト駆動開発の一番の特徴はそこじゃなくて、「作る前に、できたか確認するテストを先に用意する」ことなんだ。
選択肢エ(正解)
これは正解だよ。テスト駆動開発は、プログラムを書く前に「こう動いたら合格」というテストを先に作るやり方なんだ。たとえば合鍵を作る前に、先に鍵穴の形を確認しておいて、その鍵穴に合うように鍵を削るイメージだよ。
出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 情報処理安全確保支援士試験 午前Ⅱ 問23(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
- 平成30年度(2018年)の過去問
- 午前Ⅱの過去問
- 平成30年度春期の過去問
- 「企画・設計・開発・運用でのセキュリティ確保」の過去問
- 「情報セキュリティインシデント管理」の過去問
- 情報処理安全確保支援士試験のトップ
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針