テストダブル(スタブ・モック・フェイク)とは?
テストダブル(スタブ・モック・フェイク)とは、テスト対象が依存する外部部品を、テスト用の代役に置き換える仕組みの総称。決まった値を返すだけのスタブ、呼ばれ方(回数・引数・順序)まで検証するモック、簡易実装で本物同様に動くフェイクなどがある。未完成の外部連携や再現しにくい異常系を先に検証できる。
システムアーキテクト試験の過去問では4回出題されています(2017年度〜2024年度)。
てすとだぶる
テストダブル(スタブ・モック・フェイク)の意味
テスト対象が依存する外部部品を、テスト用の代役に置き換える仕組みの総称。決まった値を返すだけのスタブ、呼ばれ方(回数・引数・順序)まで検証するモック、簡易実装で本物同様に動くフェイクなどがある。未完成の外部連携や再現しにくい異常系を先に検証できる。
テストダブル(スタブ・モック・フェイク)の具体例
決済代行の応答を代役にして、タイムアウト・二重課金・想定外コードといった実環境で起こしにくい異常を確実に再現する。データベースはインメモリのフェイクに差し替え、単体テストを数秒で回す。差し替えを可能にするには依存性注入など疎結合な設計が前提になる。
テストダブル(スタブ・モック・フェイク)は試験でどう引っ掛けられる?
代役を増やすほどテストは速く安定するが、本物との差異が積もり「テストは通るのに本番で壊れる」状態を招く。契約テストや、本物を使う結合テストを一定量残す設計判断が要る。スタブとモックの検証対象の違いも問われる。
テストダブル(スタブ・モック・フェイク)と関連する用語
テストダブル(スタブ・モック・フェイク)が出た過去問
ハードウェアの経験が豊富なプログラマAと、経験の少ないプログラマBがペアプログラミングの手法を利用して組込みシステムの開発を進める。ペアプログラミングによる開発…
正解:AとBがエディタの画面を共有し、Bが記述したコードに対してAが助言する。
要点:ペアプロは画面を共有し書き手に相方が助言する
ペアプログラミングは、2人が1台の環境を共有し、実際に書き手(ドライバ)となる者と、それを観察し助言する者(ナビゲータ)が協働する手法である。経験の浅いBが記述し、熟練のAが助言する形は、コードの品質向上と技術移転を同時に達成でき、この手法の狙いに合致する。
出典:平成29年度 秋期 システムアーキテクト試験 am2 問10(IPA)署名されたソフトウェアを導入する前に、そのソフトウェアの開発元又は発行元を確認するために使用する証明書はどれか。
正解:コードサイニング証明書
要点:ソフトの発行元と改ざん有無の確認はコードサイニング証明書
コードサイニング証明書は、ソフトウェアの配布者が実行ファイルやドライバに署名するための証明書で、導入前に開発元・発行元が誰かと、配布後に改ざんされていないかを利用者が検証できる。サーバ証明書やクライアント証明書は通信相手の認証が目的であり、ソフトウェア本体の出所証明には用いない。
出典:平成29年度 秋期 システムアーキテクト試験 am2 問23(IPA)タイピングを行う人をドライバと呼び、その様子を見ながら指摘や助言をする人をナビゲータと呼んで、2人が1台のPCを共有して共同でプログラムを作成する技法はどれか。
正解:ペアプログラミング
要点:ドライバとナビゲータが1台で組むのがペアプログラミング
ペアプログラミングは、実際に入力するドライバと、その内容を見て助言・指摘を行うナビゲータの2人が1台のPCで組んで開発する、XP(エクストリームプログラミング)由来の技法である。書きながら常時レビューされる状態になるため、欠陥の早期発見と知識の共有が同時に進む。
出典:令和5年度 春期 システムアーキテクト試験 am2 問10(IPA)デジタル署名のあるソフトウェアをインストールするときに、そのソフトウェアの発行元を確認するために使用する証明書はどれか。
正解:コードサイニング証明書
要点:ソフトウェアの発行元を示す署名用証明書がコードサイニング証明書
コードサイニング証明書は、実行形式のソフトウェアやドライバに対する署名に用いる証明書で、配布物の発行元が確かにその組織であることと、配布後に改変されていないことを利用者が確認できるようにする。インストール時に警告なく発行元名が示されるのは、この証明書による署名が検証された結果である。
出典:令和6年度 春期 システムアーキテクト試験 am2 問17(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。