Device Farm: nədir, bulud xidmətləri və real cihazlar

Müəllif: IT Sectr Dərc olunub: 2026-04-11 Oxuma vaxtı: 9 dəq

Device Farm — bu, yüzlərlə real mobil cihaza uzaqdan giriş təmin edən və tətbiqlərin avtomatik və əl ilə test edilməsi üçün nəzərdə tutulmuş bulud xidmətidir. Tərtibatçılar APK və ya IPA yükləyir, cihaz konfiqurasiyalarını seçir və fiziki cihazlar almadan testləri paralel işə salırlar. Perfecto, 2025 hesabatına görə, Device Farm istifadə edən komandalar reqressiya testi müddətini lokal cihaz fermaları ilə müqayisədə 73% azaldır.

Başlıcalar

  • Device Farm — abunə ilə əldə edilə bilən real mobil cihazlardan ibarət bulud ferması
  • Paralel işə salma testlərin bir neçə cihazda yoxlanılma müddətini günlərdən saatlara endirir
  • AWS Device Farm, BrowserStack və Firebase Test Lab — üç ən böyük təminatçı
  • Brauzerlərarası test emulator və simulyatorlarda dəstəklənir
  • CI/CD inteqrasiyası hər commit-də avtomatik olaraq Device Farm-da testləri işə salmağa imkan verir

Device Farm nədir

Device Farm — bu, mobil tətbiqlərin test edilməsi üçün fiziki və virtual cihazlara internet vasitəsilə uzaqdan giriş təmin edən infrastruktur həllidir. Öz cihaz laboratoriyasını almaq və saxlamaqdan fərqli olaraq, tərtibatçılar başqalarının cihazlarında vaxt icarəyə götürür və yalnız faktiki istifadəyə görə ödəyirlər.

Device Farm nə üçün lazımdır

Mobil cihaz bazarı OpenSignal, 2025 məlumatlarına görə 24 000-dən çox unikal Android smartfon modelini əhatə edir. Test üçün bütün məşhur modelləri fiziki olaraq əldə etmək mümkün deyil — bu, milyonlarla dollar investisiya və parkın daimi yenilənməsini tələb edərdi. Device Farm bu problemi həll edir, abunə ilə aktual cihazlara giriş təmin edir.

Fiziki cihazlar vs emulatorlar

Emulator və simulyatorlar test ssenarilərinin yalnız 60–70%-ni əhatə edir. Sensorları, kameranı, GPS-i, batareya səviyyəsini, zəif aparatda performansı və daxil olan zənglər zamanı davranışı yoxlamaq üçün real cihazlar lazımdır. Device Farm hər iki yanaşmanı birləşdirir: sürətli smoke-testlər üçün emulatorlar və tam yoxlama üçün fiziki cihazlar.

Device Farm kimlər üçün uyğundur

Device Farm ilk tətbiqini buraxan startaplar, müzəmmər buraxılışları olan yetkin məhsul komandaları və onlarla tətbiqi olan enterprise layihələri üçün uyğundur. İstifadənin məqsədəuyğunluğu hədəf cihazların sayı və buraxılış tezliyi artdıqca yüksəlir — nə qədər çox konfiqurasiya yoxlanmalıdırsa, bulud modeli bir o qədər sərfəlidir.

Device Farm necə işləyir

Device Farm ilə tipik iş ssenarisi beş mərhələdən ibarətdir: bildin yüklənməsi, cihazların seçilməsi, testlərin konfiqurasiyası, işə salma, nəticələrin təhlili. Hər mərhələ API vasitəsilə avtomatlaşdırılır ki, bu da əl müdaxiləsi olmadan Device Farm-ı CI/CD boru kəmərinə yerləşdirməyə imkan verir.

Tətbiqin yüklənməsi

Tərtibatçı yığılmış APK (Android), AAB və ya IPA (iOS) faylını təminatçının bulud anbarına yükləyir. Bəzi xidmətlər, məsələn Firebase Test Lab, birbaşa Xcode və ya Android Studio layihəsini də qəbul edir. Fayl ölçüsü məhduddur: AWS Device Farm 200 MB-a qədər, BrowserStack isə 500 MB-a qədər dəstəkləyir.

