Device Farm — este un serviciu cloud care oferă acces la distanță la sute de dispozitive mobile reale pentru testarea automată și manuală a aplicațiilor. Dezvoltatorii încarcă APK sau IPA, selectează configurațiile dispozitivelor și rulează teste în paralel, fără a cumpăra dispozitive fizice. Conform raportului Perfecto, 2025, echipele care folosesc Device Farm reduc timpul testării de regresie cu 73% comparativ cu fermele locale de dispozitive.
Principalele
Device Farm — este o soluție de infrastructură pentru testarea aplicațiilor mobile, care oferă acces la distanță la dispozitive fizice și virtuale prin internet. Spre deosebire de achiziționarea și întreținerea propriei laboratoare de dispozitive, dezvoltatorii închiriază timp pe dispozitivele altora, plătind doar pentru utilizarea efectivă.
Piața dispozitivelor mobile include peste 24 000 de modele unice de smartphone-uri Android conform OpenSignal, 2025. Achiziționarea fizică a tuturor modelelor populare pentru testare este imposibilă — ar necesita milioane de dolari investiții și actualizarea constantă a parcului. Device Farm rezolvă această problemă, oferind acces la dispozitive actuale prin abonament.
Emulatoarele și simulatoarele acoperă doar 60–70% din scenariile de testare. Dispozitivele reale sunt necesare pentru verificarea senzorilor, camerei, GPS-ului, nivelului bateriei, performanței pe hardware slab și comportamentului la apeluri primite. Device Farm combină ambele abordări: emulatoare pentru teste smoke rapide și dispozitive fizice pentru verificare completă.
Device Farm este potrivită pentru startup-uri care lansează prima aplicație, echipe de produs mature cu lansări regulate și proiecte enterprise cu zeci de aplicații. Oportunitatea utilizării crește odată cu numărul dispozitivelor țintă și frecvența lansărilor — cu cât mai multe configurații trebuie verificate, cu atât modelul cloud este mai avantajos.
Scenariul tipic de lucru cu Device Farm include cinci etape: încărcarea build-ului, selectarea dispozitivelor, configurarea testelor, rularea, analiza rezultatelor. Fiecare etapă este automatizată prin API, ceea ce permite integrarea Device Farm în pipeline-ul CI/CD fără intervenție manuală.
Dezvoltatorul încarcă fișierul APK (Android), AAB sau IPA (iOS) construit în stocarea cloud a furnizorului. Unele servicii, precum Firebase Test Lab, acceptă și proiectul Xcode sau Android Studio direct. Dimensiunea fișierului este limitată: AWS Device Farm suportă până la 200 MB, BrowserStack — până la 500 MB.
Din catalogul de dispozitive se selectează modelele țintă și versiunile de OS. Device Farm moderne suportă gruparea: „toate flagship-urile 2024–2025” sau „Android-uri bugetare cu Android 13–14”. Executarea paralelă permite rularea unui test simultan pe 10–50 de dispozitive, reducând timpul total la minute.
Testele sunt executate pe dispozitive reale în centrele de date ale furnizorului. Dezvoltatorul observă progresul prin consola web în timp real: log-uri, capturi de ecran, înregistrarea video a testului. La eșecul testului, Device Farm face o captură de ecran și colectează log-ul de crash pentru diagnosticare.
// Exemplu de configurare Device Farm în 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 moderne oferă nu doar rularea testelor, ci și instrumente auxiliare pentru diagnosticare, monitorizare a performanței și integrare cu alte servicii de dezvoltare. Setul de funcții variază între furnizori, dar nucleul rămâne comun.
Toate framework-urile principale sunt suportate: Espresso și UI Automator pentru Android, XCTest și XCUITest pentru iOS, Appium și Calabash pentru proiecte cross-platform. Device Farm rulează teste fără modificarea codului — este suficient să specifici framework-ul de test la configurare.
Dezvoltatorul obține acces la distanță la un dispozitiv real prin browser: atingeri, glisări, rotirea ecranului, apăsarea butoanelor — toate acțiunile sunt transmise în timp real. Modul interactiv este de neînlocuit pentru reproducerea bug-urilor rare care nu sunt acoperite de teste automate. AWS Device Farm oferă până la 60 de minute de sesiune manuală fără taxă suplimentară.
După fiecare rulare, Device Farm generează un raport: înregistrare video a testului, capturi de ecran pas cu pas, log-uri ale dispozitivului (logcat pentru Android, syslog pentru iOS), date de performanță (CPU, memorie, rețea) și stack-ul de crash. Aceste date ajută la localizarea problemei fără a o reproduce pe dispozitivul local.
Toți furnizorii mari de Device Farm oferă plugin-uri pentru Jenkins, GitLab CI, GitHub Actions și CircleCI. Notificările Webhook informează echipa despre rezultatele testelor în Slack, Telegram sau email. Configurarea integrării CI/CD este o practică standard pentru echipele care practică livrarea continuă.
| Funcție | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Dispozitive fizice | Da | Da | Da |
| Emulatoare | Da | Da | Da |
| Testare manuală | Da | Da | Nu |
| Localizare bug-uri | Video + log-uri | Video + log-uri | Doar log-uri |
| Limită gratuită | 1000 minute/lună | 60 minute perioadă de probă | Teste în Firebase — gratuite |
Piața Device Farm este reprezentată de trei categorii principale: furnizori cloud de uz general (AWS), servicii specializate de testare (BrowserStack) și instrumente din ecosistemul platformei (Firebase). Alegerea depinde de stiva tehnologică și bugetul echipei.
Integrat cu ecosistemul Amazon Web Services. Dezvoltatorii care folosesc deja AWS pentru hosting și CI/CD obțin un contract unic și o integrare fără probleme cu CodePipeline și CodeBuild. AWS Device Farm suportă testarea aplicațiilor Android, iOS și web pe dispozitive fizice și emulatoare.
Cel mai mare furnizor independent cu un parc de peste 3 000 de dispozitive reale. BrowserStack este cunoscut pentru interfața web convenabilă, viteza de furnizare a dispozitivului (10–15 secunde) și suportul pentru Appium fără configurare complexă. Serviciul actualizează automat parcul de dispozitive într-o săptămână de la lansarea unui nou model.
Serviciu gratuit de la Google pentru aplicații Android cu posibilitatea de testare iOS (limitat). Firebase Test Lab este deosebit de atractiv pentru startup-uri: scenariile de bază de testare sunt disponibile fără abonament. Integrarea cu Firebase Console și Crashlytics permite asocierea eșecurilor testelor cu crash-uri reale din producție.
Pe piață sunt prezenți Samsung Remote Test Lab (acces gratuit la dispozitive Samsung), Kobiton (orientat enterprise cu implementare on-premise), Perfecto (achiziționat de Perforce, focus pe sectorul financiar) și Sauce Labs (unul dintre cele mai vechi servicii, acum parte a Tricentis).
Să analizăm integrarea Firebase Test Lab cu linia de comandă pentru o aplicație Android. Firebase Test Lab rulează teste prin gcloud CLI, ceea ce permite integrarea rulării în orice pipeline CI fără plugin-uri suplimentare. Exemplul arată o configurare minimă de test smoke pe trei dispozitive.
# Instalarea gcloud CLI și autentificare
gcloud auth login
gcloud config set project my-android-app
# Încărcarea APK în 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
Comanda încarcă două fișiere: build-ul propriu-zis și APK-ul de test cu teste instrumentation Espresso. Firebase Test Lab selectează automat cea mai recentă versiune disponibilă de OS pentru fiecare model, dacă version nu este specificată explicit. Rezultatele sunt salvate în Google Cloud Storage în format XML și HTML pentru vizualizare în browser.
Pentru rularea automată la fiecare push se folosește GitHub Actions. Workflow-ul construiește aplicația, rulează Firebase Test Lab și returnează statusul verificării.
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
Costul Device Farm este format din mai mulți parametri: numărul de sesiuni paralele, tipul dispozitivului (fizic sau emulator), durata testării și funcțiile suplimentare. Este important să înțelegi structura costurilor înainte de a alege furnizorul pentru a evita cheltuielile neașteptate la scalare.
Majoritatea furnizorilor facturează timpul efectiv de utilizare a dispozitivului. Dispozitivele fizice costă de 2–5 ori mai mult decât emulatoarele. AWS Device Farm oferă 1000 de minute gratuite pe lună pentru conturi noi, BrowserStack — 60 de minute perioadă de probă. Costul mediu al unui minut pe un dispozitiv fizic Android este de $0.05–0.17.
Pentru testarea regulată, un abonament fix este mai avantajos. BrowserStack oferă planul Team pentru $299/lună pentru 3 utilizatori cu minute nelimitate pe dispozitive fizice. AWS Device Farm nu are abonament fix — plata se face pentru fiecare minut, ceea ce este convenabil pentru încărcare neregulată, dar mai scump la utilizare intensivă.
La calcularea bugetului țineți cont de: stocarea artefactelor de testare (video, capturi de ecran, log-uri) — AWS Device Farm păstrează rezultatele până la 90 de zile fără taxă suplimentară, BrowserStack — până la 30 de zile; traficul de rețeea la încărcarea APK/IPA mari; numărul de sesiuni paralele — creșterea paralelismului poate necesita un plan mai scump.
Întrebări frecvente
Emulatorul imită dispozitivul software pe computerul tău, iar Device Farm oferă acces la un dispozitiv fizic real cu firmware original, procesor și senzori. Doar pe un dispozitiv real poți verifica camera, GPS-ul, temperatura carcasei și interacțiunea cu rețeaua operatorului.
Da, toți furnizorii mari suportă iOS. Pentru testare este necesar un fișier IPA construit cu certificat de development. BrowserStack și AWS Device Farm oferă iPhone și iPad fizice, Firebase Test Lab suportă iOS prin simulatoare macOS în centrul de date.
Jenkins se integrează prin plugin-uri (de exemplu, AWS Device Farm Plugin) sau prin comenzi CLI rulate în etapa de build. Plugin-ul încarcă automat artefactele de build, rulează teste pe dispozitivele selectate și returnează rezultatul în pipeline-ul Jenkins.
Pentru un startup, Firebase Test Lab este optim — funcțiile de bază sunt gratuite, integrarea cu Android Studio funcționează din cutie. Pentru proiecte iOS, BrowserStack oferă 60 de minute de testare gratuită. Pe măsură ce echipa crește, se trece la abonamente plătite cu un parc complet de dispozitive.
Furnizorii mari respectă certificarea SOC 2 și criptează datele în tranzit și în repaus. AWS Device Farm funcționează în conturi AWS izolate, BrowserStack folosește dispozitive de unică folosință pentru fiecare sesiune. Datele confidențiale (chei API) se recomandă a fi plasate în configurația de build.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și