

# OPS05-BP02 変更をテストし、検証する
<a name="ops_dev_integ_test_val_chg"></a>

 エラーの制限と検出に役立てるため、変更をテスト、検証します。手動プロセスによって発生するエラーと、テストにかかる労力を減らすためにテストを自動化します。 

 AWS の多くのサービスには、バージョン管理機能が備わっています。AWS CodeCommit などのリビジョンまたはソース管理システムを [使用して、](https://aws.amazon.com/codecommit/) コードや他のアーティファクト (インフラストラクチャのバージョン管理された [AWS CloudFormation](https://aws.amazon.com/cloudformation/) テンプレートなど) を管理します。 

 **一般的なアンチパターン:** 
+  あなたが新しいコードを本稼働環境にデプロイしたところ、アプリケーションが機能しなくなったため、顧客からの電話が鳴りはじめました。 
+  あなたは、ペリメータセキュリティを強化するために新しいセキュリティグループを適用します。機能しましたが、意図しない結果が発生し、ユーザーがアプリケーションにアクセスできなくなっています。 
+  あなたは、新しい機能によって呼び出されるメソッドを変更します。もう 1 つの機能もそのメソッドに依存しており、機能しなくなりました。問題は検出されず、本稼働環境に入ります。もう 1 つの当該機能はしばらくの間呼び出されず、結局、原因との相関なしに本稼働環境で失敗します。 

 **このベストプラクティスを活用するメリット:** 変更を早期にテストして検証することで、コストを最小限に抑えて問題に対処し、顧客への影響を抑えることができます。デプロイ前にテストすることで、エラーの発生を最小限に抑えることができます。 

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>
+  変更をテストし、検証する: すべてのライフサイクルステージ (開発、テスト、本番環境など) で変更をテストし、その結果を検証してください。テスト結果を使用して、新機能を確認し、失敗したデプロイのリスクと影響を緩和します。テストと検証を自動化し、レビューの一貫性を確保し、手動プロセスによって発生するエラーとそれにかかる労力を減らすことができます。 
  +  [AWS CodeBuild とは](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [AWS CodeBuild のローカル構築サポート](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 

## リソース
<a name="resources"></a>

 **関連するドキュメント:** 
+  [AWS デベロッパーツール](https://aws.amazon.com/products/developer-tools/) 
+  [AWS CodeBuild のローカル構築サポート](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 
+  [AWS CodeBuild とは](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 