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 — 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.
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.
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 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 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ə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.
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.
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.
// 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'''
}
}
}
}
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.
Ə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.
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.
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.
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.
| Funksiya | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Fiziki cihazlar | Bəli | Bəli | Bəli |
| Emulatorlar | Bəli | Bəli | Bəli |
| Əl ilə test | Bəli | Bəli | Xeyr |
| Səhv lokalizasiyası | Video + jurnallar | Video + jurnallar | Yalnız jurnallar |
| Pulsuz limit | 1000 dəqiqə/ay | 60 dəqiqə sınıq | Firebase-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.
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.
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.
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.
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.
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.
# 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.
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.
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-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.
Ə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.
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.
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
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.
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.
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 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.
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
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.
Həm də oxuyun