Firebase Test Lab — apa itu, jenis tes pada perangkat dan otomatisasi

Penulis: IT Sectr Diterbitkan: 2026-04-29 Waktu membaca: 9 mnt

Firebase Test Lab adalah layanan cloud Google untuk pengujian otomatis aplikasi seluler pada perangkat nyata yang ditempatkan di pusat data Google. Test Lab memungkinkan menjalankan tes instrumental, tes tangkapan layar, dan tes robot pada ratusan konfigurasi perangkat dengan berbagai versi Android dan iOS tanpa perlu memiliki perangkat sendiri. Menurut Firebase Documentation, 2026, pengujian robot Firebase secara otomatis melewati semua layar aplikasi, mendeteksi crash, ANR, dan masalah UI tanpa menulis satu baris kode tes pun. Layanan ini mendukung integrasi dengan sistem CI/CD dan menyediakan laporan terperinci dengan video dan log.

Poin Utama

  • Firebase Test Lab — layanan cloud untuk pengujian aplikasi seluler pada perangkat nyata di pusat data Google dengan pembayaran hanya untuk waktu yang digunakan.
  • Tes robot — eksplorasi otomatis aplikasi: Firebase Crawler melewati semua layar, mengklik tombol, dan mengisi formulir, mencatat bug tanpa menulis kode.
  • Tes instrumental — menjalankan tes Espresso, XCTest, dan UI Automator pada perangkat nyata dengan eksekusi paralel pada konfigurasi yang berbeda.
  • Matriks perangkat — tes dijalankan secara bersamaan pada kumpulan perangkat yang dipilih dengan versi OS, orientasi layar, dan bahasa yang berbeda.
  • Laporan — setelah pengujian tersedia log, tangkapan layar, video tes, dan ringkasan dengan kesalahan yang ditemukan serta kinerja.

Apa itu Firebase Test Lab

Firebase Test Lab adalah infrastruktur cloud Google untuk pengujian otomatis aplikasi seluler pada perangkat fisik yang berlokasi di pusat data global Google. Tidak seperti emulator di mesin lokal, Test Lab menjalankan tes pada perangkat Android dan iOS asli dengan berbagai versi sistem operasi, resolusi layar, jumlah RAM, dan tingkat API. Layanan ini secara otomatis memproses hasil tes, menyediakan video eksekusi, tangkapan layar langkah, dan log terperinci.

Keuntungan pengujian cloud

Memiliki perangkat sendiri memerlukan investasi modal yang signifikan untuk pembelian dan pemeliharaan perangkat fisik. Firebase Test Lab menyediakan akses ke ribuan perangkat dengan sistem bayar per penggunaan (pay-per-use) dengan batas gratis di paket Spark. Test Lab secara otomatis memperbarui perangkat ke model terbaru, termasuk flagship Google Pixel, Samsung Galaxy, Xiaomi, dan iPhone terbaru. Tes dijalankan secara paralel pada beberapa perangkat, yang mengurangi total waktu verifikasi aplikasi.

Platform yang didukung

Untuk Android, Test Lab mendukung pengujian pada perangkat dengan tingkat API dari 21 hingga versi stabil Android terbaru. Dukungan iOS mencakup perangkat iPhone dan iPad asli dengan versi iOS dari 15 hingga versi stabil terbaru. Untuk iOS tersedia pengujian robot dan XCTest. Setiap tes dapat dijalankan pada perangkat fisik atau emulator — untuk hasil yang paling akurat, Google merekomendasikan penggunaan perangkat fisik karena dapat mengungkap masalah dengan sensor, kamera, dan antarmuka jaringan.

Jenis tes di Firebase Test Lab

Firebase Test Lab mendukung beberapa jenis tes, yang masing-masing menyelesaikan tugasnya sendiri dalam siklus pengembangan: tes robot untuk pemeriksaan stabilitas cepat, tes instrumental untuk verifikasi fungsional, dan tes tangkapan layar untuk mendeteksi regresi visual. Pemilihan jenis tes tergantung pada tahap pengembangan dan tujuan dari pelaksanaan tertentu.

Tes robot (Robo tests)

