Search for Well Architected Advice
< All Topics
Print

Use managed device farms for testing

Integrating managed device farms into your testing processes can significantly reduce the environmental impact of your software development lifecycle. By relying on shared resources for device testing, organizations can minimize the need for redundant hardware and associated energy consumption, while ensuring efficient testing across a representative set of devices.

Best Practices

Optimize Testing Processes with Managed Device Farms

  • Leverage managed device farms to conduct testing across a diverse range of devices and configurations without the need for extensive physical hardware.
  • Choose device farms that offer a variety of device types, OS versions, and screen sizes to ensure comprehensive testing while minimizing resource consumption.
  • Integrate automated testing frameworks with your device farm to reduce manual testing efforts, improving efficiency and reducing the carbon footprint associated with testing processes.
  • Schedule testing to run during off-peak hours to take advantage of lower energy consumption rates where possible, aligning your tests with green energy availability.
  • Continuously monitor and analyze usage patterns of the device farms to identify underutilized resources and optimize them for better sustainability results.

Questions to ask your team

  • What criteria do you use to select managed device farms for testing?
  • How do you monitor the environmental impact of your testing practices?
  • Can you describe the process for integrating managed device farms into your development workflow?
  • What metrics do you track to evaluate the sustainability benefits of using managed device farms?
  • Have you conducted any assessments on the efficiency of your testing using managed device farms compared to other methods?
  • How do you ensure that the managed device farms you use are aligned with your sustainability goals?

Who should be doing this?

Development Team Lead

  • Identify testing needs and coordinate the use of managed device farms.
  • Oversee the development and integration of features in alignment with sustainability goals.
  • Ensure that testing practices prioritize efficiency and minimize resource usage.

Quality Assurance Engineer

  • Utilize managed device farms for effective testing of new features.
  • Evaluate the environmental impact of testing activities and advocate for best practices.
  • Report on testing outcomes and suggest improvements for sustainable testing processes.

DevOps Engineer

  • Implement automated testing pipelines that leverage managed device farms.
  • Monitor resource usage and optimize test environments to reduce sustainability impact.
  • Collaborate with development and QA teams to streamline deployment processes while reflecting sustainability objectives.

Sustainability Officer

  • Define and promote sustainability best practices across development and testing workflows.
  • Evaluate the environmental impact of organizational processes and recommend changes.
  • Educate teams on the importance of using managed device farms for resource-efficient testing.

What evidence shows this is happening in your organization?

  • Sustainability Testing Guide: A comprehensive guide outlining best practices for utilizing managed device farms for testing, emphasizing the reduction of environmental impact through efficient resource use.
  • Device Farm Usage Policy: A policy document establishing guidelines for employing managed device farms in the development process to ensure adherence to sustainability goals while maintaining high-quality testing standards.
  • Sustainability Impact Assessment Matrix: A matrix tool to evaluate the environmental impact of various testing methodologies, providing a clear comparison of traditional testing versus managed device farm usage.
  • Deployment Strategy Playbook: A playbook detailing strategies for integrating managed device farms into deployment workflows, highlighting sustainability benefits and cost-effectiveness.
  • Sustainability Dashboard: An interactive dashboard that tracks the environmental metrics related to testing processes, showcasing the impact of using managed device farms over traditional solutions.

Cloud Services

AWS

  • AWS Device Farm: AWS Device Farm provides a managed service to test applications on real mobile devices, reducing the need for physical device ownership and thereby lowering carbon emissions associated with manufacturing and maintaining hardware.

Azure

  • Azure DevTest Labs: Azure DevTest Labs allows users to quickly create environments for testing and development, making it easier to utilize virtual machines without the need for physical hardware, promoting a more sustainable development process.

Google Cloud Platform

  • Firebase Test Lab: Firebase Test Lab is a cloud-based app-testing infrastructure that allows developers to test their apps across a wide range of devices, reducing the environmental impact associated with maintaining multiple physical devices.

Question: How do your organizational processes support your sustainability goals?
Pillar: Sustainability (Code: SUS)

Table of Contents