

# 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/) 模板。 

 **常见反模式：** 
+  在将新代码部署到生产环境后，由于应用程序无法再运行，客户开始打电话投诉。 
+  为了增强周边安全，您应用了新安全组。它运行以后产生了意想不到的后果，用户无法访问您的应用程序。 
+  您修改了新函数调用的方法。另一个依赖于该方法的函数也无法运行。没有检测到问题，开始投产。由于一段时间内没有调用另一个函数，最终导致生产失败，但是没有找到原因。 

 **建立此最佳实践的好处：** 在早期进行测试和验证更改，可以将解决问题的成本降至最低，并降低对客户的影响。经过测试之后再部署，可以最大限度地减少错误。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 高 

## 实施指导
<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) 