Ada beberapa cara penggunaan Firebase Test Lab untuk menjalankan pengujian di aplikasi Android Anda, termasuk antarmuka command line, Android Studio, UI Test Lab di Firebase console, dan Testing API. Apa pun cara yang Anda pilih untuk memulai pengujian, hasilnya akan disimpan di project Firebase yang Anda tetapkan. Anda dapat mempelajari hasilnya menggunakan ToolResults API selain alat-alat di atas. Halaman ini menjelaskan cara meninjau dan menganalisis hasil pengujian tersebut.
Konsep utama
Untuk melihat hasil dari semua pengujian sebelumnya, pilih Test Lab di panel navigasi kiri pada project Anda di Firebase console. Halaman ini menampilkan semua pengujian yang dijalankan dari aplikasi yang telah diuji dengan project Anda menggunakan Test Lab.
Untuk meninjau hasil uji, Anda harus memahami tiga konsep terlebih dahulu:
Saat Anda menjalankan pengujian atau serangkaian kasus pengujian terhadap perangkat dan konfigurasi yang dipilih, Test Lab menjalankan pengujian terhadap aplikasi Anda dalam batch, lalu menampilkan hasilnya sebagai matriks uji.
Perangkat × Eksekusi Uji = Matriks Uji
- Perangkat
- Perangkat fisik atau virtual (khusus Android) tempat Anda menjalankan pengujian, seperti ponsel, tablet, atau perangkat wearable. Perangkat dalam matriks uji diidentifikasi menurut model perangkat, versi OS, orientasi layar, dan lokalitas (juga dikenal sebagai setelan geografi dan bahasa).
- Pengujian, eksekusi uji
- Pengujian (atau serangkaian kasus pengujian) yang dijalankan di perangkat. Anda dapat menjalankan satu pengujian per perangkat, atau melakukan sharding pengujian dan menjalankan beberapa kasus pengujiannya pada perangkat yang berbeda.
- Matriks uji
- Berisi status dan hasil pengujian untuk eksekusi uji Anda. Jika salah satu eksekusi uji dalam matriks gagal, seluruh matriks akan gagal.
Bagian berikut menjelaskan cara melihat hasil pengujian.
Menafsirkan hasil histori pengujian
Saat Anda ingin melihat hasil pengujian dengan memilih Test Lab, Anda akan melihat hasil pengujian yang telah dijalankan sejauh ini.
Histori pengujian dikelompokkan berdasarkan aplikasi. Hanya lima matriks uji terbaru yang ditampilkan untuk setiap aplikasi. Jika ada lebih dari lima matriks uji yang tersedia, Anda dapat mengklik link Semua Matriks di bagian bawah daftar pengujian aplikasi untuk melihat daftar lengkap aplikasi tersebut.
Menafsirkan hasil matriks uji
Saat memulai pengujian melalui UI Test Lab, Anda akan dialihkan ke halaman tempat Anda dapat melihat matriks uji, lalu klik eksekusi uji tertentu untuk melihat hasil pengujian. Android Studio dan perintah gcloud juga menyediakan URL untuk halaman hasil matriks uji.
Pada matriks uji biasa, Anda bisa menjalankan pengujian pada puluhan perangkat yang berbeda. Masing-masing eksekusi uji dapat berhasil atau gagal. Kemungkinan hasil untuk eksekusi uji dalam matriks uji adalah sebagai berikut:
- Berhasil : Tidak ada kegagalan.
- Gagal : Minimal ada satu kegagalan.
- Diragukan : Hasil pengujian tidak meyakinkan, kemungkinan karena terjadi error pada Test Lab.
- Dilewati : Nilai dimensi yang dipilih untuk beberapa eksekusi uji dalam matriks tidak kompatibel. Hal ini terjadi jika perangkat yang dipilih tidak kompatibel dengan satu atau beberapa level API Android yang Anda pilih.
Guna meninjau hasil pengujian gabungan untuk semua matriks uji untuk aplikasi tertentu dalam project Firebase Anda, klik nama aplikasi tersebut, seperti yang ditunjukkan dalam contoh berikut:
Contoh halaman hasil matriks uji dengan hanya empat eksekusi uji
Halaman ini akan mengarahkan Anda ke daftar matriks uji untuk aplikasi yang digunakan, dan Anda dapat mengklik nama matriks uji mana pun untuk melihat hasilnya. Anda juga dapat mengklik nama aplikasi (ditunjukkan di kotak merah di bawah ini) guna melihat daftar matriks uji untuk aplikasi lain yang terkait dengan project Firebase Anda.
Contoh halaman daftar matriks uji
Suatu matriks uji bisa lulus, gagal, atau diragukan. Matriks uji dianggap gagal atau diragukan jika ada eksekusi uji dalam matriks tersebut yang gagal atau diragukan.
Menafsirkan hasil uji Robo
Jika Anda menjalankan pengujian dengan Robo, selain metrik uji biasa, hasil uji akan menyertakan video dan screenshot Robo yang melakukan crawling terhadap UI Anda. Video dan screenshot tersebut mencakup indikasi visual untuk tindakan yang dijalankan oleh Robo saat melakukan crawling, serupa dengan fitur 'Tampilkan sentuhan' di Android. Anda dapat menggunakan indikasi ini sebagai bantuan untuk memantau kemajuan Robo, dan mereproduksi setiap bug yang mungkin ditemukan oleh Robo.
Contoh video hasil uji Robo
Menafsirkan hasil dari eksekusi uji tunggal
Dari halaman hasil matriks uji, klik salah satu eksekusi uji untuk melihat hasilnya.
Contoh halaman hasil eksekusi uji
Di halaman ini, Anda dapat melihat waktu yang diperlukan untuk setiap eksekusi uji. Anda juga dapat melihat hasil untuk kasus pengujian tertentu yang berhubungan dengan metode dalam APK pengujian (untuk uji instrumentasi) dan hasil uji mendetail, termasuk log, screenshot, dan video pengujian. Untuk Uji Robo, hasil uji mendetail juga mencakup peta aktivitas yang secara grafis menunjukkan lokasi UI yang dikunjungi Uji Robo.
Hasil uji instrumentasi yang dipartisi
Untuk membantu Anda menafsirkan hasil pengujian berinstrumen, Test Lab memisahkan setiap pengujian ke dalam halaman laporan mendetail tersendiri, lengkap dengan pelacakan tumpukan, log, dan video. Fitur ini berfungsi saat Anda menggunakan Android Orchestrator atau pun tidak.
Contoh halaman hasil kasus uji
Menafsirkan hasil aksesibilitas
Uji Robo menggunakan Android Accessibility Scanner untuk mendeteksi masalah aksesibilitas di aplikasi Anda (perlu diperhatikan bahwa Anda juga dapat menjalankan pemindaian secara lokal di perangkat Anda). Untuk mendapatkan petunjuk terkait cara meninjau dan menafsirkan hasil aksesibilitas uji Robo, buka Memulai Accessibility Scanner.
Untuk mengetahui informasi umum tentang cara meningkatkan aksesibilitas aplikasi Anda, buka dokumentasi Aksesibilitas Developer Android.
Metrik performa
Pengujian pada perangkat fisik juga menampilkan metrik performa:
Metrik | Konfigurasi perangkat yang diperlukan |
---|---|
Waktu mulai aplikasi | API 19+ |
Penggunaan CPU | API 21+ |
Penggunaan memori | |
Aktivitas jaringan | |
Frame per detik | API 21+ dan menyertakan SurfaceView |
Performa grafis | API 23+ |
Detail performa grafis
Laporan performa grafis berisi statistik pada beberapa metrik grafis utama:
- Vsync yang Terlewat: Jumlah peristiwa Vsync yang terlewat, dibagi jumlah frame yang memerlukan waktu lebih dari 16 milidetik untuk di-render.
- Latensi input tinggi: Jumlah peristiwa input yang memerlukan waktu lebih dari 24 milidetik, dibagi jumlah frame yang memerlukan waktu lebih dari 16 milidetik untuk di-render.
- UI thread lambat: Frekuensi UI thread memerlukan waktu lebih dari 8 milidetik untuk diselesaikan, dibagi jumlah frame yang memerlukan waktu lebih dari 16 milidetik untuk di-render.
- Perintah draw lambat: Frekuensi yang mengirimkan perintah draw ke GPU memerlukan waktu lebih dari 12 milidetik, dibagi jumlah frame yang memerlukan waktu lebih dari 16 milidetik untuk di-render.
- Upload bitmap lambat: Frekuensi bitmap yang memerlukan waktu lebih dari 3,2 milidetik untuk diupload ke GPU, dibagi jumlah frame yang memerlukan waktu lebih dari 16 milidetik untuk di-render.
- Waktu render: Distribusi waktu render untuk setiap frame selama pengujian dijalankan. Waktu render yang lebih lama dari 32 milidetik menyebabkan pelambatan UI Anda dengan jelas. Waktu render lebih dari 700 menunjukkan periode frozen. Data rendering dikumpulkan dari
dumpsys graphicsstats
.
Hasil uji mendetail
Hasil uji mendetail tersedia selama 90 hari setelah Anda menjalankan pengujian, dan disimpan di bucket Google Cloud Storage (tetapi juga dapat dilihat di Firebase console). Anda dapat melihat hasil uji mendetail di bucket Cloud Storage saat mengklik Test results di halaman hasil eksekusi uji. Jika hasil uji mendetail tidak lagi tersedia, Anda tetap dapat melihat pengujian mana saja yang lulus atau gagal.
Agar hasil uji mendetail dapat disimpan selama lebih dari 90 hari, Anda harus mengirimkan hasil pengujian ini ke bucket Cloud Storage yang Anda miliki menggunakan opsi command-line gcloud --results-bucket. Setelah itu, Anda dapat menetapkan setelan Durasi untuk menentukan durasi penyimpanan hasil dalam bucket Cloud Storage. Lihat Kondisi siklus proses untuk mengetahui informasi tentang cara mengubah setelan Durasi.