開発技術
テスト環境管理のベストプラクティスとして、最も適切なものはどれか。
ア.テスト環境は本番環境と共用することで、最も正確なテスト結果が得られるため、コスト削減のために本番でテストを実施することが推奨される。
イ.開発・ステージング・本番の各環境を分離し、本番と同等のデータ・設定をステージングで再現することで、リリース前の動作確認の精度を高める。環境差異はInfrastructure as Codeで管理する。正解
ウ.ステージング環境には本番の実際の顧客データをそのままコピーして使用することが、最も精度の高いテストになるため、個人情報の保護よりテスト精度を優先すべきである。
エ.開発環境・ステージング環境・本番環境はすべて同一の設定ファイルとデータを共有する必要があり、環境ごとに設定を変えることは非推奨である。
解説
環境管理は「リハーサル舞台と本番舞台の分離」。本番でいきなりリハーサルをやれば客に迷惑がかかる。ステージング環境は「できるだけ本番に近い裏の舞台」で完璧にリハーサルする場所。設定の差異はコードで管理してドリフト(設定のズレ)を防ぐ。
なぜ イ が正解か
イが正解。環境は dev→staging→production と段階的に分離するのが標準。ステージングは本番データの匿名化コピー・同等のインフラ構成で「本番に一番近い状態」を作る。IaC(Terraform・Pulumi等)で環境定義をコード化することで「本番だけ違う設定」という事故(設定ドリフト)を防ぐ。
出典: AI生成問題(学習用)