Device Farm — је облачни сервис који пружа даљински приступ стотинама стварних мобилних уређаја за аутоматско и ручно тестирање апликација. Програмери отпремају APK или IPA, бирају конфигурације уређаја и покрећу тестове паралелно, без куповине физичких уређаја. Према извештају Perfecto, 2025, тимови који користе Device Farm смањују време регресионог тестирања за 73% у поређењу са локалним фармама уређаја.
Главно
Device Farm — је инфраструктурно решење за тестирање мобилних апликација које пружа даљински приступ физичким и виртуелним уређајима преко интернета. За разлику од куповине и одржавања сопствене лабораторије уређаја, програмери изнајмљују време на туђим уређајима, плаћајући само стварну употребу.
Тржиште мобилних уређаја обухвата више од 24 000 јединствених модела Android паметних телефона према OpenSignal, 2025. Физичка набавка свих популарних модела за тестирање је немогућа — то би захтевало милионе долара инвестиција и стално ажурирање парка. Device Farm решава овај проблем пружањем приступа актуелним уређајима путем претплате.
Емулатори и симулатори покривају само 60–70% сценарија тестирања. Стварни уређаји су неопходни за проверу сензора, камере, GPS-а, нивоа батерије, перформанси на слабом хардверу и понашања при долазним позивима. Device Farm комбинује оба приступа: емулаторе за брзе smoke тестове и физичке уређаје за потпуну верификацију.
Device Farm је погодна за стартапове који објављују прву апликацију, зреле продуктове тимове са редовним издањима и enterprise пројекте са десетинама апликација. Исплатљивост коришћења расте са повећањем броја циљних уређаја и учесталости издања — што више конфигурација треба проверити, то је облачни модел исплативији.
Типичан сценариј рада са Device Farm укључује пет фаза: отпремање билда, избор уређаја, подешавање тестова, покретање, анализа резултата. Свака фаза се аутоматизује путем API-ја, што омогућава уградњу Device Farm у CI/CD цевовод без ручне интервенције.
Програмер отпрема изграђени APK (Android), AAB или IPA (iOS) у облачно складиште провајдера. Неке услуге, попут Firebase Test Lab, примају и Xcode или Android Studio пројекат директно. Величина датотеке је ограничена: AWS Device Farm подржава до 200 MB, BrowserStack — до 500 MB.
Из каталога уређаја бирају се циљни модели и верзије ОС-а. Модерне Device Farm подржавају груписање: —сви водећи модели 2024–2025” или —буџетни Android уређаји са Android 13–14”. Паралелно извођење омогућава покретање једног теста истовремено на 10–50 уређаја, смањујући укупно време на минуте.
Тестови се извршавају на стварним уређајима у центрима података провајдера. Програмер посматра напредак путем веб конзоле у реалном времену: евиденције, снимке екрана, видео запис теста. При паду теста, Device Farm прави снимак екрана и прикупља crash евиденцију за дијагностику.
// Пример конфигурации Device Farm в Jenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
sh './gradlew assembleDebug'
}
}
stage('Device Farm Tests') {
steps {
sh '''aws device-farm schedule-run
--project-arn arn:aws:devicefarm:us-west-2:123:project:1
--app-arn arn:aws:devicefarm:us-west-2:123:app:1
--device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
--test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
}
}
}
}
Модерне Device Farm пружају не само покретање тестова, већ и помоћне алате за дијагностику, праћење перформанси и интеграцију са другим развојним услугама. Скуп функција варира између провајдера, али језгро остаје исто.
Подржани су сви главни оквири: Espresso и UI Automator за Android, XCTest и XCUITest за iOS, Appium и Calabash за вишеплатформске пројекте. Device Farm покреће тестове без измене кода — довољно је навести тестни оквир при конфигурацији.
Програмер добија даљински приступ стварном уређају путем прегледача: додири, превлачења, ротација екрана, притискање дугмади — све радње се преносе у реалном времену. Интерактивни режим је незаменљив за репродукцију ретких грешака које нису покривене аутотестовима. AWS Device Farm обезбеђује до 60 минута ручне сесије без додатне накнаде.
Након сваког покретања Device Farm генерише извештај: видео запис теста, снимке екрана корак по корак, евиденције уређаја (logcat за Android, syslog за iOS), податке о перформансама (CPU, меморија, мрежа) и crash стек. Ови подаци помажу у лоцирању проблема без репродукције на локалном уређају.
Сви велики провајдери Device Farm нуде додатке за Jenkins, GitLab CI, GitHub Actions и CircleCI. Webhook обавештења обавештавају тим о резултатима тестова у Slack, Telegram или имејлом. Подешавање CI/CD интеграције је стандардна пракса за тимове који практикују непрекидну испоруку.
| Функција | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Физички уређаји | Да | Да | Да |
| Емулатори | Да | Да | Да |
| Ручно тестирање | Да | Да | Не |
| Локализација грешака | Видео + евиденције | Видео + евиденције | Само евиденције |
| Бесплатни лимит | 1000 минута/месец | 60 минута пробни | Тестови у Firebase — бесплатно |
Тржиште Device Farm представљено је трима главним категоријама: општи облачни провајдери (AWS), специјализоване услуге тестирања (BrowserStack) и алати унутар екосистема платформе (Firebase). Избор зависи од технолошког стека и буџета тима.
Интегрисан са екосистемом Amazon Web Services. Програмери који већ користе AWS за хостинг и CI/CD добијају јединствени уговор и беспрекорну интеграцију са CodePipeline и CodeBuild. AWS Device Farm подржава тестирање Android, iOS и веб апликација на физичким уређајима и емулаторима.
Највећи независни провајдер са парком од преко 3 000 стварних уређаја. BrowserStack је познат по згодном веб интерфејсу, брзини обезбеђивања уређаја (10–15 секунди) и подршци за Appium без сложене конфигурације. Услуга аутоматски ажурира парк уређаја у року од недељу дана од изласка новог модела.
Бесплатна услуга од Google-а за Android апликације са могућношћу тестирања iOS (ограничено). Firebase Test Lab је посебно атрактиван за стартапове: основни сценарији тестирања доступни су без претплате. Интеграција са Firebase Console и Crashlytics омогућава повезивање падова тестова са стварним крашевима у продукцији.
На тржишту су присутни Samsung Remote Test Lab (бесплатан приступ Samsung уређајима), Kobiton (enterprise оријентисан са on-premise имплементацијом), Perfecto (преузео Perforce, фокус на финансијском сектору) и Sauce Labs (једна од најстаријих услуга, сада део Tricentis-а).
Размотримо интеграцију Firebase Test Lab са командном линијом за Android апликацију. Firebase Test Lab покреће тестове путем gcloud CLI, што омогућава уградњу покретања у било који CI цевовод без додатних додатака. Пример приказује минималну конфигурацију smoke теста на три уређаја.
# Установка gcloud CLI и авторизация
gcloud auth login
gcloud config set project my-android-app
# Загрузка APK в Firebase Test Lab
gcloud firebase test android run \
--app app-debug.apk \
--test app-debug-test.apk \
--type instrumentation \
--device model=Pixel7,version=34 \
--device model=SamsungS23,version=33 \
--device model=OnePlus12,version=34 \
--timeout 30m \
--results-bucket gs://my-app-test-results
Команда отпрема две датотеке: сам билд и тестни APK са инструментационим тестовима Espresso. Firebase Test Lab аутоматски бира најновију доступну верзију ОС-а за сваки модел, ако version није експлицитно наведена. Резултати се чувају у Google Cloud Storage у XML и HTML формату за преглед у прегледачу.
За аутоматско покретање при сваком push-у користи се GitHub Actions. Радни ток гради апликацију, покреће Firebase Test Lab и враћа статус провере.
name: Android CI with Device Farm
on: [push]
jobs:
test-on-devices:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- run: ./gradlew assembleDebug assembleDebugAndroidTest
- uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
- run: gcloud firebase test android run
--app app/build/outputs/apk/debug/app-debug.apk
--test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
--device model=Pixel8,version=35
Цена Device Farm састоји се од неколико параметара: број паралелних сесија, тип уређаја (физички или емулатор), трајање тестирања и додатне функције. Важно је разумети структуру трошкова пре избора провајдера како би се избегла неочекивана издавања при скалирању.
Већина провајдера наплаћује стварно време коришћења уређаја. Физички уређаји коштају 2–5 пута више од емулатора. AWS Device Farm нуди 1000 бесплатних минута месечно за нове налоге, BrowserStack — 60 минута пробног периода. Просечан трошак минута на физичком Android уређају износи $0.05–0.17.
За редовно тестирање исплативија је фиксна претплата. BrowserStack нуди план Team за $299/месец за 3 корисника са неограниченим бројем минута на физичким уређајима. AWS Device Farm нема фиксну претплату — плаћање је по минуту, што је згодно при нередовном оптерећењу, али скупље при интензивној употреби.
При израчунавању буџета узмите у обзир: складиштење артефаката тестирања (видео, снимци екрана, евиденције) — AWS Device Farm чува резултате до 90 дана без додатне накнаде, BrowserStack — до 30 дана; мрежни саобраћај при отпремању великих APK/IPA датотека; број паралелних сесија — повећање паралелизма може захтевати скупљи план.
Често постављана питања
Емулатор имитира уређај програмски на вашем рачунару, а Device Farm пружа приступ стварном физичком уређају са оригиналним фирмвером, процесором и сензорима. Само на стварном уређају можете проверити камеру, GPS, температуру кућишта и интеракцију са мрежом оператора.
Да, сви велики провајдери подржавају iOS. За тестирање је потребна IPA датотека изграђена са development сертификатом. BrowserStack и AWS Device Farm пружају физичке iPhone и iPad уређаје, Firebase Test Lab подржава iOS путем macOS симулатора у центру података.
Jenkins се интегрише путем додатака (нпр. AWS Device Farm Plugin) или CLI команди покренутих у фази изградње. Додатак аутоматски отпрема артефакте изградње, покреће тестове на изабраним уређајима и враћа резултат у Jenkins цевовод.
За стартап је оптималан Firebase Test Lab — основне могућности су бесплатне, интеграција са Android Studio ради из кутије. За iOS пројекте BrowserStack нуди 60 минута бесплатног тестирања. Како тим расте, прелази се на плаћене претплате са комплетним парком уређаја.
Велики провајдери поштују SOC 2 сертификацију и шифрују податке при преносу и складиштењу. AWS Device Farm ради у изолованим AWS налозима, BrowserStack користи уређаје за једнократну употребу за сваку сесију. Поверљиве податке (API кључеве) препоручује се сместити у конфигурацију изградње.
Резиме
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође