🎥

テスト環境と本番環境の違いを映画製作に例えて解説!

2024/06/03に公開

こんにちは、おりです。
前回に続き映画関係に例えて解説するシリーズです。
ネットワーク構成を映画館に例えて解説しましたのでよろしければ見てみてください。
https://zenn.dev/yukorido/articles/c7b1aa1fefe7d9
さて、今回はテスト環境と本番環境の違いについて解説します。

はじめに

まずはテスト環境と本番環境の言葉の意味から解説します。
先に読んでいただいた後に映画製作に例えて解説していきます。

テスト環境とは?

テスト環境とは、開発者やテスター(テストする人)が新しいコードや変更点を安全に試す(テスト)ことができる環境です。環境とは、作業場所のようなものであり、設定やソフトウェア、ハードウェアなどをまとめて指す言葉です。
テスト環境は安全にテストすることが出来ます。ここで発見された問題やバグは修正され、本番環境に影響を与えることなく修正されます。

本番環境とは?

本番環境は、実際のユーザー(お客様)が利用する環境で、サービスやアプリケーションが稼働します。
こちらでミスやエラーが発生してしまうと直接ユーザーに迷惑が掛かります。このような現象を防ぐため、テスト環境で様々なテストを行い、問題やバグをあらかじめ修正しておく必要があります。

映画作成の話の前提

それでは映画製作に例えてここから解説していきます。
脚本、俳優はあらかじめ決められてるものとします。

撮影、リハーサル(テスト環境)

まず、撮影前に脚本の読み合わせを行います。そこで、キャラクターの台詞やシーンの流れを確認し、監督や脚本家からフィードバックを受けて修正を加えます。
次にリハーサルを行います。撮影する前にカメラアングルや照明、音響などのテストを行い、問題があればその場で修正します。ここでセットや衣装、小道具などが正しく機能するかを確認し、必要な調整を行います。
リハーサル後に撮影に入ります。撮影後の編集や公開までの流れなど様々あるかと思いますが、今回はテスト環境の説明を撮影前の準備の部分とします。
まとめると映画公開前にたくさんのテスト調整を行い、修正する場ということです。リハーサル時であればほとんどの内容が変更できるかと思います。

映画一般公開(本番環境)

そして上記で撮影した映画を劇場で公開します。
映画の公開後は、すでにユーザー(お客様)の手に渡っているため、問題が発生しても後戻りできません。公開前に入念なリハーサルやテストを行うことで、最高の作品を提供することができます。
少し大げさに説明してしまいましたが、本番環境では、ユーザー(お客様)が直接サービスを利用するため、問題が発生すると大きな影響を及ぼす可能性があります。
あまりない例ですが、公開した映画の中に映ってはいけないものが映りこんでしまい修正が必要な場合、一度上映を停止して映像を修正しなければなりません。映画館を予約していたお客様は見れなくなってしまいますので信頼度はさがってしまいますよね。このような事例を防ぐためにリハーサルで入念にテストや調整を行うという訳です。

まとめ

テスト環境と本番環境の違いについては以上です。

なぜ2つの環境が用意されているかというと、本番環境でバグやエラーが発生すると大きな影響が出てしまうためです。その影響を最小限に抑えるために、テスト環境で問題を早期に発見し、修正することが重要です。

少し映画公開後に修正するといった例が苦しい表現になっていますがそれくらい大きな影響であるということが伝わればいいかなと思います。
もし内容として間違っている箇所や、良い例えがあればコメントで教えてください!それでは。

おまけ

この2つの他にも開発環境、検証環境、ステージング環境など様々存在しますが、今回はテスト環境、本番環境のみになります。気になる方は合わせて調べてみてください。

Discussion