Device Farm: co to jest, usługi w chmurze i rzeczywiste urządzenia

Autor: IT Sectr Opublikowano: 2026-04-11 Czas czytania: 9 min

Device Farm „ to usługa w chmurze zapewniająca zdalny dostęp do setek rzeczywistych urządzeń mobilnych do automatycznego i ręcznego testowania aplikacji. Deweloperzy przesyłają APK lub IPA, wybierają konfiguracje urządzeń i uruchamiają testy równolegle, nie kupując fizycznych urządzeń. Według raportu Perfecto, 2025, zespoły korzystające z Device Farm skracają czas testów regresyjnych o 73% w porównaniu z lokalnymi farmami urządzeń.

Najważniejsze

  • Device Farm — chmurowa farma rzeczywistych urządzeń mobilnych dostępna w subskrypcji
  • Równoległe uruchamianie testów na wielu urządzeniach skraca czas weryfikacji z dni do godzin
  • AWS Device Farm, BrowserStack i Firebase Test Lab — trzej najwięksi dostawcy
  • Testowanie międzyprzeglądarkowe obsługiwane na emulatorach i symulatorach
  • Integracja CI/CD umożliwia automatyczne uruchamianie testów na Device Farm przy każdym commicie

Co to jest Device Farm

Device Farm — to rozwiązanie infrastrukturalne do testowania aplikacji mobilnych, zapewniające zdalny dostęp do fizycznych i wirtualnych urządzeń przez internet. W przeciwieństwie do zakupu i utrzymywania własnego laboratorium urządzeń, deweloperzy wynajmują czas na cudzych urządzeniach, płacąc tylko za faktyczne użycie.

Po co potrzebna jest Device Farm

Rynek urządzeń mobilnych obejmuje ponad 24 000 unikalnych modeli smartfonów z Androidem według OpenSignal, 2025. Fizyczne nabycie wszystkich popularnych modeli do testowania jest niemożliwe — wymagałoby to milionów dolarów inwestycji i ciągłej aktualizacji parku maszynowego. Device Farm rozwiązuje ten problem, zapewniając dostęp do aktualnych urządzeń w subskrypcji.

Urządzenia fizyczne a emulatory

Emulatory i symulatory pokrywają tylko 60–70% scenariuszy testowych. Rzeczywiste urządzenia są niezbędne do sprawdzenia czujników, aparatu, GPS, poziomu naładowania baterii, wydajności na słabym sprzęcie i zachowania podczas połączeń przychodzących. Device Farm łączy oba podejścia: emulatory do szybkich testów smoke i fizyczne urządzenia do pełnej weryfikacji.

Dla kogo jest Device Farm

Device Farm jest odpowiednia dla startupów wypuszczających pierwszą aplikację, dojrzałych zespołów produktowych z regularnymi wydaniami oraz projektów enterprise z dziesiątkami aplikacji. Opłacalność użycia rośnie wraz z liczbą docelowych urządzeń i częstotliwością wydań — im więcej konfiguracji trzeba sprawdzić, tym bardziej opłaca się model chmurowy.

Jak działa Device Farm

Typowy scenariusz pracy z Device Farm obejmuje pięć etapów: przesłanie buildu, wybór urządzeń, konfiguracja testów, uruchomienie, analiza wyników. Każdy etap jest automatyzowany przez API, co umożliwia wbudowanie Device Farm w potok CI/CD bez ręcznej interwencji.

Przesyłanie aplikacji

Deweloper przesyła zbudowany APK (Android), AAB lub IPA (iOS) do chmurowego magazynu dostawcy. Niektóre usługi, jak Firebase Test Lab, przyjmują również projekt Xcode lub Android Studio bezpośrednio. Rozmiar pliku jest ograniczony: AWS Device Farm obsługuje do 200 MB, BrowserStack — do 500 MB.

Wybór konfiguracji

Z katalogu urządzeń wybiera się docelowe modele i wersje OS. Nowoczesne Device Farm obsługują grupowanie: „wszystkie flagowce 2024–2025” lub „budżetowe Androidy z Android 13–14”. Równoległe wykonanie pozwala uruchomić jeden test jednocześnie na 10–50 urządzeniach, skracając całkowity czas do minut.

Uruchomienie i monitorowanie

Testy są wykonywane na rzeczywistych urządzeniach w centrach danych dostawcy. Deweloper obserwuje postęp przez konsolę internetową w czasie rzeczywistym: logi, zrzuty ekranu, wideo z przejścia testu. W przypadku niepowodzenia testu Device Farm robi zrzut ekranu i zbiera log crasha do diagnostyki.

groovy
// Przykład konfiguracji Device Farm w 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'''
            }
        }
    }
}

Kluczowe możliwości Device Farm

Nowoczesne Device Farm zapewniają nie tylko uruchamianie testów, ale także narzędzia pomocnicze do diagnostyki, monitorowania wydajności i integracji z innymi usługami deweloperskimi. Zestaw funkcji różni się między dostawcami, ale rdzeń pozostaje wspólny.

