Köra tester i molnet med Firebase Test Lab

  • Molnbaserad testplattform för att validera applikationer på riktiga enheter och iOS/Android utan lokal fysisk infrastruktur.
  • Möjlighet att köra instrument-, Robo- och XCTest-tester med hjälp av anpassningsbara konfigurationsmatriser.
  • Inbyggd integration med Android Studio och CI/CD-flöden för att automatisera feldetektering före distribution.
  • Detaljerad analys av resultat med hjälp av loggar, skärmdumpar och exekveringsvideor för att optimera programvarukvaliteten.

Köra tester i molnet med Firebase Test Lab

När vi börjar utveckla en mobilapplikation är en av de största utmaningarna att säkerställa en felfri användarupplevelse på alla enheter. Det är ingen lätt uppgift att få riktiga människor att testa varje aspekt av appen, än mindre att ha ett stort utbud av telefoner av alla märken och modeller. Det är här Firebase Test Lab kommer in i bilden , en Google-lösning som låter oss minska vår arbetsbörda genom att delegera testning till molnet.

I grund och botten pratar vi om en miljö där vi kan lansera vår app på en mängd olika fysiska och virtuella enheter utan att behöva köpa dem eller förvara dem på ett kontor. Det är det perfekta verktyget för de som söker stabilitet och tillförlitlighet, vilket gör att vi kan upptäcka kritiska buggar innan de når slutanvändarna, samtidigt som vi optimerar utvecklingskostnader och tid på ett anmärkningsvärt sätt.

Vad exakt är Firebase Test Lab och vad används det till?

Den här plattformen är i huvudsak ett enhetslabb som finns i Googles datacenter. Dess huvudsakliga mål är att låta utvecklare enkelt utvärdera kompatibiliteten och prestandan hos sina Android- och iOS-applikationer. Genom att använda riktig hårdvara undviker man de där fantomfelen som bara uppstår med specifika skärmkonfigurationer, regioner eller operativsystemversioner.

Feldiagnos och spårning med Firebase Crashlytics
Relaterad artikel:
Feldiagnos och spårning med Firebase Crashlytics

För att ge dig en uppfattning har företag som American Express lyckats minska sina testkostnader med 50 % genom att flytta sin kontinuerliga integrationstestning till denna virtuella miljö, vilket gör att deras ingenjörer kan fokusera på att skapa nya funktioner istället för att kämpa med kablar och fysiska enheter. Det är dock viktigt att förstå att det här verktyget inte är utformat för belastningstestning på backend-servrar, utan snarare för att validera appens beteende på klientsidan.

Typer av tester du kan köra

Beroende på vad vi behöver testa erbjuder Test Lab olika vägar. Å ena sidan finns instrumenttester för Android , som kan kompletteras med UI-testautomation med Espresso . Dessa kräver förskriven kod för att validera specifika funktioner. Å andra sidan finns Robo-testet , vilket är fantastiskt eftersom det inte kräver att man skriver en enda rad kod; verktyget skannar automatiskt appen för att upptäcka potentiella fel.

När vi går vidare till Apples ekosystem har vi XCTest-stöd för iOS , vilket säkerställer jämn kvalitet på båda plattformarna. Dessutom finns det Game Loop för spelutvecklare , kompatibelt med både iOS och Android. När du har valt din föredragna metod paketerar du bara din applikation och laddar upp den till Firebase-konsolen för att komma igång.

Steg-för-steg-arbetsflöde och implementering

Testuppsättning

För att få igång allt detta är det första steget att förbereda appen. När den har laddats upp till Firebase måste vi definiera testmatrisen . Detta innebär att välja de enheter, operativsystemversioner, skärmorienteringar och språkinställningar som vi vill testa. Det är som att skapa ett verkligt scenario där vår app måste överleva.

verktyg för att skapa Android-appar
Relaterad artikel:
Ultimat guide: Verktyg för att skapa Android-appar från grunden (inbyggt, plattformsoberoende, kodfri och AI)

Om du föredrar att stanna kvar i din arbetsmiljö är integrationen med Android Studio sömlös. Från inställningsmenyn för körning kan du lägga till en ny konfiguration för "Android Instrumented Tests" och i avsnittet Mål välja Firebase Test Lab Device Matrix . Autentisera bara med ditt Google-konto och välj ditt länkade projekt för att utlösa testerna direkt från IDE:n.

För de som vill ta automatisering till nästa nivå är det möjligt att integrera Test Lab i CI/CD-pipelines som GitHub Actions, GitLab CI eller Jenkins. Med hjälp av gcloud CLI eller Firebase CLI kan du anropa kommandon för att automatiskt köra tester varje gång ny kod publiceras, vilket säkerställer att ingen version med kritiska fel når produktionsläget.

Resultatanalys och kvalitetsoptimering

När testerna är klara (vilket kan ta några minuter beroende på arrayens storlek) förser Firebase oss med en detaljerad och omfattande rapport . Det är inte bara ett enkelt "godkänt" eller "misslyckat"; vi får fullständiga loggar, skärmdumpar av varje steg och, viktigast av allt, videor av körningen . Detta är ovärderligt för att reproducera fel som annars skulle vara omöjliga att spåra.

När vi analyserar resultaten bör vi titta på stackspårningen i loggarna för att hitta den exakta orsaken till kraschen och använda videorna för att förstå användarflödet som orsakade felet. Övervakning av mätvärden som kraschfrekvens och incidentfrekvens gör det möjligt för oss att fatta datadrivna beslut och prioritera korrigeringar som påverkar flest användare.

Firebase-prestanda
Relaterad artikel:
Komplett guide till användarbeteendeanalys med Firebase Analytics

I Android Studio kan vi i fönstret Kör jämföra det förväntade värdet med det faktiska värdet i misslyckade tester, vilket underlättar omedelbara buggfixar. Dessutom kan vi använda kodtäckningsverktyg för att avgöra exakt hur stor andel av vår logik som har validerats, vilket säkerställer att vi inte har lämnat några lösa trådar i appens arkitektur.


Lägg till som prioriterad källa i Google