FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

テストダブルを学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

科目Aシステム開発標準
QUESTION 78

注文アプリは外部配送APIを呼ぶ。APIがタイムアウトしたときに「注文を二重登録せず、再試行できる案内を出す」ことを、開発中の自動テストで毎回同じ条件で確認したい。外部事業者の本番環境に負荷をかけず、最も再現しやすい方法はどれか。

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:ウ 配送APIの代わりに、決めた条件でタイムアウトを返すテスト用の代替実装を注入する

この表示だけでは、回答数や正答率は変わりません。

解説

外部APIとの境界を差し替えられるようにし、タイムアウトを決まった条件で再現する代替実装を使います。これにより外部環境の状態に左右されず、登録件数や画面の案内が期待どおりかを自動で確認できます。失敗を起こす条件と確認する結果の両方を固定します。

ア

発生時刻を制御できず、テストが不安定になります。毎回同じ条件という目的に合いません。

イ

無関係な外部への負荷は適切でなく、タイムアウトの種類や発生位置も制御できません。

ウ

外部応答を制御できるので、同じ異常条件を安全に繰り返してアプリ側の動作を検証できます。

エ

確認したいのは失敗時の動作です。成功だけでは二重登録防止や案内の確認ができません。

関連知識

テストダブルは外部依存などを置き換える実装の総称です。戻り値や失敗を用意するスタブ、呼出し内容を記録して検証する仕組みなど、目的に応じて使います。代替実装だけでは実APIとの接続仕様まで保証できません。

間違えやすいポイント

代替実装が期待どおりなら本番連携も必ず正しい、と考えないこと。アプリの異常処理のテストに加え、提供元の検証環境などで接続仕様を確かめます。

覚え方

外部の偶然を、制御できるテスト条件へ置き換える。

実務での意味

決済、メール、配送などの連携を設計する際、外部呼出しの境界を分け、成功・拒否・タイムアウトをそれぞれ再現できるようにします。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、システム開発の基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。