Automatyczne testowanie

Obsługiwane są wszystkie główne frameworki: Espresso i UI Automator dla Androida, XCTest i XCUITest dla iOS, Appium i Calabash dla projektów wieloplatformowych. Device Farm uruchamia testy bez modyfikacji kodu — wystarczy wskazać framework testowy przy konfiguracji.

Ręczne testowanie interaktywne

Deweloper otrzymuje zdalny dostęp do rzeczywistego urządzenia przez przeglądarkę: dotknięcia, przesuwanie, obracanie ekranu, naciskanie przycisków — wszystkie działania są transmitowane w czasie rzeczywistym. Tryb interaktywny jest niezastąpiony do odtwarzania rzadkich błędów, które nie są objęte automatycznymi testami. AWS Device Farm zapewnia do 60 minut ręcznej sesji bez dodatkowej opłaty.

Zbieranie danych diagnostycznych

Po każdym uruchomieniu Device Farm generuje raport: nagranie wideo testu, zrzuty ekranu krok po kroku, logi urządzenia (logcat dla Androida, syslog dla iOS), dane o wydajności (CPU, pamięć, sieć) oraz stos crasha. Te dane pomagają zlokalizować problem bez odtwarzania na lokalnym urządzeniu.

Integracja CI/CD

Wszyscy duzi dostawcy Device Farm oferują wtyczki do Jenkins, GitLab CI, GitHub Actions i CircleCI. Powiadomienia webhook informują zespół o wynikach testów w Slack, Telegram lub email. Konfiguracja integracji CI/CD to standardowa praktyka dla zespołów praktykujących ciągłe dostarczanie.

FunkcjaAWS Device FarmBrowserStackFirebase Test Lab
Urządzenia fizyczneTakTakTak
EmulatoryTakTakTak
Ręczne testowanieTakTakNie
Lokalizacja błędówWideo + logiWideo + logiTylko logi
Darmowy limit1000 minut/miesiąc60 minut próbnyTesty w Firebase — za darmo

Rynek Device Farm jest reprezentowany przez trzy główne kategorie: ogólnego przeznaczenia dostawcy chmurowi (AWS), specjalistyczne usługi testowania (BrowserStack) oraz narzędzia w ekosystemie platformy (Firebase). Wybór zależy od stosu technologicznego i budżetu zespołu.

AWS Device Farm

Zintegrowany z ekosystemem Amazon Web Services. Deweloperzy już używający AWS do hostingu i CI/CD otrzymują jedną umowę i bezproblemową integrację z CodePipeline i CodeBuild. AWS Device Farm obsługuje testowanie aplikacji Android, iOS i internetowych na fizycznych urządzeniach i emulatorach.

BrowserStack App Automate

Największy niezależny dostawca z parkiem ponad 3 000 rzeczywistych urządzeń. BrowserStack słynie z wygodnego interfejsu internetowego, szybkości udostępniania urządzenia (10–15 sekund) i obsługi Appium bez skomplikowanej konfiguracji. Usługa automatycznie aktualizuje park urządzeń w ciągu tygodnia po premierze nowego modelu.

Firebase Test Lab

Darmowa usługa od Google dla aplikacji Android z możliwością testowania iOS (ograniczona). Firebase Test Lab jest szczególnie atrakcyjny dla startupów: podstawowe scenariusze testowe są dostępne bez subskrypcji. Integracja z Firebase Console i Crashlytics umożliwia łączenie niepowodzeń testów z rzeczywistymi crashami w produkcji.

Inni dostawcy

Na rynku obecni są Samsung Remote Test Lab (darmowy dostęp do urządzeń Samsung), Kobiton (zorientowany na enterprise z wdrożeniem on-premise), Perfecto (przejęty przez Perforce, skupiony na sektorze finansowym) i Sauce Labs (jedna z najstarszych usług, obecnie część Tricentis).

Przykład uruchamiania testów na Device Farm

Rozważmy integrację Firebase Test Lab z wierszem poleceń dla aplikacji Android. Firebase Test Lab uruchamia testy przez gcloud CLI, co umożliwia wbudowanie uruchomienia w dowolny potok CI bez dodatkowych wtyczek. Przykład pokazuje minimalną konfigurację testu smoke na trzech urządzeniach.

bash
# Instalacja gcloud CLI i autoryzacja
gcloud auth login
gcloud config set project my-android-app

# Wgrywanie 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

Polecenie przesyła dwa pliki: sam build i testowy APK z testami instrumentalnymi Espresso. Firebase Test Lab automatycznie wybiera najnowszą dostępną wersję OS dla każdego modelu, jeśli version nie jest jawnie określona. Wyniki są zapisywane w Google Cloud Storage w formacie XML i HTML do przeglądania w przeglądarce.

