Firebase Test Lab — wat is het, soorten tests op apparaten en automatisering

Auteur: IT Sectr Gepubliceerd: 2026-04-29 Leestijd: 9 min

Firebase Test Lab is een cloudservice van Google voor geautomatiseerd testen van mobiele apps op echte apparaten in Google-datacenters. Test Lab maakt het mogelijk instrumentele tests, schermafbeeldingtests en robottests uit te voeren op honderden apparaatconfiguraties met verschillende versies van Android en iOS, zonder dat u een eigen apparaatfarm hoeft te onderhouden. Volgens Firebase Documentation, 2026 doorloopt Firebase-robot testen automatisch alle schermen van de app, waarbij crashes, ANR's en UI-problemen worden gedetecteerd zonder een enkele regel testcode te schrijven. De service ondersteunt integratie met CI/CD-systemen en levert gedetailleerde rapporten met video en logs.

Belangrijkste punten

  • Firebase Test Lab — cloudservice voor het testen van mobiele apps op echte apparaten in Google-datacenters, met betaling alleen voor gebruikte tijd.
  • Robottests — automatisch verkennen van de app: Firebase Crawler doorloopt alle schermen, klikt op knoppen en vult formulieren in, waarbij bugs worden geregistreerd zonder code te schrijven.
  • Instrumentele tests — uitvoeren van Espresso-, XCTest- en UI Automator-tests op echte apparaten met parallelle uitvoering op verschillende configuraties.
  • Apparaatmatrix — tests worden tegelijkertijd uitgevoerd op een geselecteerde set apparaten met verschillende OS-versies, schermoriëntaties en talen.
  • Rapporten — na het testen zijn logs, schermafbeeldingen, testvideo's en een samenvatting met gevonden fouten en prestaties beschikbaar.

Wat is Firebase Test Lab

Firebase Test Lab is de cloudinfrastructuur van Google voor geautomatiseerd testen van mobiele apps op fysieke apparaten in wereldwijde Google-datacenters. In tegenstelling tot emulators op een lokale machine voert Test Lab tests uit op echte Android- en iOS-apparaten met verschillende versies van besturingssystemen, schermresoluties, hoeveelheden RAM en API-niveaus. De service verwerkt automatisch testresultaten en biedt video van de uitvoering, schermafbeeldingen van stappen en gedetailleerde logs.

Voordelen van cloudtesten

Het bezitten van een eigen apparaatfarm vereist aanzienlijke kapitaalinvesteringen voor de aanschaf en het onderhoud van fysieke apparaten. Firebase Test Lab biedt toegang tot duizenden apparaten op basis van betalen per gebruik (pay-per-use) met een gratis limiet op het Spark-plan. Test Lab werkt het apparaatpark automatisch bij naar de nieuwste modellen, waaronder de nieuwste vlaggenschepen Google Pixel, Samsung Galaxy, Xiaomi en iPhone. Tests worden parallel op meerdere apparaten uitgevoerd, wat de totale verificatietijd van de app verkort.

Ondersteunde platforms

Voor Android ondersteunt Test Lab testen op apparaten met API-niveau 21 tot de nieuwste stabiele Android-versie. Ondersteuning voor iOS omvat echte iPhone- en iPad-apparaten met iOS-versies van 15 tot de nieuwste stabiele versie. Voor iOS zijn robottest en XCTest beschikbaar. Elke test kan worden uitgevoerd op fysieke apparaten of emulators — voor maximaal nauwkeurige resultaten raadt Google het gebruik van fysieke apparaten aan, omdat ze problemen met sensoren, camera en netwerkinterfaces aan het licht brengen.

Soorten tests in Firebase Test Lab

Firebase Test Lab ondersteunt verschillende soorten tests, die elk hun eigen taak vervullen in de ontwikkelingscyclus: robottests voor snelle stabiliteitscontrole, instrumentele tests voor functionele verificatie en schermafbeeldingtests voor het detecteren van visuele regressies. De keuze van het testtype hangt af van de ontwikkelingsfase en de doelen van de specifieke uitvoering.

Robottests (Robo tests)

