Firebase Test Lab — bu nədir, cihazlarda test növləri və avtomatlaşdırma

Müəllif: IT Sectr Dərc olunub: 2026-04-29 Oxuma vaxtı: 9 dəq

Firebase Test Lab — Google məlumat mərkəzlərində yerləşən real cihazlarda mobil tətbiqlərin avtomatlaşdırılmış test edilməsi üçün Google bulud xidmətidir. Test Lab Android və iOS-un müxtəlif versiyaları olan yüzlərlə cihaz konfiqurasiyasında instrumental testlər, ekran görüntüsü testləri və robot testlərini işə salmağa imkan verir, öz cihaz fermasına sahib olmaq tələb olunmur. Firebase Documentation, 2026-ya görə, Firebase robot testi avtomatik olaraq tətbiqin bütün ekranlarından keçir, heç bir test kodu sətri yazmadan crash, ANR və UI problemlərini aşkarlayır. Xidmət CI/CD sistemləri ilə inteqrasiyanı dəstəkləyir və video və jurnallarla ətraflı hesabatlar təqdim edir.

Əsas məqamlar

  • Firebase Test Lab — yalnız istifadə olunan vaxta görə ödənişlə Google məlumat mərkəzlərində real cihazlarda mobil tətbiqlərin test edilməsi üçün bulud xidmətidir.
  • Robot testləri — tətbiqin avtomatik tədqiqi: Firebase Crawler bütün ekranlardan keçir, düymələri sıxır və formaları doldurur, kod yazmadan səhvləri qeyd edir.
  • İnstrumental testlər — Espresso, XCTest və UI Automator testlərini real cihazlarda müxtəlif konfiqurasiyalarda paralel icra ilə işə salmaq.
  • Cihaz matrisi — testlər müxtəlif OS versiyaları, ekran oriyentasiyaları və dilləri olan seçilmiş cihaz dəstində eyni vaxtda icra olunur.
  • Hesabatlar — testdən sonra jurnallar, ekran görüntüləri, test videosu və tapılan səhvlərlə performans xülasəsi mövcuddur.

Firebase Test Lab nədir

Firebase Test Lab — Google-ın qlobal məlumat mərkəzlərində yerləşən fiziki cihazlarda mobil tətbiqlərin avtomatlaşdırılmış test edilməsi üçün bulud infrastrukturudur. Yerli maşındakı emulyatorlardan fərqli olaraq, Test Lab real Android cihazlarında və iOS qurğularında müxtəlif əməliyyat sistemləri versiyaları, ekran təsvir ölçüləri, RAM həcmi və API səviyyələri ilə testlər işə salır. Xidmət avtomatik olaraq test nəticələrini emal edir, video keçidi, addım ekran görüntülərini və ətraflı jurnalları təqdim edir.

Bulud testinin üstünlükləri

Öz cihaz fermasına sahib olmaq fiziki qurğuların alınması və saxlanması üçün əhəmiyyətli kapital xərcləri tələb edir. Firebase Test Lab Spark planında pulsuz limitlə faktiki istifadəyə görə ödəniş (pay-per-use) əsasında minlərlə cihaza giriş təmin edir. Test Lab cihaz parkını avtomatik olaraq ən son modellərə, o cümlədən ən yeni flaqman Google Pixel, Samsung Galaxy, Xiaomi və iPhone-a yeniləyir. Testlər bir neçə cihazda paralel icra olunur ki, bu da tətbiqin yoxlanılmasının ümumi vaxtını azaldır.

Dəstəklənən platformalar

Android üçün Test Lab API səviyyəsi 21-dən ən son stabil Android versiyasına qədər cihazlarda testi dəstəkləyir. iOS dəstəyi iOS 15-dən ən son stabil versiyaya qədər real iPhone və iPad qurğularını əhatə edir. iOS üçün robot testi və XCTest mövcuddur. Hər bir test fiziki cihazlarda və ya emulyatorlarda icra oluna bilər — maksimum dəqiq nəticələr üçün Google fiziki qurğulardan istifadə etməyi tövsiyə edir, çünki onlar sensorlar, kamera və şəbəkə interfeysləri ilə problemləri aşkarlayır.

Firebase Test Lab-da test növləri

Firebase Test Lab bir neçə test növünü dəstəkləyir, hər biri inkişaf dövründə öz vəzifəsini həll edir: sabitliyi sürətli yoxlamaq üçün robot testləri, funksional yoxlama üçün instrumental testlər və vizual reqressiyaları aşkarlamaq üçün ekran görüntüsü testləri. Test növünün seçimi inkişaf mərhələsindən və konkret işə salmanın məqsədlərindən asılıdır.

Robot testləri (Robo tests)