Tes robot adalah kemampuan unik Firebase Test Lab yang tidak memerlukan penulisan kode tes. Firebase Crawler secara otomatis menjelajahi aplikasi: menemukan semua elemen UI interaktif, mengkliknya, mengisi formulir dengan data tes, berpindah antar layar, dan mencatat setiap kegagalan (crash, ANR, pengecualian). Tes robot mendeteksi hingga 80% bug kritis tanpa satu baris kode tes pun, menjadikannya alat yang ideal untuk menilai stabilitas dasar aplikasi pada tahap awal pengembangan.

Tes instrumental (Instrumentation tests)

Tes instrumental adalah tes yang ditulis oleh pengembang menggunakan framework Espresso (Android) atau XCTest (iOS). Test Lab menjalankan APK dengan tes pada perangkat target dan mengumpulkan hasil eksekusi. Tes bisa sederhana (memeriksa tampilan elemen) atau kompleks (skenario end-to-end: otorisasi, menambah ke keranjang, menyelesaikan pesanan). Firebase Test Lab mendukung Android Test Orchestrator untuk mengisolasi tes satu sama lain, yang mencegah satu tes gagal memengaruhi yang lain.

Tes tangkapan layar (Game loop dan tangkapan layar)

Tes tangkapan layar digunakan untuk mendeteksi regresi visual dalam aplikasi. Game loop adalah jenis tes khusus yang mengirimkan daftar skenario ke aplikasi melalui intent, dan aplikasi harus menjalankan skenario tersebut dan mengambil tangkapan layar dari layar-layar kunci. Test Lab mengumpulkan tangkapan layar dari semua perangkat dalam matriks dan memungkinkan perbandingan dengan gambar referensi untuk mendeteksi perbedaan. Jenis tes ini sangat populer di aplikasi game untuk memeriksa rendering pada GPU yang berbeda.

Jenis tesKodeApa yang diperiksaKapan digunakan
Tes robotTidak diperlukanCrash, ANR, pengecualianPemeriksaan stabilitas cepat
InstrumentalEspresso / XCTestFungsionalitas skenarioPengujian regresi
Tangkapan layarGame loopRegresi visualPemeriksaan UI di berbagai perangkat

Matriks perangkat dan konfigurasi

Matriks pengujian di Firebase Test Lab adalah kumpulan konfigurasi perangkat tempat tes yang dipilih dijalankan. Setiap konfigurasi mencakup model perangkat, versi OS, orientasi layar (potret/lanskap), dan pengaturan regional (lokal, bahasa). Tes dijalankan secara paralel pada semua konfigurasi yang dipilih, yang secara signifikan mengurangi total waktu eksekusi dibandingkan dengan eksekusi berurutan pada setiap perangkat.

Memilih perangkat untuk matriks

Google merekomendasikan untuk menyertakan perangkat dengan karakteristik berbeda dalam matriks: model flagship (Google Pixel, Samsung Galaxy S), perangkat anggaran (Moto G, Xiaomi Redmi), perangkat dengan versi API minimum yang didukung oleh aplikasi. Matriks optimal mencakup 5–10 konfigurasi yang mencakup semua versi OS yang didukung oleh aplikasi. Untuk iOS dipilih iPhone dan iPad dari generasi berbeda (misalnya iPhone SE, iPhone 14, iPad Air) dengan versi iOS yang berbeda.

Pengelompokan tes dan paralelisme

Test Lab secara otomatis mendistribusikan tes ke perangkat yang dipilih, menjalankan setiap tes pada setiap konfigurasi. Waktu eksekusi seluruh matriks sama dengan waktu eksekusi tes paling lambat pada perangkat paling lambat — semua lainnya dijalankan secara paralel. Jika satu tes gagal di semua perangkat, Test Lab menghentikan eksekusinya pada konfigurasi yang tersisa untuk menghemat sumber daya. Hasil dikelompokkan berdasarkan tes dan perangkat, yang memungkinkan penentuan cepat apakah kesalahan spesifik untuk konfigurasi tertentu.

Pengujian robot: eksplorasi otomatis