Robottests zijn een unieke mogelijkheid van Firebase Test Lab waarvoor geen testcode hoeft te worden geschreven. Firebase Crawler verkent automatisch de app: vindt alle interactieve UI-elementen, klikt erop, vult formulieren met testgegevens, navigeert tussen schermen en registreert eventuele storingen (crash, ANR, uitzonderingen). Robottests detecteren tot 80% van de kritieke bugs zonder een enkele regel testcode, wat ze ideaal maakt voor het beoordelen van de basisstabiliteit van een app in vroege ontwikkelingsfasen.

Instrumentele tests (Instrumentation tests)

Instrumentele tests zijn tests die door de ontwikkelaar zijn geschreven met behulp van de frameworks Espresso (Android) of XCTest (iOS). Test Lab voert de APK met tests uit op het doelapparaat en verzamelt de uitvoeringsresultaten. Tests kunnen eenvoudig zijn (controleren van weergave van elementen) of complex (end-to-end scenario's: authenticatie, toevoegen aan winkelwagen, bestelling plaatsen). Firebase Test Lab ondersteunt Android Test Orchestrator voor het isoleren van tests van elkaar, wat voorkomt dat een mislukte test de andere beïnvloedt.

Schermafbeeldingtests (Game loop en schermafbeeldingen)

Schermafbeeldingtests worden gebruikt voor het detecteren van visuele regressies in de app. Game loop is een speciaal testtype dat via intent een lijst met scenario's naar de app stuurt, waarna de app deze scenario's moet uitvoeren en schermafbeeldingen van belangrijke schermen moet maken. Test Lab verzamelt schermafbeeldingen van alle apparaten in de matrix en maakt het mogelijk deze te vergelijken met referentiebeelden om verschillen te detecteren. Dit testtype is vooral populair in game-apps voor het controleren van rendering op verschillende GPU's.

TesttypeCodeWat het controleertWanneer gebruiken
RobottestNiet vereistCrash, ANR, uitzonderingenSnelle stabiliteitscontrole
InstrumenteelEspresso / XCTestFunctionaliteit van scenario'sRegressietesten
SchermafbeeldingGame loopVisuele regressiesUI controleren op verschillende apparaten

Apparaatmatrix en configuraties

De testmatrix in Firebase Test Lab is een set apparaatconfiguraties waarop de geselecteerde test wordt uitgevoerd. Elke configuratie omvat het apparaatmodel, de OS-versie, de schermoriëntatie (staand/liggend) en regionale instellingen (lokaal, taal). De test wordt parallel uitgevoerd op alle geselecteerde configuraties, wat de totale uitvoeringstijd aanzienlijk verkort in vergelijking met sequentiële uitvoering op elk apparaat.

Apparaten selecteren voor de matrix

Google raadt aan om apparaten met verschillende kenmerken in de matrix op te nemen: een vlaggenschipmodel (Google Pixel, Samsung Galaxy S), een budgetapparaat (Moto G, Xiaomi Redmi), een apparaat met de minimale API-versie die de app ondersteunt. De optimale matrix omvat 5–10 configuraties die alle OS-versies dekken die de app ondersteunt. Voor iOS worden iPhones en iPads van verschillende generaties (bijv. iPhone SE, iPhone 14, iPad Air) geselecteerd met verschillende iOS-versies.

Testgroepering en parallellisme

Test Lab verdeelt automatisch de tests over de geselecteerde apparaten, waarbij elke test op elke configuratie wordt uitgevoerd. De uitvoeringstijd van de hele matrix is gelijk aan de uitvoeringstijd van de langzaamste test op het langzaamste apparaat — alle andere worden parallel uitgevoerd. Als een test op alle apparaten faalt, stopt Test Lab de uitvoering op de resterende configuraties om middelen te besparen. Resultaten worden gegroepeerd per test en per apparaat, waardoor snel kan worden bepaald of een fout specifiek is voor een bepaalde configuratie.

Robottest: automatisch verkennen

Robottest is een vlaggenschipmogelijkheid van Firebase Test Lab waarmee u de app automatisch kunt verkennen zonder een enkele test te schrijven. Firebase Crawler (de robot) analyseert de UI-hiërarchie van de app, vindt alle interactieve elementen (knoppen, tekstvelden, lijsten, menu's) en gaat ermee in interactie, waarbij het gedrag van een echte gebruiker wordt gesimuleerd. Robottest is vooral effectief in vroege ontwikkelingsfasen, wanneer tests nog niet zijn geschreven, of voor het controleren van legacy-code.

Robottest configureren

Om een robottest uit te voeren, volstaat het om een APK of IPA te uploaden naar Firebase Console en de optie Robo test te selecteren. De robot kan automatisch inloggen op de app via vooraf geconfigureerde credentials (login/wachtwoord) om toegang te krijgen tot schermen die achter authenticatie verborgen zijn. U kunt ook de verkenningsdiepte (max depth) instellen om het aantal stappen van de robot te beperken, of specifieke elementen aangeven die de robot prioriteit moet geven.

xml
<!-- res/xml/robo_directives.xml -->
<!-- De robot vult de login- en wachtwoordvelden in -->
<?xml version="1.0" encoding="utf-8"?>
<robo-directives
    xmlns:android="http://schemas.android.com/apk/res/android">
    <directive
        android:resourceName="@id/et_email"
        android:inputValue="test@example.com" />
    <directive
        android:resourceName="@id/et_password"
        android:inputValue="password123" />
    <directive
        android:resourceName="@id/btn_login"
        android:clickAction="CLICK" />
</robo-directives>

Beperkingen van robottests

Robottests vervangen geen handmatig testen en geschreven instrumentele tests voor complexe scenario's. De robot kan de bedrijfslogica niet controleren: hij klikt op alle elementen op rij, maar weet niet of het resultaat correct is. Ook kan de robot niet interageren met aangepaste views die niet overerven van standaard ViewGroup en verwerkt hij geen WebView. Voor deze gevallen moeten instrumentele tests of Game loop worden gebruikt.

Integratie met CI/CD en Gradle

Integratie van Firebase Test Lab met CI/CD-systemen maakt automatisch testen mogelijk bij elke push naar de repository. Test Lab ondersteunt Gradle-taken voor Android en Fastlane voor beide platforms. Het configureren van een CI/CD-pijplijn omvat het bouwen van de app, uploaden van APK/IPA naar Google Cloud Storage, uitvoeren van tests via Firebase CLI en het ontvangen van rapporten terug in het CI-systeem voor weergave van de bouwstatus.

Configureren via Gradle (Android)

Google biedt de plug-in gcloud-test-lab voor Gradle, die het uploaden en uitvoeren van tests automatiseert. De taak assembleAndroidTest bouwt de APK met tests, en gcloud-taken uploaden deze naar Test Lab en voeren de matrix uit. Testresultaten worden als pass/fail aan Gradle geretourneerd, waardoor Test Lab kan worden geïntegreerd in elke CI-pijplijn die Gradle ondersteunt. Voor autorisatie wordt een Firebase-serviceaccount met rechten voor Test Lab gebruikt.

groovy
// build.gradle (module: app)
task runTestLab() {
    exec {
        commandLine "gcloud", "firebase", "test", "android", "run",
            "--type", "robo",
            "--app", "build/outputs/apk/debug/app-debug.apk",
            "--device", "model=Pixel7,version=33",
            "--device", "model=GalaxyS23,version=34",
            "--device", "model=RedmiNote12,version=31",
            "--timeout", "15m",
            "--results-dir", "firebase/test-lab/robo"
    }
}

Configureren via Fastlane

Fastlane biedt de plug-in firebase_test_lab voor integratie met iOS- en Android-tests. Fastlane lane voert de build uit, start de tests en verwerkt de resultaten. Voor iOS XCTest heeft Test Lab een xctestrun-bestand nodig, dat automatisch wordt aangemaakt bij het bouwen van het testdoel. Fastlane kan ook testresultaten uploaden naar Slack of andere messengers om het team op de hoogte te stellen van de teststatus na elke uitvoering.

Analyse van testresultaten

Na afloop van de tests biedt Firebase Test Lab een uitgebreid rapport, beschikbaar in Firebase Console en via gcloud CLI. Het rapport bevat een korte samenvatting (aantal geslaagde, mislukte en overgeslagen tests), gedetailleerde informatie over elke test op elk apparaat, video van de uitvoering, schermafbeeldingen van belangrijke stappen en apparaatlogs (logcat voor Android, system log voor iOS). Voor mislukte tests is een stack trace beschikbaar met de exacte locatie van de fout.

Interpretatie van robottestresultaten

Voor een robottest verschilt het rapport van een instrumentele test: in plaats van pass/fail per testgeval toont het rapport verkenningsstatistieken. Belangrijke statistieken — het aantal gevonden en bezochte schermen, het aantal robotinteracties (klikken, vegen, tekstinvoer), gedetecteerde crashes en ANR's, en het afgelegde pad door de app. De video van de robotuitvoering maakt visuele beoordeling mogelijk van welke schermen zijn getest en welke niet zijn gedekt.

Exporteren van resultaten

Testresultaten worden opgeslagen in Google Cloud Storage in de aan het project gekoppelde bucket. Gegevens zijn beschikbaar voor export en integratie met externe analysesystemen. Voor langdurige opslag en vergelijking van resultaten tussen uitvoeringen wordt aanbevolen BigQuery-export te configureren of de Firebase Test Lab API te gebruiken voor programmatische verkrijging van resultaten. Google biedt de mogelijkheid om een ZIP-archief te downloaden met de volledige set resultaten voor elke testuitvoering.

Veelgestelde vragen

Hoeveel kost Firebase Test Lab?

Het Spark-plan omvat 10 Robo-tests per dag en 5 uur instrumentele tests per maand gratis. Het Blaze-plan wordt per tijd getarifeerd: ~1 USD per apparaatuur voor Robo-tests en ~5 USD voor instrumentele tests. De exacte prijs hangt af van de regio en het apparaattype.

Wat is het verschil tussen fysieke apparaten en emulators in Test Lab?

Fysieke apparaten geven nauwkeurigere resultaten, inclusief problemen met sensoren, camera, GPS, Bluetooth en echte prestaties. Emulators starten sneller en zijn goedkoper, maar detecteren geen problemen die verband houden met hardwarekenmerken. Google raadt fysieke apparaten aan voor pre-release testen.

Hoe stel ik autorisatie in voor een robottest?

Maak een XML-bestand robo_directives.xml aan met invoervelden (login, wachtwoord) en knoppen om te klikken. Upload het bestand samen met de APK bij het starten van de test via Firebase Console of CLI. De robot voert de opgegeven acties uit voordat hij met de verkenning begint.

Kan ik iOS-tests uitvoeren in Firebase Test Lab?

Ja, Firebase Test Lab ondersteunt iOS sinds 2024. Robo-tests (automatische verkenning) en XCTest (instrumentele tests) zijn beschikbaar op echte iPhone- en iPad-apparaten. Voor upload is een IPA-bestand met een testdoel vereist.

Hoe integreer ik Test Lab met GitHub Actions?

Gebruik Firebase CLI in GitHub Actions: configureer authenticatie via Service Account JSON, installeer gcloud SDK, voer het commando firebase test android run uit met opgave van APK en configuraties. Testresultaten zijn beschikbaar via Firebase Console of gcloud CLI.

Samenvatting

  • Firebase Test Lab — cloudservice van Google voor het testen van mobiele apps op echte apparaten met betaling per gebruik.
  • Drie testtypen — robottests (zonder code, automatische verkenning), instrumentele (Espresso, XCTest) en schermafbeeldingtests (Game loop) voor verschillende verificatietaken.
  • Apparaatmatrix maakt parallel testen mogelijk op een set configuraties (model + OS-versie + oriëntatie), waardoor de totale controletijd wordt verkort.
  • Robottests (Firebase Crawler) verkennen automatisch de app en detecteren tot 80% van de kritieke fouten zonder een enkele regel testcode te schrijven.
  • CI/CD-integratie — Test Lab ondersteunt Gradle, Fastlane en Firebase CLI voor automatisch testen bij elke push naar de repository.
  • Gedetailleerde rapporten omvatten video van de uitvoering, schermafbeeldingen, apparaatlogs en stack trace voor elke mislukte test op elke configuratie.
  • Gratis limiet — 10 Robo-tests per dag in het Spark-plan, voldoende voor basiscontrole van de app-stabiliteit in de dagelijkse ontwikkelingscyclus.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook