Device Farm — är en molntjänst som ger fjärråtkomst till hundratals verkliga mobila enheter för automatisk och manuell testning av applikationer. Utvecklare laddar upp APK eller IPA, väljer enhetskonfigurationer och kör tester parallellt utan att köpa fysiska enheter. Enligt rapporten Perfecto, 2025, minskar team som använder Device Farm tiden för regressionstestning med 73% jämfört med lokala enhetsfarmar.
Huvudpunkter
Device Farm — är en infrastrukturlösning för testning av mobila applikationer som ger fjärråtkomst till fysiska och virtuella enheter via internet. Till skillnad från att köpa och underhålla ett eget enhetslaboratorium hyr utvecklare tid på andras enheter och betalar endast för faktisk användning.
Marknaden för mobila enheter omfattar över 24 000 unika Android-smartphonemodeller enligt OpenSignal, 2025. Att fysiskt köpa alla populära modeller för testning är omöjligt — detta skulle kräva miljontals dollar i investeringar och konstant förnyelse av flottan. Device Farm löser detta problem genom att ge tillgång till aktuella enheter via prenumeration.
Emulatorer och simulatorer täcker endast 60–70% av testsängen. Verkliga enheter behövs för att kontrollera sensorer, kamera, GPS, batterinivå, prestanda på svag hårdvara och beteende vid inkommande samtal. Device Farm kombinerar båda metoderna: emulatorer för snabba smoke-tester och fysiska enheter för fullständig verifiering.
Device Farm är lämplig för startups som lanserar sin första app, mogna produktteam med regelbundna releaser och enterprise-projekt med dussintals applikationer. Andamålsenligheten ökar med antalet målenheter och releasefrekvensen — ju fler konfigurationer som behöver kontrolleras, desto mer fördelaktig är molnmodellen.
Det typiska arbetsscenariot med Device Farm omfattar fem steg: uppladdning av build, val av enheter, konfigurering av tester, körning, analys av resultat. Varje steg automatiseras via API, vilket gör det möjligt att bädda in Device Farm i CI/CD-pipelinen utan manuell intervention.
Utvecklaren laddar upp den byggda APK- (Android), AAB- eller IPA-filen (iOS) till leverantörens molnlagring. Vissa tjänster, som Firebase Test Lab, accepterar även Xcode- eller Android Studio-projekt direkt. Filstorleken är begränsad: AWS Device Farm stöder upp till 200 MB, BrowserStack — upp till 500 MB.
Från enhetskatalogen väljs målmodeller och OS-versioner. Moderna Device Farm stöder gruppering: “alla flaggskepp 2024–2025” eller “budget Android-enheter med Android 13–14”. Parallell exekvering gör det möjligt att köra ett test samtidigt på 10–50 enheter, vilket minskar totaltiden till minuter.
Testen utförs på verkliga enheter i leverantörens datacenter. Utvecklaren följer förloppet via webbkonsolen i realtid: loggar, skärmbilder, videoinspelning av testet. Vid testmisslyckande tar Device Farm en skärmbild och samlar in crashloggen för diagnos.
// Exempel på Device Farm-konfiguration i 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'''
}
}
}
}
Moderna Device Farm erbjuder inte bara körning av tester utan även hjälpverktyg för diagnos, prestandaövervakning och integration med andra utvecklingstjänster. Funktionsuppsättningen varierar mellan leverantörer, men kärnan är densamma.
Alla större ramverk stöds: Espresso och UI Automator för Android, XCTest och XCUITest för iOS, Appium och Calabash för plattformsoberoende projekt. Device Farm kör tester utan kodändringar — det räcker att ange testramverket vid konfigurationen.
Utvecklaren får fjärråtkomst till en verklig enhet via webbläsaren: beröringar, svep, skärmrotation, knapptryckningar — alla åtgärder överförs i realtid. Interaktivt läge är oumbärligt för att reproducera sällsynta buggar som inte täcks av automatiska tester. AWS Device Farm erbjuder upp till 60 minuters manuell session utan extra kostnad.
Efter varje körning genererar Device Farm en rapport: videoinspelning av testet, steg-för-steg-skärmbilder, enhetsloggar (logcat för Android, syslog för iOS), prestandadata (CPU, minne, nätverk) och crash-stacken. Dessa data hjälper till att lokalisera problemet utan att reproducera det på en lokal enhet.
Alla större Device Farm-leverantörer erbjuder plugin-program för Jenkins, GitLab CI, GitHub Actions och CircleCI. Webhook-meddelanden informerar teamet om testresultat i Slack, Telegram eller e-post. Att konfigurera CI/CD-integration är standardpraxis för team som tillämpar kontinuerlig leverans.
| Funktion | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Fysiska enheter | Ja | Ja | Ja |
| Emulatorer | Ja | Ja | Ja |
| Manuell testning | Ja | Ja | Nej |
| Bugglokalisering | Video + loggar | Video + loggar | Endast loggar |
| Gratis gräns | 1000 minuter/månad | 60 minuter provperiod | Tester i Firebase — gratis |
Device Farm-marknaden representeras av tre huvudkategorier: generella molnleverantörer (AWS), specialiserade testtjänster (BrowserStack) och verktyg inom plattformens ekosystem (Firebase). Valet beror på teknikstacken och teamets budget.
Integrerad med Amazon Web Services ekosystem. Utvecklare som redan använder AWS för hosting och CI/CD får ett enhetligt kontrakt och sömlös integration med CodePipeline och CodeBuild. AWS Device Farm stöder testning av Android-, iOS- och webbapplikationer på fysiska enheter och emulatorer.
Största oberoende leverantören med en flotta på över 3 000 verkliga enheter. BrowserStack är känd för sitt bekväma webbgränssnitt, snabb enhetstilldelning (10–15 sekunder) och stöd för Appium utan komplex konfiguration. Tjänsten uppdaterar automatiskt enhetsflottan inom en vecka efter lanseringen av en ny modell.
Gratis tjänst från Google för Android-applikationer med möjlighet att testa iOS (begränsat). Firebase Test Lab är särskilt attraktivt för startups: grundläggande testsäng är tillgängliga utan prenumeration. Integration med Firebase Console och Crashlytics gör det möjligt att koppla testmisslyckanden till verkliga krascher i produktion.
På marknaden finns Samsung Remote Test Lab (gratis åtkomst till Samsung-enheter), Kobiton (enterprise-orienterad med on-premise-distribution), Perfecto (förvärvat av Perforce, fokus på finanssektorn) och Sauce Labs (en av de äldsta tjänsterna, nu en del av Tricentis).
Låt oss titta på integrationen av Firebase Test Lab med kommandoraden för en Android-applikation. Firebase Test Lab kör tester via gcloud CLI, vilket gör det möjligt att bädda in körningen i valfri CI-pipeline utan extra plugin-program. Exemplet visar en minimal smoke-testkonfiguration på tre enheter.
# Installation av gcloud CLI och autentisering
gcloud auth login
gcloud config set project my-android-app
# Ladda upp APK till 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
Kommandot laddar upp två filer: själva builden och test-APK med Espressos instrumenteringstester. Firebase Test Lab väljer automatiskt den senaste tillgängliga OS-versionen för varje modell, om version inte anges explicit. Resultaten sparas i Google Cloud Storage i XML- och HTML-format för visning i webbläsaren.
För automatisk körning vid varje push används GitHub Actions. Arbetsflödet bygger applikationen, kör Firebase Test Lab och returnerar verifieringsstatusen.
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
Kostnaden för Device Farm består av flera parametrar: antal parallella sessioner, enhetstyp (fysisk eller emulator), testningens längd och extra funktioner. Det är viktigt att förstå kostnadsstrukturen innan du väljer leverantör för att undvika oväntade utgifter vid skalning.
De flesta leverantörer fakturerar baserat på faktisk enhetsanvändningstid. Fysiska enheter kostar 2–5 gånger mer än emulatorer. AWS Device Farm erbjuder 1000 gratis minuter per månad för nya konton, BrowserStack — 60 minuters provperiod. Genomsnittlig kostnad per minut på en fysisk Android-enhet är $0.05–0.17.
För regelbunden testning är en fast prenumeration mer fördelaktig. BrowserStack erbjuder Team-planen för $299/månad för 3 användare med obegränsade minuter på fysiska enheter. AWS Device Farm har ingen fast prenumeration — betalning sker per minut, vilket är bekvämt vid oregelbunden belastning men dyrare vid intensiv användning.
När du beräknar budgeten, ta hänsyn till: lagring av testartefakter (video, skärmbilder, loggar) — AWS Device Farm sparar resultat i upp till 90 dagar utan extra kostnad, BrowserStack — upp till 30 dagar; nätverkstrafik vid uppladdning av stora APK/IPA-filer; antal parallella sessioner — ökad parallellitet kan kräva en dyrare plan.
Vanliga frågor
En emulator imiterar enheten programvarumässigt på din dator, medan Device Farm ger tillgång till en verklig fysisk enhet med original firmware, processor och sensorer. Endast på en verklig enhet kan du kontrollera kameran, GPS, chassitemperatur och interaktion med operatörens nätverk.
Ja, alla större leverantörer stöder iOS. För testning krävs en IPA-fil byggd med ett utvecklingscertifikat. BrowserStack och AWS Device Farm tillhandahåller fysiska iPhone och iPad, Firebase Test Lab stöder iOS via macOS-simulatorer i datacentret.
Jenkins integreras via plugin-program (t.ex. AWS Device Farm Plugin) eller via CLI-kommandon som körs i byggskedet. Plugin-programmet laddar automatiskt upp byggartefakter, kör tester på valda enheter och returnerar resultatet till Jenkins-pipelinen.
För en startup är Firebase Test Lab optimalt — grundläggande funktioner är gratis, integration med Android Studio fungerar direkt. För iOS-projekt erbjuder BrowserStack 60 minuters gratis testning. När teamet växer går man över till betalda prenumerationer med full enhetsflotta.
Större leverantörer följer SOC 2-certifiering och krypterar data under överföring och lagring. AWS Device Farm arbetar inom isolerade AWS-konton, BrowserStack använder engångsenheter för varje session. Känsliga data (API-nycklar) rekommenderas att placeras i byggkonfigurationen.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också