

# SUS06-BP04 使用托管式设备场进行测试
<a name="sus_sus_dev_a5"></a>

使用托管式设备场在一组具有代表性的硬件上高效地测试新功能。

 **常见反模式：** 
+  在各个物理设备上手动测试和部署应用程序。 
+  未在真实的物理设备上使用应用测试服务进行测试以及与应用（例如，Android、iOS 和 Web 应用）互动。 

 **建立此最佳实践的好处：**使用托管式设备场来测试具有云功能的应用程序，这提供了许多好处： 
+  包括可在各种设备上测试应用程序的更高效功能。 
+  无需使用内部基础设施进行测试。 
+  提供多种设备类型（包括不太常用的较旧硬件），从而不需要进行不必要的设备升级。 

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

## 实施指导
<a name="implementation-guidance"></a>

使用托管式设备场有助于简化在一组有代表性的硬件上测试新功能的过程。托管式设备场提供多种设备类型，包括不太常用的较旧硬件，并避免不必要的设备升级对客户可持续性的影响。

 **实施步骤** 
+  定义您的测试要求和计划（例如，测试类型、操作系统和测试时间表）。 
  +  您可以使用 [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 收集和分析客户端数据并制定测试计划。 
+  选择可支持您的测试要求的托管式设备场。例如，您可以使用 [AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 来测试和了解您的更改对一组具有代表性的硬件的影响。 
+  使用持续集成/持续部署（CI/CD）来安排和运行测试。 
  + [将 AWS Device Farm 与 CI/CD 管道集成，以便运行跨浏览器的 Selenium 测试](https://aws.amazon.com/blogs/devops/integrating-aws-device-farm-with-ci-cd-pipeline-to-run-cross-browser-selenium-tests/)
  + [使用 AWS DevOps 和移动服务构建和测试 iOS 和 iPadOS 应用](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/)
+  持续审核测试结果，必要时进行改进。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+ [AWS Device Farm 设备列表](https://awsdevicefarm.info/)
+ [查看 CloudWatch RUM 控制面板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-view-data.html)

 **相关示例：** 
+ [适用于 Android 的 AWS Device Farm 示例应用](https://github.com/aws-samples/aws-device-farm-sample-app-for-android)
+ [适用于 iOS 的 AWS Device Farm 示例应用](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios)
+ [适用于 AWS Device Farm 的 Appium Web 测试](https://github.com/aws-samples/aws-device-farm-sample-web-app-using-appium-python)

 **相关视频：** 
+ [使用 Amazon CloudWatch RUM 通过最终用户洞察优化应用程序](https://www.youtube.com/watch?v=NMaeujY9A9Y)