Integracja z GitHub Actions

Do automatycznego uruchamiania przy każdym push-u używany jest GitHub Actions. Workflow buduje aplikację, uruchamia Firebase Test Lab i zwraca status weryfikacji.

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

Modele cenowe Device Farm

Koszt Device Farm składa się z kilku parametrów: liczba równoległych sesji, typ urządzenia (fizyczne lub emulator), czas trwania testowania i dodatkowe funkcje. Ważne jest zrozumienie struktury kosztów przed wyborem dostawcy, aby uniknąć nieoczekiwanych wydatków przy skalowaniu.

Minuty testowania

Większość dostawców taryfikuje faktyczny czas użycia urządzenia. Urządzenia fizyczne kosztują 2–5 razy więcej niż emulatory. AWS Device Farm oferuje 1000 darmowych minut miesięcznie dla nowych kont, BrowserStack — 60 minut okresu próbnego. Średni koszt minuty na fizycznym urządzeniu z Androidem wynosi $0.05–0.17.

Subskrypcja zespołowa

Do regularnego testowania bardziej opłaca się stała subskrypcja. BrowserStack oferuje plan Team za $299/mies. na 3 użytkowników z nieograniczoną liczbą minut na fizycznych urządzeniach. AWS Device Farm nie ma płaskiej subskrypcji — płatność jest za każdą minutę, co jest wygodne przy nieregularnym obciążeniu, ale droższe przy intensywnym użyciu.

Ukryte koszty

Przy kalkulacji budżetu uwzględnij: przechowywanie artefaktów testowania (wideo, zrzuty ekranu, logi) — AWS Device Farm przechowuje wyniki do 90 dni bez dodatkowej opłaty, BrowserStack — do 30 dni; ruch sieciowy przy przesyłaniu dużych APK/IPA; liczbę równoległych sesji — zwiększenie równoległości może wymagać droższego planu.

Często zadawane pytania

Czym Device Farm różni się od zwykłego emulatora?

Emulator imituje urządzenie programowo na twoim komputerze, a Device Farm zapewnia dostęp do rzeczywistego fizycznego urządzenia z oryginalnym oprogramowaniem, procesorem i czujnikami. Tylko na rzeczywistym urządzeniu można sprawdzić aparat, GPS, temperaturę obudowy i interakcję z siecią operatora.

Czy można używać Device Farm do aplikacji iOS?

Tak, wszyscy duzi dostawcy obsługują iOS. Do testowania wymagany jest plik IPA zbudowany z certyfikatem deweloperskim. BrowserStack i AWS Device Farm zapewniają fizyczne iPhone i iPad, Firebase Test Lab obsługuje iOS przez symulatory macOS w centrum danych.

Jak Device Farm integruje się z Jenkins?

Jenkins integruje się przez wtyczki (np. AWS Device Farm Plugin) lub przez polecenia CLI uruchamiane na etapie budowania. Wtyczka automatycznie przesyła artefakty budowania, uruchamia testy na wybranych urządzeniach i zwraca wynik do potoku Jenkins.

Którą Device Farm wybrać dla startupu?

Dla startupu optymalny jest Firebase Test Lab — podstawowe funkcje są darmowe, integracja z Android Studio działa od razu. Dla projektów iOS BrowserStack oferuje 60 minut darmowego testowania. W miarę rozwoju zespołu przechodzi się na płatne subskrypcje z pełnym parkiem urządzeń.

Czy bezpiecznie jest przesyłać aplikację do Device Farm?

Dużi dostawcy przestrzegają certyfikacji SOC 2 i szyfrują dane podczas przesyłania i przechowywania. AWS Device Farm działa w izolowanych kontach AWS, BrowserStack używa jednorazowych urządzeń dla każdej sesji. Wrażliwe dane (klucze API) zaleca się umieszczać w konfiguracji budowania.

Podsumowanie

  • Device Farm — chmurowa infrastruktura do testowania na rzeczywistych urządzeniach, zastępująca fizyczne laboratorium
  • Równoległe uruchamianie testów na dziesiątkach urządzeń skraca czas testów regresyjnych z dni do 1–2 godzin
  • AWS Device Farm, BrowserStack i Firebase Test Lab — trzej główni dostawcy z różnymi modelami cenowymi
  • Urządzenia fizyczne są niezbędne do sprawdzenia czujników, wydajności i interakcji z OS
  • Integracja CI/CD Device Farm z Jenkins, GitHub Actions i GitLab CI zapewnia automatyczne testowanie przy każdym commicie
  • Wybór dostawcy zależy od stosu technologicznego: Firebase jest wygodny dla Android, BrowserStack — dla projektów wieloplatformowych, AWS — dla zespołów w ekosystemie Amazon
  • Zalecenie: zaczynaj od Firebase Test Lab dla Android i BrowserStack dla iOS, następnie skaluj do AWS Device Farm przy rozwoju zespołu

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również