Konfiqurasiyaların seçilməsi

Cihaz kataloqundan hədəf modellər və OS versiyaları seçilir. Müasir Device Farm qruplaşdırmanı dəstəkləyir: “bütün flagmanlar 2024–2025” və ya “Android 13–14 ilə büdcə Androidləri”. Paralel icra bir testi eyni anda 10–50 cihazda işə salmağa imkan verir, ümumi vaxtı dəqiqələrə endirir.

İşə salma və monitorinq

Testlər təminatçının məlumat mərkəzlərində real cihazlarda yerinə yetirilir. Tərtibatçı veb-konsol vasitəsilə real vaxtda gedişatı izləyir: jurnallar, ekran görüntüləri, testin video yazısı. Test uğursuz olarsa, Device Farm ekran görüntüsü çəkir və diaqnostika üçün crash jurnalı toplayır.

groovy
// Jenkinsfile-da Device Farm konfiqurasiyası nümunəsi
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-ın əsas imkanları

Müasir Device Farm təkcə testlərin işə salınmasını deyil, həm də diaqnostika, performans monitorinqi və digər inkişaf xidmətləri ilə inteqrasiya üçün köməkçi alətlər təqdim edir. Funksiyalar dəsti təminatçılar arasında dəyişir, lakin özək eyni qalır.

Avtomatik test

Əsas çərçivələrin hamısı dəstəklənir: Android üçün Espresso və UI Automator, iOS üçün XCTest və XCUITest, platformalararası layihələr üçün Appium və Calabash. Device Farm kodu dəyişdirmədən testləri işə salır — konfiqurasiya zamanı test çərçivəsini göstərmək kifayətdir.

Əl ilə interaktiv test

Tərtibatçı brauzer vasitəsilə real cihaza uzaqdan giriş əldə edir: toxunuşlar, sürüşdürmələr, ekranın döndərilməsi, düymələrə basma — bütün hərəkətlər real vaxtda ötürülür. Interaktiv rejim avtomatik testlər ilə əhatə olunmayan nadir səhvlərin təkrarlanması üçün əvəzolunmazdır. AWS Device Farm əlavə ödənişsiz 60 dəqiqəyə qədər əl seansı təmin edir.

Diaqnostik məlumatların toplanması

Hər icradan sonra Device Farm hesabat yaradır: testin video yazısı, addım-addım ekran görüntüləri, cihaz jurnalları (Android üçün logcat, iOS üçün syslog), performans məlumatları (CPU, yaddaş, şəbəkə) və crash yığını. Bu məlumatlar problemi lokal cihazda təkrarlamadan müyyənləşdirməyə kömək edir.

CI/CD inteqrasiyası

Bütün böyük Device Farm təminatçıları Jenkins, GitLab CI, GitHub Actions və CircleCI üçün plaginlər təqdim edir. Webhook bildirişləri komandanı Slack, Telegram və ya email vasitəsilə test nəticələri barədə xəbərdar edir. CI/CD inteqrasiyasının qurulması davamlı çatdırma tətbiq edən komandalar üçün standart təcrübədir.

FunksiyaAWS Device FarmBrowserStackFirebase Test Lab
Fiziki cihazlarBəliBəliBəli
EmulatorlarBəliBəliBəli
Əl ilə testBəliBəliXeyr
Səhv lokalizasiyasıVideo + jurnallarVideo + jurnallarYalnız jurnallar
Pulsuz limit1000 dəqiqə/ay60 dəqiqə sınıqFirebase-də testlər — pulsuz

Device Farm bazarı üç əsas kateqoriya ilə təmsil olunur: ümumi təyinatlı bulud təminatçıları (AWS), ixtisaslaşdırılmış test xidmətləri (BrowserStack) və platforma ekosistemindəki alətlər (Firebase). Seçim texnologiya yığınından və komandanın büdcəsindən asılıdır.

AWS Device Farm

Amazon Web Services ekosistemi ilə inteqrasiya olunub. Artıq AWS-dən hostinq və CI/CD üçün istifadə edən tərtibatçılar vahid müqavilə və CodePipeline və CodeBuild ilə problemsiz inteqrasiya əldə edirlər. AWS Device Farm fiziki cihazlarda və emulatorlarda Android, iOS və veb tətbiqlərinin test edilməsini dəstəkləyir.

BrowserStack App Automate

3 000-dən çox real cihaz parkı ilə ən böyük müstəqil təminatçı. BrowserStack rahat veb interfeysi, cihazın tez təqdim edilməsi (10–15 saniyə) və mürəkkəb konfiqurasiya tələb etməyən Appium dəstəyi ilə tanınır. Xidmət yeni modelin buraxılmasından sonra bir həftə ərzində cihaz parkını avtomatik yeniləyir.

Firebase Test Lab

Google-dan Android tətbiqləri üçün pulsuz xidmət, iOS test imkanı ilə (məhdud). Firebase Test Lab startaplar üçün xüsusilə cəlbedicidir: əsas test ssenariləri abunə olmadan əldə edilə bilər. Firebase Console və Crashlytics ilə inteqrasiya test uğursuzluqlarını istehsalatdakı real crash-larla əlaqələndirməyə imkan verir.

Digər təminatçılar

Bazarda Samsung Remote Test Lab (Samsung cihazlarına pulsuz giriş), Kobiton (on-premise yerləşdirmə ilə enterprise yönümlü), Perfecto (Perforce tərəfindən satın alınıb, maliyyə sektoruna fokuslanıb) və Sauce Labs (ən köhnə xidmətlərdən biri, indi Tricentis-in tərkib hissəsi) var.

Device Farm-da testlərin işə salınması nümunəsi

Firebase Test Lab-in Android tətbiqi üçün komanda sətri ilə inteqrasiyasını nəzərdən keçirək. Firebase Test Lab testləri gcloud CLI vasitəsilə işə salır ki, bu da əlavə plaginlər olmadan istənilən CI boru kəmərinə yerləşdirməyə imkan verir. Nümunə üç cihazda minimum smoke-test konfiqurasiyasını göstərir.

bash
# gcloud CLI-nin quraşdırılması və avtorizasiya
gcloud auth login
gcloud config set project my-android-app

# APK-nı Firebase Test Lab-a yükləmək
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

Komanda iki fayl yükləyir: bildin özü və instrumental testləri olan Espresso test APK-sı. Firebase Test Lab, version açıq şəkildə göstərilməyibsə, hər model üçün avtomatik olaraq ən son mövcud OS versiyasını seçir. Nəticələr brauzerdə baxmaq üçün Google Cloud Storage-də XML və HTML formatında saxlanılır.

GitHub Actions ilə inteqrasiya

Hər push-da avtomatik işə salma üçün GitHub Actions istifadə olunur. Workflow tətbiqi yığır, Firebase Test Lab-ı işə salır və yoxlama statusunu qaytarır.

yaml
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 qiymət modelləri

Device Farm-un dəyəri bir neçə parametrdən ibarətdir: paralel sessiyaların sayı, cihaz növü (fiziki və ya emulator), test müddəti və əlavə funksiyalar. Miqyaslaşdırma zamanı gözlənil̀məz xərclərdən qaçmaq üçün təminatçı seçməzdən əvvəl xərc strukturunu başa düşmək vacibdir.

Test dəqiqələri

Əksər təminatçılar cihazın faktiki istifadə müddətinə görə tarifləndirirlər. Fiziki cihazlar emulatorlardan 2–5 dəfə bahadır. AWS Device Farm yeni hesablar üçün ayda 1000 pulsuz dəqiqə təklif edir, BrowserStack — 60 dəqiqə sınıq müddəti. Fiziki Android cihazında bir dəqiqənin orta qiyməti $0.05–0.17 təşkil edir.

Komanda abunəsi

