Firebase Test Lab — ano ito, mga uri ng pagsubok sa mga device at automation

May-akda: IT Sectr Nai-publish: 2026-04-29 Oras ng pagbabasa: 9 min

Ang Firebase Test Lab ay isang cloud service ng Google para sa automated na pagsubok ng mga mobile application sa mga totoong device na matatagpuan sa mga data center ng Google. Pinapayagan ng Test Lab ang pagpapatakbo ng instrumental na pagsubok, screenshot na pagsubok, at robot na pagsubok sa daan-daang configuration ng device na may iba't ibang bersyon ng Android at iOS nang hindi kinakailangang magkaroon ng sariling device farm. Ayon sa Firebase Documentation, 2026, ang robot testing ng Firebase ay awtomatikong dumadaan sa lahat ng screen ng application, natutukoy ang mga crash, ANR, at problema sa UI nang hindi nagsusulat ng kahit isang linya ng test code. Ang serbisyo ay sumusuporta sa integrasyon sa mga CI/CD system at nagbibigay ng detalyadong mga ulat na may video at log.

Mga Pangunahing Punto

  • Firebase Test Lab — cloud service para sa pagsubok ng mobile app sa mga totoong device sa data center ng Google na may bayad lamang sa oras na ginamit.
  • Robot na pagsubok — awtomatikong pag-explore ng application: ang Firebase Crawler ay dumadaan sa lahat ng screen, nagki-click ng mga button, at nagpupuno ng mga form, nagre-record ng mga bug nang hindi nagsusulat ng code.
  • Instrumental na pagsubok — pagpapatakbo ng Espresso, XCTest, at UI Automator na pagsubok sa mga totoong device na may parallel execution sa iba't ibang configuration.
  • Matrix ng device — ang mga pagsubok ay sabay-sabay na isinasagawa sa napiling set ng mga device na may iba't ibang bersyon ng OS, oryentasyon ng screen, at wika.
  • Mga ulat — pagkatapos ng pagsubok, available ang mga log, screenshot, video ng pagsubok, at buod na may mga natagpuang error at performance.

Ano ang Firebase Test Lab

Firebase Test Lab ay ang cloud infrastructure ng Google para sa automated na pagsubok ng mga mobile application sa mga pisikal na device na matatagpuan sa mga global data center ng Google. Hindi tulad ng mga emulator sa lokal na makina, pinapatakbo ng Test Lab ang mga pagsubok sa totoong Android device at iOS device na may iba't ibang bersyon ng operating system, resolution ng screen, dami ng RAM, at antas ng API. Awtomatikong pinoproseso ng serbisyo ang mga resulta ng pagsubok, nagbibigay ng video ng execution, screenshot ng mga hakbang, at detalyadong log.

Mga bentahe ng cloud testing

Ang pagkakaroon ng sariling device farm ay nangangailangan ng malaking capital investment para sa pagbili at pagpapanatili ng mga pisikal na device. Firebase Test Lab ay nagbibigay ng access sa libu-libong device sa batayan ng bayad bawat gamit (pay-per-use) na may libreng limit sa Spark plan. Awtomatikong ina-update ng Test Lab ang parke ng device sa mga pinakabagong modelo, kabilang ang pinakabagong flagship na Google Pixel, Samsung Galaxy, Xiaomi, at iPhone. Ang mga pagsubok ay isinasagawa nang parallel sa maraming device, na nagbabawas sa kabuuang oras ng verifikasyon ng application.

Mga supported na platform

Para sa Android, sinusuportahan ng Test Lab ang pagsubok sa mga device na may API level mula 21 hanggang sa pinakabagong stable na bersyon ng Android. Suporta para sa iOS ay kinabibilangan ng totoong iPhone at iPad device na may iOS bersyon mula 15 hanggang sa pinakabagong stable. Para sa iOS, available ang robot testing at XCTest. Ang bawat pagsubok ay maaaring isagawa sa mga pisikal na device o emulator — para sa pinakatamang resulta, inirerekomenda ng Google ang paggamit ng mga pisikal na device dahil natutukoy nito ang mga problema sa sensor, camera, at network interface.

Mga uri ng pagsubok sa Firebase Test Lab

Firebase Test Lab ay sumusuporta sa ilang uri ng pagsubok, bawat isa ay nilulutas ang sarili nitong gawain sa development cycle: robot na pagsubok para sa mabilis na pagsusuri ng stability, instrumental na pagsubok para sa functional na verifikasyon, at screenshot na pagsubok para sa pagtuklas ng visual na regression. Ang pagpili ng uri ng pagsubok ay depende sa yugto ng development at mga layunin ng partikular na pagpapatakbo.

Robot na pagsubok (Robo tests)

Ang robot na pagsubok ay isang natatanging kakayahan ng Firebase Test Lab na hindi nangangailangan ng pagsulat ng test code. Firebase Crawler ay awtomatikong nag-e-explore ng application: hinahanap ang lahat ng interactive UI elements, nagki-click sa mga ito, nagpupuno ng mga form ng test data, naglilipat sa pagitan ng mga screen, at nagre-record ng anumang pagkasira (crash, ANR, exceptions). Ang robot na pagsubok ay natutukoy hanggang 80% ng mga kritikal na bug nang walang kahit isang linya ng test code, na ginagawa itong perpektong tool para sa pagtatasa ng pangunahing stability ng application sa mga maagang yugto ng development.

Instrumental na pagsubok (Instrumentation tests)

Ang instrumental na pagsubok ay mga pagsubok na isinulat ng developer gamit ang mga framework na Espresso (Android) o XCTest (iOS). Pinapatakbo ng Test Lab ang APK na may mga pagsubok sa target na device at kinokolekta ang mga resulta ng execution. Ang mga pagsubok ay maaaring simple (pagsusuri ng pagpapakita ng mga elemento) o kumplikado (end-to-end scenario: awtorisasyon, pagdagdag sa cart, pag-order). Sinusuportahan ng Firebase Test Lab ang Android Test Orchestrator para sa paghihiwalay ng mga pagsubok sa isa't isa, na pumipigil sa isang bagsak na pagsubok na makaapekto sa iba.

Screenshot na pagsubok (Game loop at screenshot)

Ang screenshot na pagsubok ay ginagamit para sa pagtuklas ng visual na regression sa application. Game loop ay isang espesyal na uri ng pagsubok na nagpapadala sa application ng listahan ng mga scenario sa pamamagitan ng intent, at ang application ay dapat isagawa ang mga scenario na ito at kumuha ng screenshot ng mga pangunahing screen. Kinokolekta ng Test Lab ang mga screenshot mula sa lahat ng device sa matrix at pinapayagan ang paghahambing sa mga reference na screenshot para sa pagtuklas ng mga pagkakaiba. Ang uri ng pagsubok na ito ay lalong popular sa mga game application para sa pagsusuri ng rendering sa iba't ibang GPU.

Uri ng pagsubokCodeAno ang sinusuriKailan gagamitin
Robot na pagsubokHindi kinakailanganCrash, ANR, exceptionsMabilis na pagsusuri ng stability
InstrumentalEspresso / XCTestFunctionality ng scenarioRegression testing
ScreenshotGame loopVisual na regressionPagsusuri ng UI sa iba't ibang device

Matrix ng device at mga configuration

Matrix ng pagsubok sa Firebase Test Lab ay isang set ng mga configuration ng device kung saan isinasagawa ang napiling pagsubok. Bawat configuration ay kinabibilangan ng modelo ng device, bersyon ng OS, oryentasyon ng screen (portrait/landscape), at mga regional setting (locale, wika). Ang pagsubok ay pinapatakbo nang parallel sa lahat ng napiling configuration, na makabuluhang nagbabawas sa kabuuang oras ng execution kumpara sa sequential na pagpapatakbo sa bawat device.

Pagpili ng mga device para sa matrix

Inirerekomenda ng Google na isama sa matrix ang mga device na may iba't ibang katangian: flagship model (Google Pixel, Samsung Galaxy S), budget device (Moto G, Xiaomi Redmi), device na may pinakamababang bersyon ng API na suportado ng application. Optimal na matrix ay may 5–10 configuration na sumasaklaw sa lahat ng bersyon ng OS na suportado ng application. Para sa iOS, pinipili ang iPhone at iPad ng iba't ibang henerasyon (hal. iPhone SE, iPhone 14, iPad Air) na may iba't ibang bersyon ng iOS.

Pag-grupo ng mga pagsubok at paralelismo

Awtomatikong ipinamamahagi ng Test Lab ang mga pagsubok sa mga napiling device, isinasagawa ang bawat pagsubok sa bawat configuration. Oras ng execution ng buong matrix ay katumbas ng oras ng execution ng pinakamabagal na pagsubok sa pinakamabagal na device — lahat ng iba ay isinasagawa nang parallel. Kung ang isang pagsubok ay nabigo sa lahat ng device, ititigil ng Test Lab ang execution nito sa natitirang configuration para makatipid ng resources. Ang mga resulta ay naka-grupo ayon sa pagsubok at ayon sa device, na nagpapahintulot ng mabilis na pagtukoy kung ang error ay tiyak sa isang partikular na configuration.

Robot na pagsubok: awtomatikong pag-explore