Pengujian robot adalah kemampuan andalan Firebase Test Lab yang memungkinkan eksplorasi otomatis aplikasi tanpa menulis satu tes pun. Firebase Crawler (robot) menganalisis hierarki UI aplikasi, menemukan semua elemen interaktif (tombol, bidang teks, daftar, menu) dan berinteraksi dengannya, mensimulasikan perilaku pengguna nyata. Pengujian robot sangat efektif pada tahap awal pengembangan, ketika tes belum ditulis, atau untuk memeriksa kode lama.

Konfigurasi tes robot

Untuk menjalankan tes robot, cukup unggah APK atau IPA ke Firebase Console dan pilih opsi Robo test. Robot dapat secara otomatis masuk ke aplikasi melalui kredensial yang dikonfigurasi sebelumnya (login/kata sandi) untuk mengakses layar yang tersembunyi di balik otorisasi. Anda juga dapat mengatur kedalaman eksplorasi (max depth) untuk membatasi jumlah langkah robot, atau menentukan elemen spesifik yang harus diklik robot secara prioritas.

xml
<!-- res/xml/robo_directives.xml -->
<!-- Robot akan mengisi bidang login dan kata sandi -->
<?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>

Keterbatasan tes robot

Tes robot tidak menggantikan pengujian manual dan tes instrumental yang ditulis untuk skenario kompleks. Robot tidak dapat memeriksa logika bisnis: ia mengklik semua elemen secara berurutan, tetapi tidak tahu apakah hasilnya benar. Robot juga tidak dapat berinteraksi dengan tampilan kustom yang tidak mewarisi dari ViewGroup standar dan tidak memproses WebView. Untuk kasus ini, perlu menggunakan tes instrumental atau Game loop.

Integrasi dengan CI/CD dan Gradle

Integrasi Firebase Test Lab dengan sistem CI/CD memungkinkan pengujian otomatis setiap kali push ke repositori. Test Lab mendukung tugas Gradle untuk Android dan Fastlane untuk kedua platform. Konfigurasi pipeline CI/CD meliputi pembuatan aplikasi, mengunggah APK/IPA ke Google Cloud Storage, menjalankan tes melalui Firebase CLI, dan menerima laporan kembali ke sistem CI untuk menampilkan status build.

Konfigurasi melalui Gradle (Android)

Google menyediakan plugin gcloud-test-lab untuk Gradle yang mengotomatiskan pengunggahan dan penjalanan tes. Tugas assembleAndroidTest membangun APK dengan tes, dan tugas gcloud mengunggahnya ke Test Lab dan menjalankan matriks. Hasil tes dikembalikan ke Gradle sebagai pass/fail, yang memungkinkan integrasi Test Lab ke pipeline CI mana pun yang mendukung Gradle. Untuk otorisasi, digunakan akun layanan Firebase dengan hak akses ke 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"
    }
}

Konfigurasi melalui Fastlane

Fastlane menyediakan plugin firebase_test_lab untuk integrasi dengan tes iOS dan Android. Fastlane lane melakukan build, menjalankan tes, dan memproses hasil. Untuk iOS XCTest, Test Lab memerlukan file xctestrun, yang dibuat secara otomatis saat membangun target tes. Fastlane juga dapat mengunggah hasil tes ke Slack atau aplikasi perpesanan lain untuk memberi tahu tim tentang status pengujian setelah setiap eksekusi.

Analisis hasil pengujian

Setelah tes selesai Firebase Test Lab menyediakan laporan komprehensif yang tersedia di Firebase Console dan melalui gcloud CLI. Laporan mencakup ringkasan singkat (jumlah tes lulus, gagal, dan dilewati), informasi terperinci tentang setiap tes pada setiap perangkat, video eksekusi, tangkapan layar langkah-langkah kunci, dan log perangkat (logcat untuk Android, system log untuk iOS). Untuk tes yang gagal, tersedia stack trace yang menunjukkan lokasi kesalahan yang tepat.

Interpretasi hasil tes robot