Robot testləri Firebase Test Lab-in unikal imkanıdır və test kodu yazmağı tələb etmir. Firebase Crawler avtomatik olaraq tətbiqi tədqiq edir: bütün interaktiv UI elementlərini tapır, onları sıxır, formaları test məlumatları ilə doldurur, ekranlar arasında keçid edir və hər hansı nasazlığı (crash, ANR, istisnalar) qeyd edir. Robot testləri heç bir test kodu sətri olmadan kritik səhvlərin 80%-ə qədərini aşkarlayır ki, bu da onları inkişafın ilkin mərhələlərində tətbiqin əsas sabitliyini qiymətləndirmək üçün ideal alət edir.

İnstrumental testlər (Instrumentation tests)

İnstrumental testlər — proqramçı tərəfindən Espresso (Android) və ya XCTest (iOS) çərçivələrindən istifadə edərək yazılmış testlərdir. Test Lab testlərlə APK-nı hədəf cihazda işə salır və icra nəticələrini toplayır. Testlər sadə (elementlərin göstərilməsini yoxlamaq) və ya mürəkkəb (end-to-end ssenarilər: avtorizasiya, səbətə əlavə etmə, sifarişin rəsmiləşdirilməsi) ola bilər. Firebase Test Lab testləri bir-birindən təcrid etmək üçün Android Test Orchestrator-u dəstəkləyir ki, bu da bir uğursuz testin digərlərinə təsirinin qarşısını alır.

Ekran görüntüsü testləri (Game loop və ekran görüntüləri)

Ekran görüntüsü testləri tətbiqdə vizual reqressiyaları aşkarlamaq üçün istifadə olunur. Game loop — tətbiqə intent vasitəsilə ssenarilər siyahısını ötürən xüsusi test növüdür və tətbiq bu ssenariləri icra edib əsas ekranların görüntülərini çəkməlidir. Test Lab matrisin bütün cihazlarından ekran görüntülərini toplayır və fərqləri aşkarlamaq üçün onları etalonlarla müqayisə etməyə imkan verir. Bu test növü müxtəlif GPU-larda renderin yoxlanılması üçün oyun tətbiqlərində xüsusilə populyardır.

Test növüKodNəyi yoxlayırNə vaxt istifadə etməli
Robot testiTələb olunmurCrash, ANR, istisnalarSabitliyin sürətli yoxlanması
İnstrumentalEspresso / XCTestSsenarilərin funksionallığıReqressiya testi
Ekran görüntüsüGame loopVizual reqressiyalarMüxtəlif cihazlarda UI yoxlanması

Cihaz matrisi və konfiqurasiyalar

Test matrisi Firebase Test Lab-da seçilmiş testin icra olunduğu cihaz konfiqurasiyaları dəstidir. Hər bir konfiqurasiya cihaz modelini, OS versiyasını, ekran oriyentasiyasını (portret/landşaft) və regional parametrləri (lokal, dil) əhatə edir. Test bütün seçilmiş konfiqurasiyalarda paralel işə salınır ki, bu da hər bir cihazda ardıcıl işə salma ilə müqayisədə ümumi icra müddətini əhəmiyyətli dərəcədə azaldır.

Matris üçün cihazların seçilməsi

Google müxtəlif xarakteristikaları olan cihazları matrisə daxil etməyi tövsiyə edir: flaqman model (Google Pixel, Samsung Galaxy S), büdcə cihazı (Moto G, Xiaomi Redmi), tətbiqin dəstəklədiyi minimum API versiyası olan cihaz. Optimal matris tətbiqin dəstəklədiyi bütün OS versiyalarını əhatə edən 5–10 konfiqurasiyadan ibarətdir. iOS üçün müxtəlif nəsillərdən iPhone və iPad (məsələn, iPhone SE, iPhone 14, iPad Air) müxtəlif iOS versiyaları ilə seçilir.

Testlərin qruplaşdırılması və paralellik

Test Lab avtomatik olaraq testləri seçilmiş cihazlara bölüşdürür, hər bir testi hər bir konfiqurasiyada icra edir. İcra müddəti bütün matris üçün ən yavaş cihazda ən yavaş testin icra müddətinə bərabərdir — qalanların hamısı paralel icra olunur. Əgər bir test bütün cihazlarda uğursuz olarsa, Test Lab resurslara qənaət etmək üçün onun icrasını qalan konfiqurasiyalarda dayandırır. Nəticələr testə və cihaza görə qruplaşdırılır ki, bu da xətanın konkret konfiqurasiya üçün spesifik olub-olmadığını tez müəyyən etməyə imkan verir.

Robot testi: avtomatik tədqiq

