Device Farm — je cloudová služba poskytující vzdálený přístup ke stovkám reálných mobilních zařízení pro automatické a ruční testování aplikací. Vývojáři nahrávají APK nebo IPA, vybírají konfigurace zařízení a spouštějí testy paralelně, aniž by kupovali fyzická zařízení. Podle zprávy Perfecto, 2025, týmy používající Device Farm zkracují dobu regresního testování o 73% ve srovnání s místními farmami zařízení.
Hlavní body
Device Farm — je infrastrukturní řešení pro testování mobilních aplikací, které poskytuje vzdálený přístup k fyzickým a virtuálním zařízením přes internet. Na rozdíl od nákupu a údržby vlastní laboratoře zařízení si vývojáři pronajímají čas na zařízeních jiných a platí pouze za skutečné použití.
Trh mobilních zařízení zahrnuje více než 24 000 jedinečných modelů Android smartphonů podle OpenSignal, 2025. Fyzické pořízení všech populárních modelů pro testování je nemožné — to by vyžadovalo miliony dolarů investic a neustálou aktualizaci vozového parku. Device Farm řeší tento problém poskytováním přístupu k aktuálním zařízením prostřednictvím předplatného.
Emulátory a simulátory pokrývají pouze 60–70% testovacích scénářů. Reálná zařízení jsou nezbytná pro kontrolu senzorů, kamery, GPS, úrovně baterie, výkonu na slabém hardwaru a chování při příchozích hovorech. Device Farm kombinuje oba přístupy: emulátory pro rychlé smoke testy a fyzická zařízení pro úplné ověření.
Device Farm je vhodná pro startupy vydávající první aplikaci, zralé produktové týmy s pravidelnými releasy a enterprise projekty s desítkami aplikací. Účelnost použití roste s počtem cílových zařízení a frekvencí vydání — čím více konfigurací je třeba zkontrolovat, tím výhodnější je cloudový model.
Typický scénář práce s Device Farm zahrnuje pět fází: nahrání buildu, výběr zařízení, konfigurace testů, spuštění, analýza výsledků. Každá fáze je automatizována přes API, což umožňuje vložení Device Farm do CI/CD pipeline bez ručního zásahu.
Vývojář nahraje sestavený APK (Android), AAB nebo IPA (iOS) soubor do cloudového úložiště poskytovatele. Některé služby, jako Firebase Test Lab, přijímají také přímo projekt Xcode nebo Android Studio. Velikost souboru je omezena: AWS Device Farm podporuje až 200 MB, BrowserStack — až 500 MB.
Z katalogu zařízení se vyberou cílové modely a verze OS. Moderní Device Farm podporují seskupování: „všechny vlajkové lodě 2024–2025” nebo „levné Androidy s Android 13–14”. Paralelní provádění umožňuje spustit jeden test současně na 10–50 zařízeních, čímž se celkový čas zkrátí na minuty.
Testy se provádějí na reálných zařízeních v datových centrech poskytovatele. Vývojář sleduje průběh přes webovou konzoli v reálném čase: logy, snímky obrazovky, videozáznam testu. Při selhání testu Device Farm pořídí snímek obrazovky a shromáždí crash log pro diagnostiku.
// Příklad konfigurace Device Farm v 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'''
}
}
}
}
Moderní Device Farm poskytují nejen spouštění testů, ale také pomocné nástroje pro diagnostiku, monitorování výkonu a integraci s dalšími vývojářskými službami. Sada funkcí se liší mezi poskytovateli, ale jádro zůstává stejné.
Všechny hlavní frameworky jsou podporovány: Espresso a UI Automator pro Android, XCTest a XCUITest pro iOS, Appium a Calabash pro cross-platform projekty. Device Farm spouští testy bez úpravy kódu — stačí při konfiguraci uvést testovací framework.
Vývojář získá vzdálený přístup k reálnému zařízení přes prohlížeč: dotyky, přejíždění, otáčení obrazovky, mačkání tlačítek — všechny akce jsou přenášeny v reálném čase. Interaktivní režim je nepostradatelný pro reprodukci vzácných chyb, které nejsou pokryty automatickými testy. AWS Device Farm poskytuje až 60 minut ruční relace bez dalšího poplatku.
Po každém spuštění Device Farm vygeneruje zprávu: videozáznam testu, snímky obrazovky krok za krokem, logy zařízení (logcat pro Android, syslog pro iOS), data o výkonu (CPU, paměť, síť) a crash stack. Tato data pomáhají lokalizovat problém bez reprodukce na lokálním zařízení.
Všichni velcí poskytovatelé Device Farm nabízejí pluginy pro Jenkins, GitLab CI, GitHub Actions a CircleCI. Webhook notifikace informují tým o výsledcích testů ve Slack, Telegramu nebo e-mailem. Konfigurace CI/CD integrace je standardní praxí pro týmy praktikující kontinuální doručování.
| Funkce | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Fyzická zařízení | Ano | Ano | Ano |
| Emulátory | Ano | Ano | Ano |
| Ruční testování | Ano | Ano | Ne |
| Lokalizace chyb | Video + logy | Video + logy | Pouze logy |
| Bezplatný limit | 1000 minut/měsíc | 60 minut zkušební doba | Testy ve Firebase — zdarma |
Trh Device Farm je zastoupen třemi hlavními kategoriemi: obecní cloudoví poskytovatelé (AWS), specializované testovací služby (BrowserStack) a nástroje v rámci ekosystému platformy (Firebase). Výběr závisí na technologickém stacku a rozpočtu týmu.
Integrováno s ekosystémem Amazon Web Services. Vývojáři, kteří již používají AWS pro hosting a CI/CD, získají jednotnou smlouvu a bezproblémovou integraci s CodePipeline a CodeBuild. AWS Device Farm podporuje testování Android, iOS a webových aplikací na fyzických zařízeních a emulátorech.
Největší nezávislý poskytovatel s parkem více než 3 000 reálných zařízení. BrowserStack je známý pohodlným webovým rozhraním, rychlostí poskytnutí zařízení (10–15 sekund) a podporou Appium bez složité konfigurace. Služba automaticky aktualizuje park zařízení do týdne od uvedení nového modelu.
Bezplatná služba od Googlu pro Android aplikace s možností testování iOS (omezeně). Firebase Test Lab je zvláště atraktivní pro startupy: základní testovací scénáře jsou dostupné bez předplatného. Integrace s Firebase Console a Crashlytics umožňuje propojení selhání testů s reálnými crashy v produkci.
Na trhu jsou přítomni Samsung Remote Test Lab (bezplatný přístup k zařízením Samsung), Kobiton (enterprise-orientovaný s on-premise nasazením), Perfecto (zakoupen společností Perforce, zaměření na finanční sektor) a Sauce Labs (jedna z nejstarších služeb, nyní součást Tricentis).
Podívejme se na integraci Firebase Test Lab s příkazovým řádkem pro Android aplikaci. Firebase Test Lab spouští testy přes gcloud CLI, což umožňuje vložení spuštění do libovolné CI pipeline bez dalších pluginů. Příklad ukazuje minimální konfiguraci smoke testu na třech zařízeních.
# Instalace gcloud CLI a autorizace
gcloud auth login
gcloud config set project my-android-app
# Nahrání APK do 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
Příkaz nahraje dva soubory: samotný build a testovací APK s instrumentačními testy Espresso. Firebase Test Lab automaticky vybere nejnovější dostupnou verzi OS pro každý model, pokud version není výslovně uvedena. Výsledky jsou uloženy v Google Cloud Storage ve formátu XML a HTML pro prohlížení v prohlížeči.
Pro automatické spouštění při každém push se používá GitHub Actions. Workflow sestaví aplikaci, spustí Firebase Test Lab a vrátí stav ověření.
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
Cena Device Farm se skládá z několika parametrů: počet paralelních relací, typ zařízení (fyzické nebo emulátor), doba testování a doplňkové funkce. Je důležité porozumět struktuře nákladů před výběrem poskytovatele, aby se předešlo neočekávaným výdajům při škálování.
Většina poskytovatelů účtuje podle skutečné doby použití zařízení. Fyzická zařízení stojí 2–5krát více než emulátory. AWS Device Farm nabízí 1000 bezplatných minut měsíčně pro nové účty, BrowserStack — 60 minut zkušební doby. Průměrné náklady na minutu na fyzickém Android zařízení činí $0.05–0.17.
Pro pravidelné testování je výhodnější pevné předplatné. BrowserStack nabízí plán Team za $299/měsíc pro 3 uživatele s neomezeným počtem minut na fyzických zařízeních. AWS Device Farm nemá pevné předplatné — platba je za každou minutu, což je výhodné při nepravidelné zátěži, ale dražší při intenzivním používání.
Při výpočtu rozpočtu zohledněte: ukládání testovacích artefaktů (video, snímky obrazovky, logy) — AWS Device Farm uchovává výsledky až 90 dní bez dalšího poplatku, BrowserStack — až 30 dní; síťový provoz při nahrávání velkých APK/IPA; počet paralelních relací — zvýšení paralelismu může vyžadovat dražší plán.
Často kladené otázky
Emulátor napodobuje zařízení softwarově na vašem počítači, zatímco Device Farm poskytuje přístup k reálnému fyzickému zařízení s originálním firmwarem, procesorem a senzory. Pouze na reálném zařízení můžete zkontrolovat kameru, GPS, teplotu pouzdra a interakci se sítí operátora.
Ano, všichni velcí poskytovatelé podporují iOS. Pro testování je vyžadován IPA soubor sestavený s development certifikátem. BrowserStack a AWS Device Farm poskytují fyzické iPhone a iPad, Firebase Test Lab podporuje iOS přes macOS simulátory v datovém centru.
Jenkins se integruje pomocí pluginů (např. AWS Device Farm Plugin) nebo pomocí CLI příkazů spouštěných ve fázi sestavení. Plugin automaticky nahraje artefakty sestavení, spustí testy na vybraných zařízeních a vrátí výsledek do Jenkins pipeline.
Pro startup je optimální Firebase Test Lab — základní funkce jsou zdarma, integrace s Android Studio funguje ihned. Pro iOS projekty nabízí BrowserStack 60 minut bezplatného testování. S růstem týmu se přechází na placená předplatná s plným parkem zařízení.
Velcí poskytovatelé dodržují certifikaci SOC 2 a šifrují data při přenosu a ukládání. AWS Device Farm pracuje v izolovaných AWS účtech, BrowserStack používá jednorázová zařízení pro každou relaci. Důvěrná data (API klíče) se doporučuje umístit do konfigurace sestavení.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také