Device Farm — bu avtomatik va qo’lda ilova testlash uchun yuzlab real mobil qurilmalarga masofaviy kirishni ta’minlovchi bulut xizmatidir. Dasturchilar APK yoki IPA yuklaydi, qurilma konfiguratsiyalarini tanlaydi va jismoniy qurilmalarni sotib olmasdan testlarni parallel ishga tushiradi. Perfecto, 2025 hisobotiga ko’ra, Device Farm-dan foydalanadigan jamoalar regressiya testi vaqtini mahalliy qurilma fermalariga nisbatan 73% ga qisqartiradi.
Asosiylari
Device Farm — bu mobil ilovalarni sinash uchun internet orqali jismoniy va virtual qurilmalarga masofaviy kirishni ta’minlovchi infratuzilma yechimidir. O’z qurilma laboratoriyasini sotib olish va saqlashdan farqli o’laroq, dasturchilar boshqalarning qurilmalarida vaqt ijaraga oladi va faqat haqiqiy foydalanish uchun to’laydi.
Mobil qurilmalar bozori OpenSignal, 2025 ma’lumotlariga ko’ra 24 000 dan ortiq noyob Android smartfon modellarini o’z ichiga oladi. Sinov uchun barcha mashhur modellarni jismoniy sotib olish mumkin emas — bu millionlab dollar sarmoya va parkni doimiy yangilashni talab qiladi. Device Farm bu muammoni obuna orqali dolzarb qurilmalarga kirishni ta’minlab hal qiladi.
Emulyator va simulyatorlar test stsenariylarining faqat 60–70% ini qamrab oladi. Sensorlar, kamera, GPS, batareya darajasi, zaif apparatda ishlash va kiruvchi qo’ng’iroqlar paytida xatti-harakatni tekshirish uchun real qurilmalar zarur. Device Farm ikkala yondashuvni birlashtiradi: tezkor smoke-testlar uchun emulyatorlar va to’liq tekshirish uchun jismoniy qurilmalar.
Device Farm birinchi ilovasini chiqarayotgan startaplar, muntazam relizlari bo’lgan yetuk mahsulot jamoalari va o’nlab ilovalari bo’lgan enterprise loyihalar uchun mos keladi. Foydalanishning maqsadga muvofiqligi maqsadli qurilmalar soni va reliz chastotasi oshishi bilan ortadi — qanchalik ko’p konfiguratsiyani tekshirish kerak bo’lsa, bulut modeli shunchalik foydali bo’ladi.
Device Farm bilan odatdagi ish stsenariysi besh bosqichni o’z ichiga oladi: build yuklash, qurilmalarni tanlash, testlarni sozlash, ishga tushirish, natijalarni tahlil qilish. Har bir bosqich API orqali avtomatlashtiriladi, bu esa Device Farm-ni qo’l aralashuvisiz CI/CD quvuriga o’rnatish imkonini beradi.
Dasturchi yig’ilgan APK (Android), AAB yoki IPA (iOS) faylini provayderning bulut saqlash joyiga yuklaydi. Ba’zi xizmatlar, masalan Firebase Test Lab, to’g’ridan-to’g’ri Xcode yoki Android Studio loyihasini ham qabul qiladi. Fayl hajmi cheklangan: AWS Device Farm 200 MB gacha, BrowserStack esa 500 MB gacha qo’llab-quvvatlaydi.
Qurilmalar katalogidan maqsadli modellar va OS versiyalari tanlanadi. Zamonaviy Device Farm guruhlashni qo’llab-quvvatlaydi: “2024–2025 flagmanlari” yoki “Android 13–14 li byudjet Androidlari”. Parallel bajarish bir testni bir vaqtning o’zida 10–50 qurilmada ishga tushirish imkonini beradi, umumiy vaqtni daqiqalargacha qisqartiradi.
Testlar provayderning ma’lumot markazlarida real qurilmalarda bajariladi. Dasturchi veb-konsol orqali real vaqtda jarayonni kuzatadi: jurnallar, ekran tasvirlari, testning video yozuvi. Test muvaffaqiyatsiz bo’lsa, Device Farm ekran tasvirini oladi va diagnostika uchun crash jurnalini yig’adi.
// Jenkinsfileda Device Farm konfiguratsiyasi misoli
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'''
}
}
}
}
Zamonaviy Device Farm nafaqat testlarni ishga tushirish, balki diagnostika, samaradorlik monitoringi va boshqa ishlab chiqish xizmatlari bilan integratsiya uchun yordamchi vositalarni ham taqdim etadi. Funksiyalar to’plami provayderlar orasida farq qiladi, ammo o’zak bir xil bo’lib qoladi.
Barcha asosiy freymvorklar qo’llab-quvvatlanadi: Android uchun Espresso va UI Automator, iOS uchun XCTest va XCUITest, platformalararo loyihalar uchun Appium va Calabash. Device Farm kodni o’zgartirmasdan testlarni ishga tushiradi — konfiguratsiya vaqtida test freymvorkini ko’rsatish kifoya.
Dasturchi brauzer orqali real qurilmaga masofaviy kirish oladi: teginishlar, surishlar, ekranni aylantirish, tugmalarni bosish — barcha harakatlar real vaqtda uzatiladi. Interaktiv rejim avtomatik testlar bilan qamrab olinmagan noyob xatolarni takrorlash uchun ajralmas hisoblanadi. AWS Device Farm qo’shimcha to’lovsiz 60 daqiqagacha qo’lda seansni taqdim etadi.
Har bir ishga tushirishdan so’ng Device Farm hisobot yaratadi: testning video yozuvi, bosqichma-bosqich ekran tasvirlari, qurilma jurnallari (Android uchun logcat, iOS uchun syslog), samaradorlik ma’lumotlari (CPU, xotira, tarmoq) va crash steki. Bu ma’lumotlar muammoni mahalliy qurilmada takrorlamasdan aniqlashga yordam beradi.
Barcha yirik Device Farm provayderlari Jenkins, GitLab CI, GitHub Actions va CircleCI uchun plaginlarni taqdim etadi. Webhook bildirishnomalari jamoani Slack, Telegram yoki email orqali test natijalari haqida xabardor qiladi. CI/CD integratsiyasini sozlash doimiy yetkazib berishni qo’llaydigan jamoalar uchun standart amaliyotdir.
| Funksiya | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Jismoniy qurilmalar | Ha | Ha | Ha |
| Emulyatorlar | Ha | Ha | Ha |
| Qo’lda testlash | Ha | Ha | Yo’q |
| Xato lokalizatsiyasi | Video + jurnallar | Video + jurnallar | Faqat jurnallar |
| Bepul limit | 1000 daqiqa/oy | 60 daqiqa sinov | Firebase-dagi testlar — bepul |
Device Farm bozori uchta asosiy kategoriya bilan ifodalanadi: umumiy maqsadli bulut provayderlari (AWS), ixtisoslashgan test xizmatlari (BrowserStack) va platforma ekotizimidagi vositalar (Firebase). Tanlov texnologiya steki va jamoa byudjetiga bog’liq.
Amazon Web Services ekotizimi bilan integratsiyalangan. Xosting va CI/CD uchun allaqachon AWS dan foydalanayotgan dasturchilar yagona shartnoma va CodePipeline va CodeBuild bilan muammosiz integratsiya oladi. AWS Device Farm jismoniy qurilmalar va emulyatorlarda Android, iOS va web ilovalarni testlashni qo’llab-quvvatlaydi.
3 000 dan ortiq real qurilmalar parkiga ega eng yirik mustaqil provayder. BrowserStack qulay veb-interfeysi, qurilmani tez taqdim etishi (10–15 soniya) va murakkab konfiguratsiyasiz Appium qo’llab-quvvatlashi bilan tanilgan. Xizmat yangi model chiqqandan keyin bir hafta ichida qurilmalar parkini avtomatik yangilaydi.
Google-dan Android ilovalari uchun bepul xizmat, iOS testlash imkoniyati bilan (cheklangan). Firebase Test Lab startaplar uchun ayniqsa jozibador: asosiy test stsenariylari obunasiz mavjud. Firebase Console va Crashlytics bilan integratsiya test muvaffaqiyatsizliklarini ishlab chiqarishdagi real crashlar bilan bog’lash imkonini beradi.
Bozorda Samsung Remote Test Lab (Samsung qurilmalariga bepul kirish), Kobiton (on-premise joylashtirish bilan enterprise yo’naltirilgan), Perfecto (Perforce tomonidan sotib olingan, moliya sektoriga qaratilgan) va Sauce Labs (eng qadimgi xizmatlardan biri, hozir Tricentis tarkibida) mavjud.
Firebase Test Lab ning Android ilovasi uchun buyruq qatori bilan integratsiyasini ko’rib chiqaylik. Firebase Test Lab testlarni gcloud CLI orqali ishga tushiradi, bu qo’shimcha plaginlarsiz istalgan CI quvuriga joylashtirish imkonini beradi. Misol uchta qurilmada minimal smoke-test konfiguratsiyasini ko’rsatadi.
# gcloud CLI o'rnatish va avtorizatsiya
gcloud auth login
gcloud config set project my-android-app
# APK ni Firebase Test Lab ga yuklash
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
Buyruq ikkita faylni yuklaydi: build-ning o’zi va instrumental testlari bo’lgan Espresso test APK-si. Firebase Test Lab, version aniq ko’rsatilmagan bo’lsa, har bir model uchun avtomatik ravishda eng so’nggi mavjud OS versiyasini tanlaydi. Natijalar brauzerda ko’rish uchun Google Cloud Storage-da XML va HTML formatida saqlanadi.
Har bir push-da avtomatik ishga tushirish uchun GitHub Actions dan foydalaniladi. Workflow ilovani yig’adi, Firebase Test Lab-ni ishga tushiradi va tekshirish holatini qaytaradi.
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 narxi bir necha parametrlardan iborat: parallel seanslar soni, qurilma turi (jismoniy yoki emulyator), test davomiyligi va qo’shimcha funksiyalar. Miqyoslashda kutilmagan xarajatlardan qochish uchun provayderni tanlashdan oldin xarajatlar tuzilishini tushunish muhimdir.
Aksariyat provayderlar qurilmadan haqiqiy foydalanish vaqti uchun tarif belgilaydi. Jismoniy qurilmalar emulyatorlardan 2–5 baravar qimmat. AWS Device Farm yangi hisoblar uchun oyiga 1000 bepul daqiqa taklif qiladi, BrowserStack — 60 daqiqa sinov muddati. Jismoniy Android qurilmasida bir daqiqaning o’rtacha narxi $0.05–0.17 ni tashkil qiladi.
Muntazam testlash uchun qat’iy obuna foydaliroq. BrowserStack jismoniy qurilmalarda cheksiz daqiqalar bilan 3 ta foydalanuvchi uchun oyiga $299 Team rejasini taklif qiladi. AWS Device Farm qat’iy obunaga ega emas — to’lov har bir daqiqa uchun amalga oshiriladi, bu notekis yuklama uchun qulay, ammo intensiv foydalanishda qimmatroq.
Byudjetni hisoblashda quyidagilarni hisobga oling: test natijalarini saqlash (video, ekran tasvirlari, jurnallar) — AWS Device Farm natijalarni qo’shimcha to’lovsiz 90 kungacha saqlaydi, BrowserStack — 30 kungacha; katta APK/IPA yuklashda tarmoq trafigi; parallel seanslar soni — parallellikni oshirish qimmatroq tarifni talab qilishi mumkin.
Ko’p beriladigan savollar
Emulyator qurilmani kompyuteringizda dasturiy ravishda taqlid qiladi, Device Farm esa original proshivka, protsessor va sensorlarga ega haqiqiy jismoniy qurilmaga kirishni ta’minlaydi. Faqat haqiqiy qurilmada kamera, GPS, korpus harorati va operator tarmog’i bilan o’zaro aloqani tekshirish mumkin.
Ha, barcha yirik provayderlar iOS ni qo’llab-quvvatlaydi. Testlash uchun development sertifikati bilan yig’ilgan IPA fayli talab qilinadi. BrowserStack va AWS Device Farm jismoniy iPhone va iPad taqdim etadi, Firebase Test Lab iOS ni ma’lumot markazidagi macOS simulyatorlari orqali qo’llab-quvvatlaydi.
Jenkins plaginlar (masalan, AWS Device Farm Plugin) yoki build bosqichida ishga tushiriladigan CLI buyruqlari orqali integratsiyalanadi. Plagin avtomatik ravishda build natijalarini yuklaydi, tanlangan qurilmalarda testlarni ishga tushiradi va natijani Jenkins quvuriga qaytaradi.
Startap uchun Firebase Test Lab optimal — asosiy imkoniyatlar bepul, Android Studio bilan integratsiya qutidan tashqari ishlaydi. iOS loyihalari uchun BrowserStack 60 daqiqa bepul testni taklif qiladi. Jamoa o’sishi bilan to’liq qurilmalar parkiga ega pullik obunalarga o’tiladi.
Yirik provayderlar SOC 2 sertifikatiga rioya qiladi va ma’lumotlarni uzatish va saqlash vaqtida shifrlaydi. AWS Device Farm izolyatsiyalangan AWS hisoblarida ishlaydi, BrowserStack har bir seans uchun bir martalik qurilmalardan foydalanadi. Maxfiy ma’lumotlarni (API kalitlari) build konfiguratsiyasiga joylashtirish tavsiya etiladi.
Xulosalar
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.