Robot na pagsubok ay isang flagship na kakayahan ng Firebase Test Lab na nagpapahintulot ng awtomatikong pag-explore ng application nang hindi nagsusulat ng kahit isang pagsubok. Ang Firebase Crawler (robot) ay nagsusuri ng UI hierarchy ng application, hinahanap ang lahat ng interactive na elemento (button, text field, listahan, menu) at nakikipag-ugnayan sa mga ito, ginagaya ang pag-uugali ng totoong user. Ang robot na pagsubok ay lalong epektibo sa mga maagang yugto ng development, kapag ang mga pagsubok ay hindi pa naisusulat, o para sa pagsusuri ng legacy code.

Pag-configure ng robot na pagsubok

Para magpatakbo ng robot na pagsubok, sapat na ang mag-upload ng APK o IPA sa Firebase Console at piliin ang opsyong Robo test. Ang robot ay maaaring awtomatikong mag-login sa application sa pamamagitan ng pre-configure na mga kredensyal (login/password) para ma-access ang mga screen na nakatago sa likod ng awtorisasyon. Maaari ring itakda ang lalim ng pag-explore (max depth) upang limitahan ang bilang ng mga hakbang ng robot, o tukuyin ang mga partikular na elemento na dapat unahin ng robot na i-click.

xml
<!-- res/xml/robo_directives.xml -->
<!-- Pupunan ng robot ang mga field ng login at password -->
<?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>

Limitasyon ng robot na pagsubok

Ang robot na pagsubok ay hindi pumapalit sa manual na pagsubok at sa mga isinulat na instrumental na pagsubok para sa kumplikadong scenario. Ang robot ay hindi marunong sumuri ng business logic: nagki-click ito sa lahat ng elemento nang sunod-sunod, ngunit hindi nito alam kung tama ang resulta. Hindi rin maaaring makipag-ugnayan ang robot sa custom view na hindi nagmamana mula sa standard na ViewGroup at hindi nito pinoproseso ang WebView. Para sa mga kasong ito, kinakailangang gumamit ng instrumental na pagsubok o Game loop.

Integrasyon sa CI/CD at Gradle

Integrasyon ng Firebase Test Lab sa mga CI/CD system ay nagpapahintulot ng awtomatikong pagpapatakbo ng mga pagsubok sa bawat push sa repository. Sinusuportahan ng Test Lab ang mga Gradle task para sa Android at Fastlane para sa parehong platform. Ang pag-configure ng CI/CD pipeline ay kinabibilangan ng pag-build ng application, pag-upload ng APK/IPA sa Google Cloud Storage, pagpapatakbo ng mga pagsubok sa pamamagitan ng Firebase CLI, at pagtanggap ng mga ulat pabalik sa CI system para sa pagpapakita ng status ng build.

Pag-configure sa pamamagitan ng Gradle (Android)

Nagbibigay ang Google ng plugin na gcloud-test-lab para sa Gradle na nag-automate ng pag-upload at pagpapatakbo ng mga pagsubok. Ang task na assembleAndroidTest ay nagbu-build ng APK na may mga pagsubok, at ang mga gcloud task ay nag-a-upload nito sa Test Lab at pinapatakbo ang matrix. Ang mga resulta ng pagsubok ay ibinabalik sa Gradle bilang pass/fail, na nagpapahintulot ng integrasyon ng Test Lab sa anumang CI pipeline na sumusuporta sa Gradle. Para sa awtorisasyon, ginagamit ang Firebase service account na may mga karapatan sa Test Lab.

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

Pag-configure sa pamamagitan ng Fastlane

Nagbibigay ang Fastlane ng plugin na firebase_test_lab para sa integrasyon sa iOS at Android na pagsubok. Fastlane lane ay nagsasagawa ng build, pinapatakbo ang mga pagsubok, at pinoproseso ang mga resulta. Para sa iOS XCTest, ang Test Lab ay nangangailangan ng xctestrun file na awtomatikong nilikha kapag binu-build ang test target. Ang Fastlane ay maaari ring mag-upload ng mga resulta ng pagsubok sa Slack o iba pang messenger para sa pag-notify sa team tungkol sa status ng pagsubok pagkatapos ng bawat pagpapatakbo.

Pagsusuri ng mga resulta ng pagsubok

Pagkatapos ng mga pagsubok ang Firebase Test Lab ay nagbibigay ng komprehensibong ulat na available sa Firebase Console at sa pamamagitan ng gcloud CLI. Ang ulat ay may kasamang mabilis na buod (bilang ng pumasa, nabigo, at nilaktawang pagsubok), detalyadong impormasyon tungkol sa bawat pagsubok sa bawat device, video ng execution, screenshot ng mga pangunahing hakbang, at log ng device (logcat para sa Android, system log para sa iOS). Para sa mga bagsak na pagsubok, available ang stack trace na nagpapakita ng eksaktong lokasyon ng error.

Interpretasyon ng mga resulta ng robot na pagsubok

Para sa robot na pagsubok, ang ulat ay naiiba sa instrumental: sa halip na pass/fail bawat test case, ang ulat ay nagpapakita ng estadistika ng pag-explore. Mga pangunahing metrics — bilang ng mga nahanap at nabisitang screen, bilang ng mga interaksyon ng robot (click, swipe, text input), natuklasang crash at ANR, at ang nilakbay na landas sa application. Ang video ng execution ng robot ay nagpapahintulot ng visual na pagtatasa kung aling mga screen ang nasuri at alin ang hindi natakpan.

Pag-export ng mga resulta

Ang mga resulta ng pagsubok ay iniimbak sa Google Cloud Storage sa bucket na naka-link sa proyekto. Ang data ay available para sa pag-export at integrasyon sa mga panlabas na analytics system. Para sa pangmatagalang pag-iimbak at paghahambing ng mga resulta sa pagitan ng mga pagpapatakbo, inirerekomenda na i-configure ang BigQuery export o gamitin ang Firebase Test Lab API para sa programmatic na pagkuha ng mga resulta. Nagbibigay ang Google ng kakayahang mag-download ng ZIP archive na may kumpletong set ng mga resulta para sa bawat pagpapatakbo ng pagsubok.

Mga Madalas Itanong

Magkano ang Firebase Test Lab?

Ang Spark plan ay may kasamang 10 Robo test bawat araw at 5 oras ng instrumental na pagsubok bawat buwan nang libre. Ang Blaze plan ay naka-taripa ayon sa oras: ~1 USD bawat device-oras para sa Robo test at ~5 USD para sa instrumental. Ang eksaktong presyo ay depende sa rehiyon at uri ng device.

Ano ang pagkakaiba ng pisikal na device at emulator sa Test Lab?

Ang mga pisikal na device ay nagbibigay ng mas tumpak na resulta, kabilang ang mga problema sa sensor, camera, GPS, Bluetooth, at totoong performance. Ang mga emulator ay mas mabilis magsimula at mas mura, ngunit hindi natutukoy ang mga problemang nauugnay sa hardware. Inirerekomenda ng Google ang mga pisikal na device para sa pre-release testing.

Paano i-configure ang awtorisasyon para sa robot test?

Gumawa ng XML file na robo_directives.xml na may mga input field (login, password) at mga button na ic-click. I-upload ang file kasama ng APK kapag pinapatakbo ang pagsubok sa pamamagitan ng Firebase Console o CLI. Isasagawa ng robot ang mga tinukoy na aksyon bago magsimula ng pag-explore.

Maaari bang magpatakbo ng iOS test sa Firebase Test Lab?

Oo, sinusuportahan ng Firebase Test Lab ang iOS mula noong 2024. Available ang Robo test (awtomatikong pag-explore) at XCTest (instrumental na pagsubok) sa totoong iPhone at iPad device. Para sa pag-upload, kinakailangan ang IPA file na may test target.

Paano i-integrate ang Test Lab sa GitHub Actions?

Gamitin ang Firebase CLI sa GitHub Actions: i-configure ang authentication sa pamamagitan ng Service Account JSON, i-install ang gcloud SDK, isagawa ang command na firebase test android run na may pagtukoy ng APK at mga configuration. Ang mga resulta ng pagsubok ay available sa pamamagitan ng Firebase Console o gcloud CLI.

Buod

  • Firebase Test Lab — cloud service ng Google para sa pagsubok ng mobile app sa mga totoong device na may bayad bawat gamit.
  • Tatlong uri ng pagsubok — robot (walang code, awtomatikong pag-explore), instrumental (Espresso, XCTest), at screenshot (Game loop) para sa iba't ibang gawain ng verifikasyon.
  • Matrix ng device ay nagpapahintulot ng parallel na pagsubok sa isang set ng configuration (modelo + bersyon ng OS + oryentasyon), nagbabawas ng kabuuang oras ng pagsusuri.
  • Robot na pagsubok (Firebase Crawler) ay awtomatikong nag-e-explore ng application, natutukoy hanggang 80% ng mga kritikal na error nang hindi nagsusulat ng kahit isang linya ng test code.
  • CI/CD integrasyon — Sinusuportahan ng Test Lab ang Gradle, Fastlane, at Firebase CLI para sa awtomatikong pagpapatakbo ng pagsubok sa bawat push sa repository.
  • Detalyadong mga ulat ay may kasamang video ng execution, screenshot, log ng device, at stack trace para sa bawat bagsak na pagsubok sa bawat configuration.
  • Libreng limit — 10 Robo test bawat araw sa Spark plan, sapat para sa pangunahing pagsusuri ng stability ng app sa araw-araw na development cycle.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din