Robot testi — heç bir test yazmadan tətbiqi avtomatik tədqiq etməyə imkan verən Firebase Test Lab-in flaqman imkanıdır. Firebase Crawler (robot) tətbiqin UI iyerarxiyasını təhlil edir, bütün interaktiv elementləri (düymələr, mətn sahələri, siyahılar, menyu) tapır və real istifadəçinin davranışını simulyasiya edərək onlarla qarşılıqlı əlaqəyə girir. Robot testi xüsusilə inkişafın ilkin mərhələlərində, testlər hələ yazılmadıqda və ya legacy kodu yoxlamaq üçün effektivdir.

Robot testinin qurulması

Robot testini işə salmaq üçün Firebase Console-da APK və ya IPA yükləmək və Robo test seçimini etmək kifayətdir. Robot avtorizasiya arxasında gizlənmiş ekranlara giriş əldə etmək üçün əvvəlcədən konfiqurasiya edilmiş etimadnamə (login/şifrə) vasitəsilə tətbiqə avtomatik daxil ola bilər. Robotun addımlarının sayını məhdudlaşdırmaq üçün tədqiq dərinliyini (max depth) təyin etmək və ya robotun prioritet sıxmalı olduğu konkret elementləri göstərmək olar.

xml
<!-- res/xml/robo_directives.xml -->
<!-- Robot login və şifrə sahələrini dolduracaq -->
<?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>

Robot testlərinin məhdudiyyətləri

Robot testləri mürəkkəb ssenarilər üçün əl ilə test etməni və yazılmış instrumental testləri əvəz etmir. Robot biznes məntiqini yoxlaya bilmir: o, bütün elementləri ardıcıl sıxır, lakin nəticənin düzgün olub-olmadığını bilmir. Həmçinin robot standart ViewGroup-dan miras almayan fərdi görünüşlərlə qarşılıqlı əlaqədə ola bilmir və WebView-i emal etmir. Bu hallar üçün instrumental testlərdən və ya Game loop-dan istifadə etmək lazımdır.

CI/CD və Gradle ilə inteqrasiya

Firebase Test Lab-in CI/CD sistemləri ilə inteqrasiyası hər bir repozitoriya pushunda avtomatik test işə salmağa imkan verir. Test Lab Android üçün Gradle tapşırıqlarını və hər iki platforma üçün Fastlane-i dəstəkləyir. CI/CD boru xəttinin qurulması tətbiqin yığılması, APK/IPA-nın Google Cloud Storage-ə yüklənməsi, Firebase CLI vasitəsilə testlərin işə salınması və yığım statusunu göstərmək üçün hesabatların CI sisteminə qaytarılmasını əhatə edir.

Gradle vasitəsilə qurulması (Android)

Google yükləmə və test işə salmanı avtomatlaşdıran Gradle üçün gcloud-test-lab plaginini təqdim edir. assembleAndroidTest tapşırığı testlərlə APK yığır, gcloud tapşırıqları isə onu Test Lab-a yükləyir və matrisi işə salır. Test nəticələri Gradle-ə pass/fail kimi qaytarılır ki, bu da Test Lab-ı Gradle-i dəstəkləyən istənilən CI boru xəttinə inteqrasiya etməyə imkan verir. Avtorizasiya üçün Test Lab-a hüquqları olan Firebase xidmət hesabı istifadə olunur.

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"
    }
}

Fastlane vasitəsilə qurulması

Fastlane iOS və Android testləri ilə inteqrasiya üçün firebase_test_lab plaginini təqdim edir. Fastlane lane yığımı icra edir, testləri işə salır və nəticələri emal edir. iOS XCTest Test Lab üçün test hədəfinin yığılması zamanı avtomatik yaradılan xctestrun faylı tələb olunur. Fastlane həmçinin test nəticələrini hər işə salmadan sonra komandaya test statusu barədə məlumat vermək üçün Slack və ya digər messencerlərə yükləyə bilər.

Test nəticələrinin təhlili

Testlər başa çatdıqdan sonra Firebase Test Lab Firebase Console və gcloud CLI vasitəsilə əldə olunan kompleks hesabat təqdim edir. Hesabat qısa xülasə (keçən, uğursuz və buraxılmış testlərin sayı), hər bir test haqqında hər bir cihazda ətraflı məlumat, video keçid, əsas addımların ekran görüntüləri və cihaz jurnallarını (Android üçün logcat, iOS üçün system log) əhatə edir. Uğursuz testlər üçün xətanın dəqiq yerini göstərən stack trace mövcuddur.

Robot testi nəticələrinin interpretasiyası