Untuk tes robot, laporannya berbeda dari tes instrumental: alih-alih pass/fail per kasus tes, laporan menunjukkan statistik eksplorasi. Metrik kunci — jumlah layar yang ditemukan dan dikunjungi, jumlah interaksi robot (klik, gesek, masukan teks), crash dan ANR yang terdeteksi, serta jalur yang dilalui melalui aplikasi. Video eksekusi robot memungkinkan penilaian visual tentang layar mana yang telah diuji dan mana yang belum tercakup.

Ekspor hasil

Hasil tes disimpan di Google Cloud Storage dalam bucket yang terikat dengan proyek. Data tersedia untuk diekspor dan diintegrasikan dengan sistem analitik eksternal. Untuk penyimpanan jangka panjang dan perbandingan hasil antar eksekusi, disarankan untuk mengonfigurasi ekspor BigQuery atau menggunakan Firebase Test Lab API untuk mendapatkan hasil secara terprogram. Google menyediakan kemampuan untuk mengunduh arsip ZIP dengan kumpulan hasil lengkap untuk setiap eksekusi tes.

Pertanyaan yang Sering Diajukan

Berapa biaya Firebase Test Lab?

Paket Spark mencakup 10 tes Robo per hari dan 5 jam tes instrumental per bulan secara gratis. Paket Blaze ditagih berdasarkan waktu: ~1 USD per perangkat-jam untuk tes Robo dan ~5 USD untuk tes instrumental. Harga pastinya tergantung pada wilayah dan jenis perangkat.

Apa perbedaan perangkat fisik dan emulator di Test Lab?

Perangkat fisik memberikan hasil yang lebih akurat, termasuk masalah dengan sensor, kamera, GPS, Bluetooth, dan kinerja nyata. Emulator memulai lebih cepat dan lebih murah, tetapi tidak mendeteksi masalah yang terkait dengan fitur perangkat keras. Google merekomendasikan perangkat fisik untuk pengujian pra-rilis.

Bagaimana cara mengatur otorisasi untuk tes robot?

Buat file XML robo_directives.xml dengan bidang input (login, kata sandi) dan tombol untuk diklik. Unggah file bersama APK saat menjalankan tes melalui Firebase Console atau CLI. Robot akan melakukan tindakan yang ditentukan sebelum memulai eksplorasi.

Bisakah saya menjalankan tes iOS di Firebase Test Lab?

Ya, Firebase Test Lab mendukung iOS sejak 2024. Tes Robo (eksplorasi otomatis) dan XCTest (tes instrumental) tersedia pada perangkat iPhone dan iPad asli. Untuk mengunggah, diperlukan file IPA dengan target tes.

Bagaimana cara mengintegrasikan Test Lab dengan GitHub Actions?

Gunakan Firebase CLI di GitHub Actions: konfigurasi autentikasi melalui Service Account JSON, instal gcloud SDK, jalankan perintah firebase test android run dengan menentukan APK dan konfigurasi. Hasil tes tersedia melalui Firebase Console atau gcloud CLI.

Kesimpulan

  • Firebase Test Lab — layanan cloud Google untuk pengujian aplikasi seluler pada perangkat nyata dengan pembayaran per penggunaan.
  • Tiga jenis tes — tes robot (tanpa kode, eksplorasi otomatis), instrumental (Espresso, XCTest), dan tangkapan layar (Game loop) untuk berbagai tugas verifikasi.
  • Matriks perangkat memungkinkan pengujian paralel pada serangkaian konfigurasi (model + versi OS + orientasi), mengurangi total waktu pemeriksaan.
  • Tes robot (Firebase Crawler) secara otomatis menjelajahi aplikasi, mendeteksi hingga 80% kesalahan kritis tanpa menulis satu baris kode tes pun.
  • Integrasi CI/CD — Test Lab mendukung Gradle, Fastlane, dan Firebase CLI untuk pengujian otomatis setiap push ke repositori.
  • Laporan terperinci mencakup video eksekusi, tangkapan layar, log perangkat, dan stack trace untuk setiap tes gagal pada setiap konfigurasi.
  • Batas gratis — 10 tes Robo per hari di paket Spark, cukup untuk pemeriksaan stabilitas dasar aplikasi dalam siklus pengembangan harian.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga