Insight Test automation

Building out your own device farm

why invest in a local device farm when cloud solutions are widely available? The short answer: it is worth it.

functional analysis

Refleqt

April 21, 2026 • 3 min leestijd

Share this insight

Why a device farm?

The question we heard most often: why invest in a local device farm when cloud solutions are widely available? The short answer: it is worth it. Smaller companies often work with limited budgets, and a local device farm allows them to make a one-time investment while maintaining both the volume and, more importantly, the quality of their tests.

The longer answer is more specific: with proper research and analysis, you can run a solid device pool on a modest budget and save many hours of manual testing. Building an in-house farm does not exclude using cloud platforms such as Sauce Labs, BrowserStack, or AWS Device Farm. See it as an extra building block: both technologies complement each other.

The local device farm provides faster feedback and makes the application visible and tangible. The cloud platform, on the other hand, makes it easier to cover more exotic configurations and extends the overall reach of your tests.

Targeted setup

Your project largely determines how you set up your device farm. If you want to keep costs under control, it is essential to focus on the most popular devices used by your target audience. In addition, the intended usage defines your operating model: will you support a single specific application on each device, or multiple?

Building a device farm comes with some interesting challenges. First, the size of your farm affects complexity, although you can start small with just two devices and a host machine. Second, the configuration learning curve is quite steep initially. Once you are familiar with it, however, you know your chosen setup inside out. Finally, fine-tuning the configuration and adding stability are the last technical hurdles to creating a maintainable and reliable device farm.

Devide and conquer

After successfully setting up the technical foundation, we explored how to extend the solution. We implemented a dedicated queuing system on the farm, enabling multiple projects to use the same infrastructure efficiently.

Another key improvement was the ability to segment devices in two ways. First, we created device groups and assigned specific devices to each group - for example, a group containing “devices from before 2020.” Second, we could group devices by operating system version, such as a set dedicated to iOS 14.

Playing with technologies

All of the above also required custom code to run smoothly. To orchestrate the interaction between all technologies, Refleqt developed a Jenkins plug-in that controls the device farm service and passes commands to Appium, which then executes the tests on the applications.

Our node agent was a Mac Mini. We configured this agent so that adding additional node agents or mobile devices to the device farm became straightforward.

This setup keeps the farm highly flexible, allows us to adapt it to each customer’s needs, and enables us to detect and resolve bugs efficiently.

In doing so, Refleqt showcased its testing expertise and brought a local, personalized device farm to life.

Share this insight

milan

Milan Meuleman

Business development & sales

Contact Refleqt today

Would you like more control over software quality, test automation, or performance? We are happy to explore together how we can support your team with an approach that works in practice.