Müzəmmər test üçün sabit abunə daha sərfəlidir. BrowserStack fiziki cihazlarda limitsiz dəqiqə ilə 3 istifadəçi üçün ayda $299 Team planı təklif edir. AWS Device Farm-un sabit abunəsi yoxdur — ödəniş hər dəqiqə üçündür, bu, qeyri-müzəmmər yük üçün əlverişlidir, lakin intensiv istifadədə daha bahadır.

Gizli xərclər

Büdcəni hesablayarkən nəzərə alın: test nəticələrinin saxlanması (video, ekran görüntüləri, jurnallar) — AWS Device Farm nəticələri əlavə ödənişsiz 90 gün saxlayır, BrowserStack — 30 gün; böyük APK/IPA yükləyərkən şəbəkə trafiki; paralel sessiyaların sayı — paralelliyin artırılması daha bahalı tarif tələb edə bilər.

Tez-tez verilən suallar

Device Farm adi emulatordan nə ilə fərqlənir?

Emulator cihazı proqram vasitəsilə kompüterinizdə təqlid edir, Device Farm isə orijinal proşıvka, prosessor və sensorları olan real fiziki cihaza giriş təmin edir. Yalnız real cihazda kameranı, GPS-i, korpusun temperaturunu və operator şəbəkəsi ilə qarşılıqlı əlaqəni yoxlamaq olar.

Device Farm-dan iOS tətbiqləri üçün istifadə etmək olarmı?

Bəli, bütün böyük təminatçılar iOS-u dəstəkləyir. Test üçün development sertifikatı ilə yığılmış IPA faylı tələb olunur. BrowserStack və AWS Device Farm fiziki iPhone və iPad təmin edir, Firebase Test Lab iOS-u məlumat mərkəzində macOS simulyatorları vasitəsilə dəstəkləyir.

Device Farm Jenkins ilə necə inteqrasiya olunur?

Jenkins plaginlər (məsələn, AWS Device Farm Plugin) və ya qurma mərhələsində işə salınan CLI əmrləri vasitəsilə inteqrasiya olunur. Plagin avtomatik olaraq qurma nəticələrini yükləyir, seçilmiş cihazlarda testləri işə salır və nəticəni Jenkins boru kəmərinə qaytarır.

Startap üçün hansı Device Farm seçilməlidir?

Startap üçün Firebase Test Lab optimaldır — əsas imkanlar pulsuzdur, Android Studio ilə inteqrasiya qutudan çıxış işləyir. iOS layihələri üçün BrowserStack 60 dəqiqə pulsuz test təklif edir. Komanda böyüdükcə tam cihaz parkı ilə ödənişli abunələrə keçilir.

Tətbiqi Device Farm-a yükləmək təhlükəsizdirmi?

Böyük təminatçılar SOC 2 sertifikatına riayət edir və ötürülmə və saxlanma zamanı məlumatları şifrələyir. AWS Device Farm təcrid olunmuş AWS hesablarında işləyir, BrowserStack hər sessiya üçün birdəfəlik cihazlardan istifadə edir. Məxfi məlumatların (API açarları) qurma konfiqurasiyasına yerləşdirilməsi tövsiyə olunur.

Nəticələr

  • Device Farm — fiziki laboratoriyanı əvəz edən, real cihazlarda test üçün bulud infrastrukturu
  • Paralel işə salma testlərin onlarla cihazda yoxlanılma müddətini günlərdən 1–2 saata endirir
  • AWS Device Farm, BrowserStack və Firebase Test Lab — müxtəlif qiymət modelləri ilə üç əsas təminatçı
  • Fiziki cihazlar sensorların, performansın və OS ilə qarşılıqlı əlaqənin yoxlanması üçün zəruridir
  • CI/CD inteqrasiyası Device Farm-un Jenkins, GitHub Actions və GitLab CI ilə hər commit-də avtomatik testi təmin edir
  • Təminatçı seçimi texnologiya yığınından asılıdır: Firebase Android üçün, BrowserStack platformalararası layihələr üçün, AWS Amazon ekosistemindəki komandalar üçün əlverişlidir
  • Tövsiyə: Android üçün Firebase Test Lab, iOS üçün BrowserStack ilə başlayın, sonra komanda böyüdükcə AWS Device Farm-a miqyaslayın

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun