モックとは?IT初心者向けにわかりやすく解説|API開発やシステム開発で使われる意味と活用方法
モック(Mock)とは、実際のシステムやAPIの代わりとして動作する「模擬(もぎ)の仕組み」です。
システム開発では、本番環境や実際のAPIがまだ完成していなくても開発やテストを進められるように、モックを利用することがあります。IT業務では、API開発や画面開発、テストなどでよく使われる重要な用語です。
モックとは
モックは、実際のシステムと同じような応答を返す「代役」です。
例えば、社員情報を取得するAPIがまだ完成していない場合でも、モックAPIを利用すれば、あらかじめ用意した社員情報を返して動作確認ができます。
| 実際のシステム | モック |
|---|---|
| 本物のAPIやシステム | 本物のように動作する代替環境 |
| 実際のデータを返す | テスト用データを返す |
映画の撮影で本物の建物ではなくセットを使うように、開発では本物のシステムの代わりとしてモックを利用します。
なぜモックが必要なのか
開発では、すべてのシステムが同時に完成するとは限りません。
モックを利用することで、実際のシステムが完成していなくても開発やテストを進められます。
- 開発を並行して進められる
- 本番環境へ接続しなくてもよい
- テストしやすい
- 障害の切り分けがしやすい
- 開発スケジュールを短縮できる
どんな場面で使われるのか
| 利用場面 | モックの役割 |
|---|---|
| API開発 | APIの代わりにレスポンスを返す |
| 画面開発 | ダミーデータを表示する |
| 単体テスト | 外部システムの代わりに動作する |
| 結合テスト | 未完成システムを代替する |
| デモ | サンプルデータを表示する |
API開発でのモック
API開発では、バックエンドが完成する前にフロントエンド開発を進めるため、モックAPIがよく利用されます。
モックAPIは、本番APIと同じ形式のレスポンスを返すため、画面開発や通信テストを先に実施できます。
API仕様書をもとにモックを作成することで、開発を効率よく進められます。
モック・スタブ・ダミーの違い
| 種類 | 役割 | 特徴 |
|---|---|---|
| モック(Mock) | 本物のように動作する | 呼び出しや動作を確認できる |
| スタブ(Stub) | 決められた値を返す | 簡単な応答のみ |
| ダミー(Dummy) | テスト用の値 | 処理にはほとんど利用しない |
初心者は混同しやすいですが、一般的にはモックは「動作まで再現するもの」と考えると理解しやすくなります。
業務でよくあるトラブル
モックと本番APIの仕様が違う
原因
- API仕様書が更新された
- モックの修正漏れ
影響
- 本番環境で画面が動かない
- APIエラーが発生する
モックだけ正常に動く
モックでは成功しても、本番環境では認証や権限、データベース処理があるため、同じ結果になるとは限りません。
テストデータが古い
古いモックデータを利用すると、本番データとの違いが原因で障害が発生することがあります。
障害発生時の切り分け
| 確認項目 | 確認内容 |
|---|---|
| 接続先 | モックか本番か |
| API仕様 | 最新版と一致しているか |
| レスポンス | 項目やデータ形式が同じか |
| 認証 | 本番環境だけで必要ではないか |
| ログ | エラー内容を確認する |
確認する順番
- 接続先がモックか本番環境か確認する
- API仕様書を確認する
- リクエストとレスポンスを比較する
- HTTPステータスコードを確認する
- ログやエラーメッセージを確認する
GUIで確認する方法
ブラウザーの開発者ツール(F12キー)の「Network(ネットワーク)」タブでは、接続先がモックAPIか本番APIかを確認できます。
- 対象システムを開く
- F12キーを押す
- 「Network」を開く
- 通信先URLを確認する
- レスポンス内容を確認する
コマンドプロンプトで確認できること
- curl(モックAPIの動作確認)
- ping(ネットワーク疎通確認)
- tracert(通信経路確認)
- nslookup(DNS確認)
curlを利用すると、モックAPIが期待どおりのレスポンスを返しているか確認できます。
PowerShellで確認できること
- HTTP通信テスト
- APIレスポンス取得
- JSONデータ確認
- 接続先確認
イベントビューアーで確認する場面
モックを利用する開発環境ではイベントビューアーを確認する機会は多くありませんが、モックサーバーをWindows上で動作させている場合や、アプリケーションで通信エラーが発生した場合は、イベントビューアーやアプリケーションログに情報が記録されることがあります。
- Windowsキーを押す
- 「イベントビューアー」を起動する
- 「Windowsログ」→「アプリケーション」を開く
- エラーや警告を確認する
初心者が混乱しやすいポイント
- モックは本番システムではない
- モックで成功しても本番で成功するとは限らない
- 認証や権限の動作は省略される場合がある
- API仕様が変わるとモックも更新が必要
筆者の現場経験
API開発でフロントエンドとバックエンドを並行開発した際、バックエンドが未完成だったため、モックAPIを利用して画面開発を進めました。
画面は予定どおり完成しましたが、本番APIへ切り替えたところ、レスポンス項目が一部変更されており表示エラーが発生しました。
原因はモックAPIが最新仕様へ更新されていなかったことでした。この経験から、モックは便利ですが、本番APIとの仕様差分を定期的に確認することが重要だと学びました。
上司へ報告するポイント
- 発生日時
- モック環境か本番環境か
- 対象API
- HTTPステータスコード
- 実施した確認内容
- API仕様との差異
- 影響範囲
エスカレーションするタイミング
- モックと本番APIの仕様が異なる
- API仕様書に誤りがある
- 本番環境のみエラーが発生する
- 複数画面へ影響している
- プログラム修正が必要と判断した場合
新人が覚えておきたいポイント
- モックは本物の代わりに動作する仕組み
- APIや画面開発でよく利用される
- 本番環境との仕様差異に注意する
- モックで成功しても本番環境で必ず成功するとは限らない
- API仕様書とレスポンスを比較して確認することが重要
関連するIT用語
- API(Application Programming Interface)
- スタブ(Stub)
- ダミーデータ(Dummy Data)
- リクエスト(Request)
- レスポンス(Response)
- JSON(JavaScript Object Notation)
- HTTPステータスコード
- テスト環境
よくある質問(FAQ)
モックとスタブは同じですか?
似ていますが異なります。スタブは決められた値を返すだけの簡単な代替機能ですが、モックは本物に近い動作を再現し、呼び出し回数や処理内容を確認できる場合もあります。
モックだけでテストすれば十分ですか?
十分ではありません。モックは開発効率を高めるための仕組みです。実際のAPIやデータベースとの連携確認は、本番に近いテスト環境でも実施する必要があります。
モックは本番環境でも利用されますか?
通常は開発環境やテスト環境で利用されます。本番環境では実際のAPIやシステムを使用しますが、一部の障害試験やデモ環境ではモックが利用されることもあります。
まとめ
モックとは、本物のシステムやAPIの代わりとして動作する模擬環境です。開発やテストを効率よく進めるために利用され、API開発や画面開発では欠かせない存在となっています。
ただし、モックは本番環境を完全に再現しているわけではありません。IT業務では、モックと本番環境の違いを理解し、API仕様書や実際のレスポンスを比較しながら開発・テストを進めることが重要です。

コメント