Robot testi üçün hesabat instrumental testdən fərqlənir: test halları üzrə pass/fail əvəzinə hesabat tədqiqat statistikasını göstərir. Əsas metrikalar — tapılmış və ziyarət edilmiş ekranların sayı, robot qarşılıqlı əlaqələrinin sayı (kliklər, sürüşdürmələr, mətn daxil etmə), aşkarlanmış crash və ANR-lər və tətbiq üzrə keçilən yol. Robotun video keçidi hansı ekranların test edildiyini və hansıların əhatə olunmadığını vizual qiymətləndirməyə imkan verir.

Nəticələrin ixracı

Test nəticələri Google Cloud Storage-də layihəyə bağlı bucket-də saxlanılır. Məlumatlar ixrac və xarici analitik sistemlərlə inteqrasiya üçün əlçatandır. Uzunmüddətli saxlama və işə salmalar arasında nəticələrin müqayisəsi üçün BigQuery ixracını konfiqurasiya etmək və ya nəticələri proqramlı şəkildə əldə etmək üçün Firebase Test Lab API-dən istifadə etmək tövsiyə olunur. Google hər bir test işə salması üçün nəticələrin tam dəsti ilə ZIP arxivini yükləmək imkanı verir.

Tez-tez verilən suallar

Firebase Test Lab nə qədərdir?

Spark planı gündə 10 Robo testi və ayda 5 saat instrumental testi pulsuz əhatə edir. Blaze planı vaxta görə tariflənir: Robot testləri üçün cihaz-saatı ~1 USD, instrumental testlər üçün ~5 USD. Dəqiq qiymət regiondan və cihaz növündən asılıdır.

Test Lab-da fiziki cihazlar emulyatorlardan nə ilə fərqlənir?

Fiziki cihazlar sensorlar, kamera, GPS, Bluetooth və real performansla bağlı problemlər də daxil olmaqla daha dəqiq nəticələr verir. Emulyatorlar daha sürətli işə düşür və daha ucuzdur, lakin aparat xüsusiyyətləri ilə bağlı problemləri aşkarlamır. Google buraxılış öncəsi test üçün fiziki cihazları tövsiyə edir.

Robot testi üçün avtorizasiyanı necə qurmaq olar?

Daxiletmə sahələri (login, şifrə) və sıxma düymələri olan robo_directives.xml XML faylı yaradın. Testi Firebase Console və ya CLI vasitəsilə işə salarkən faylı APK ilə birlikdə yükləyin. Robot tədqiqata başlamazdan əvvəl göstərilən hərəkətləri yerinə yetirəcək.

Firebase Test Lab-da iOS-da testlər işə salmaq olar?

Bəli, Firebase Test Lab 2024-cü ildən iOS-u dəstəkləyir. Real iPhone və iPad cihazlarında Robo testləri (avtomatik tədqiq) və XCTest (instrumental testlər) mövcuddur. Yükləmə üçün test hədəfi olan IPA faylı tələb olunur.

Test Lab-ı GitHub Actions ilə necə inteqrasiya etmək olar?

GitHub Actions-da Firebase CLI istifadə edin: Service Account JSON vasitəsilə autentifikasiyanı qurun, gcloud SDK quraşdırın, APK və konfiqurasiyaları göstərərək firebase test android run əmrini icra edin. Test nəticələri Firebase Console və ya gcloud CLI vasitəsilə əldə edilə bilər.

Nəticə

  • Firebase Test Lab — faktiki istifadəyə görə ödənişlə real cihazlarda mobil tətbiqləri test etmək üçün Google bulud xidmətidir.
  • Üç test növü — robot testləri (kodsuz, avtomatik tədqiq), instrumental (Espresso, XCTest) və ekran görüntüsü testləri (Game loop) müxtəlif yoxlama tapşırıqları üçün.
  • Cihaz matrisi konfiqurasiyalar dəstində (model + OS versiyası + oriyentasiya) testləri paralel işə salmağa imkan verir, ümumi yoxlama vaxtını azaldır.
  • Robot testləri (Firebase Crawler) heç bir test kodu sətri yazmadan kritik səhvlərin 80%-ə qədərini aşkarlayaraq tətbiqi avtomatik tədqiq edir.
  • CI/CD inteqrasiyası — Test Lab hər bir repozitoriya pushunda avtomatik test işə salmaq üçün Gradle, Fastlane və Firebase CLI-ni dəstəkləyir.
  • Ətraflı hesabatlar hər bir uğursuz test üçün hər bir konfiqurasiyada video keçid, ekran görüntüləri, cihaz jurnalları və stack trace əhatə edir.
  • Pulsuz limit — Spark planında gündə 10 Robo testi, gündəlik inkişaf dövründə tətbiqin əsas sabitliyini yoxlamaq üçün kifayətdir.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun