Agen App Testing adalah agen yang dapat membuat, mengelola, dan menjalankan kasus pengujian dengan dukungan Gemini di Firebase. Anda menentukan sasaran pengujian dalam bahasa alami, dan agen ini menggunakan AI untuk memahami dan menjelajahi aplikasi Anda, menyimulasikan interaksi pengguna, dan memberikan hasil pengujian yang mendetail.
Cara agen App Testing menggunakan data Anda
Agen App Testing disediakan oleh Gemini di Firebase dan diatur berdasarkan persyaratan yang sama. Lihat Cara Gemini di Firebase menggunakan data Anda untuk mengetahui informasi selengkapnya tentang cara Gemini di Firebase menggunakan data Anda.
Sebelum memulai
Jika belum melakukannya, daftarkan aplikasi Anda ke Firebase.
Jika tidak menggunakan produk Firebase lainnya, Anda hanya perlu membuat project dan mendaftarkan aplikasi. Anda tidak perlu menambahkan SDK apa pun ke aplikasi. Namun, jika Anda memutuskan untuk menggunakan produk tambahan pada masa mendatang, pastikan untuk menyelesaikan semua langkah di Menambahkan Firebase menggunakan Firebase console.
Membuat kasus pengujian
Untuk menjalankan pengujian yang dipandu AI, agen App Testing menggunakan kasus pengujian bahasa alami Anda untuk menjalankan pengujian terhadap aplikasi Anda.
Setiap kasus pengujian dibagi menjadi beberapa langkah, yang akan dijalankan secara berurutan. Langkah memungkinkan Anda membagi kasus pengujian menjadi beberapa fase, masing-masing dengan pernyataannya sendiri. Agen dapat melakukan banyak tindakan selama satu langkah.
Ada dua cara untuk membuat kasus pengujian: menggunakan file YAML atau menggunakan Firebase console. File YAML memungkinkan Anda mengelola kasus pengujian sendiri, biasanya di repositori kode sumber yang diberi versi. Atau, Firebase console dapat menyimpan kasus pengujian Anda dari jarak jauh bersama dengan data Distribusi Aplikasi Anda.
Menggunakan file YAML
Contoh berikut menunjukkan file YAML yang menentukan dua kasus pengujian:
tests:
- displayName: Login as guest
id: login-as-guest
steps:
- goal: Log in as a guest
finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
prerequisiteTestCaseId: login-as-guest
steps:
- goal: Open the article on "Bob Dylan"
hint: Use the search function to find it
finalScreenAssertion: >-
The article is opened and the title "Bob Dylan" is visible.
- goal: Find Bob Dylan's birthday in the article
hint: >-
Look for the "Born" section in the infobox on the right side of the page.
finalScreenAssertion: >-
The text "May 24, 1941" is visible on the screen.
Anda dapat mengatur grup pengujian dalam satu file dan memisahkan rangkaian
pengujian ini dalam beberapa file. Anda dapat menambahkan kasus pengujian prasyarat dengan menambahkan ID ke
pengujian, lalu merujuk ID tersebut menggunakan prerequisiteTestCaseId.
Menggunakan App Distribution console
Atau, Anda dapat membuat dan mengelola kasus pengujian di Firebase console. Untuk membuat kasus pengujian, buka halaman App Distribution di Firebase console dan lakukan langkah-langkah berikut:
- Di tab Test Cases, klik New test case. Jika tidak ingin membuat kasus pengujian sendiri, Anda dapat memodifikasi atau menggunakan contoh kasus pengujian yang disediakan.
- Dalam dialog Add test case, beri nama kasus pengujian. Nama ini digunakan untuk mengidentifikasi pengujian, tetapi diabaikan oleh agen.
- (Opsional) Pilih Prerequisite test case yang berisi langkah-langkah penyiapan untuk dijalankan sebelum pengujian utama. Jika pengujian prasyarat gagal, seluruh pengujian akan ditandai sebagai gagal. Langkah-langkah dan hasil dari pengujian utama dan prasyarat akan ditampilkan bersama dalam hasil pengujian.
- Pertimbangkan untuk membagi pengujian menjadi beberapa langkah dengan mengklik tombol Add another step.
- Berikan Sasaran untuk setiap langkah yang menjelaskan tindakan yang harus dilakukan agen App Testing selama langkah tersebut.
- (Opsional) Tambahkan Petunjuk untuk memberikan informasi tambahan guna membantu agen App Testing memahami dan menavigasi aplikasi Anda selama langkah tersebut.
- Tambahkan Pernyataan layar akhir agar agen App Testing dapat menentukan apakah langkahnya sudah berhasil diselesaikan. Pernyataan ini hanya boleh merujuk pada apa yang terlihat di layar.
- Klik Save setelah Anda selesai menyesuaikan pengujian.
Contoh kasus pengujian
Berikut adalah contoh cara membuat kasus pengujian menggunakan agen App Testing:
Judul pengujian |
Pemuatan halaman beranda |
Sasaran |
Memuat halaman beranda |
Petunjuk |
Buka layar orientasi. Tutup semua pop-up. Jangan login. |
Pernyataan layar akhir |
Halaman beranda aplikasi utama terlihat di layar, semua gambar telah dimuat, dan tidak muncul error. |
Menjalankan pengujian
Cara Anda menjalankan pengujian bergantung pada cara Anda membuat dan mengelola kasus pengujian. Jika Anda menentukan kasus pengujian menggunakan file YAML, Anda akan menjalankan pengujian tersebut menggunakan Firebase CLI. Jika membuat kasus pengujian di konsol App Distribution, Anda akan menjalankannya dari konsol atau melalui salah satu alat CLI App Distribution.
Menggunakan file YAML
Kasus pengujian yang ditentukan dalam file YAML dapat dijalankan menggunakan Firebase CLI.
- Instal atau update ke versi terbaru Firebase CLI. Sebaiknya download biner mandiri untuk CLI khusus untuk OS Anda.
- Login dan uji apakah Anda dapat mengakses project. Perhatikan bahwa jika Anda menggunakan Firebase CLI di lingkungan CI, Anda juga dapat melakukan autentikasi dengan akun layanan atau menggunakan login:ci.
Jalankan perintah
apptesting:execute. Contoh:firebase apptesting:execute \ --app=1:1234567890:android:0a1b2c3d4e5f67890 \ --test-dir=./mytests \ ./app/build/outputs/apk/debug/app-debug.apk
| apptesting:execute [options] [/path/to/app/binary] | |
|---|---|
--app
|
Wajib diisi: ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan ID Aplikasi di Firebase console, di halaman Setelan Umum.
|
--test-dir
|
Jalur ke direktori yang berisi file YAML kasus pengujian. Perintah akan menelusuri secara rekursif di bagian direktori ini, sehingga file dapat diatur secara opsional ke dalam subdirektori. Jika tidak disetel, "./tests" akan digunakan secara default. |
--test-devices atau --test-devices-file
|
Perangkat pengujian yang build-nya akan Anda distribusikan ke fitur agen App Testing. Anda dapat menentukan perangkat pengujian sebagai daftar perangkat pengujian yang dipisahkan titik koma: --test-devices
"model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Atau, Anda dapat menentukan jalur ke file teks biasa yang berisi daftar perangkat pengujian yang dipisahkan titik koma: --test-devices-file
"/path/to/test-devices.txt" Anda dapat mencari model perangkat yang tersedia menggunakan gcloud CLI. |
--test-non-blocking
|
Jika disetel, perintah akan memulai pengujian, lalu langsung menampilkannya dan tidak menunggu hingga selesai. |
--test-file-pattern
|
Pola ekspresi reguler. Hanya pengujian yang ada dalam file yang cocok dengan pola ini yang akan dijalankan. |
--test-name-pattern
|
Pola ekspresi reguler. Hanya pengujian dengan nama tampilan yang cocok dengan pola ini yang akan dieksekusi. |
/path/to/app/binary
|
Opsional: Jalur ke biner aplikasi Anda. Jika tidak disertakan, agen akan menggunakan rilis terakhir yang diupload ke App Distribution untuk aplikasi yang ditentukan. |
Menggunakan App Distribution console
Untuk menjalankan kasus pengujian yang disimpan di App Distribution, Anda dapat menggunakan Firebase console, Firebase CLI, atau plugin Gradle atau fastlane App Distribution.
Mengimpor & mengekspor kasus pengujian dengan file YAML
Mengimpor kasus pengujian dari file YAML berguna ketika Anda ingin mengelola kasus pengujian di luar Firebase console. Anda juga dapat mengekspor kasus pengujian untuk memindahkannya antar-project. Anda dapat menggunakan LLM untuk menyempurnakan kasus pengujian yang ada atau membuat kasus pengujian baru. Anda dapat mengimpor dan mengekspor kasus pengujian dari halaman Test Cases di Firebase console atau secara terprogram menggunakan Firebase CLI. Untuk contoh kasus pengujian YAML, lihat Membuat kasus pengujian YAML.
Melihat hasil pengujian Anda
Anda dapat melihat hasil pengujian dari halaman Releases di tab App Testing agent dari suatu rilis. Tombol View details akan membuka dialog Test Results dan menampilkan masalah, screenshot aplikasi, dan tindakan yang dilakukan Gemini selama pengujian.
Jika pengujian menggunakan tindakan yang diulang, Anda dapat melihat eksekusi asli pengujian yang dipandu AI atau menghapus cache.
Untuk mempelajari lebih lanjut hasil pengujian, lihat tabel berikut:
| Ikon | Nama | Deskripsi |
|---|---|---|
| spark | Tindakan AI | Menunjukkan bahwa agen App Testing menggunakan Gemini guna memutuskan untuk mengambil tindakan atau mengakhiri langkah. |
| replay | Tindakan yang diulang | Menunjukkan bahwa agen App Testing mengulang tindakan dari pengujian sebelumnya yang berhasil. |
| spark | Pernyataan AI | Menunjukkan bahwa agen App Testing menggunakan Gemini untuk memvalidasi pernyataan layar akhir, setelah mengulang tindakan dari pengujian yang sama yang berhasil dijalankan sebelumnya. |
Men-debug hasil pengujian
Jika hasil pengujian berbeda dari yang Anda harapkan, Anda dapat men-debug pengujian menggunakan tombol Show agent view di bagian View details di halaman Test Results. Tampilan agen menampilkan elemen di layar yang dapat dideteksi oleh agen App Testing saat menggunakan informasi aksesibilitas aplikasi. Jika ingin menganalisis hal yang dideteksi oleh agen pengujian aplikasi ini, Anda dapat mendownload informasi tersebut dari menu tambahan tindakan.
Anda juga dapat menggunakan tombol View artifacts di halaman Test Results untuk melihat semua video, log, dan artefak Cloud untuk hasil pengujian Anda.
Masalah umum dan batasan
Pratinjau agen App Testing memiliki beberapa batasan umum:
- Karena agen App Testing menggunakan AI generatif untuk menguji aplikasi Anda, agen ini terkadang akan melakukan tindakan yang berbeda meski petunjuk yang diberikan sama.
- Agen App Testing hanya mendukung tindakan berikut: ketuk, masukkan teks, geser ke atas/bawah/kiri/kanan, tekan lama, tarik lalu lepas, kembali, dan tunggu.
- Agen App Testing akan kesulitan saat menjalankan pengujian yang hanya berisi satu langkah, tetapi memerlukan banyak tindakan untuk menyelesaikannya. Model ini akan berperforma lebih baik saat tugas kompleks dibagi menjadi beberapa langkah yang lebih sederhana.
- Agen App Testing terkadang tidak akan men-scroll ke elemen aplikasi yang tidak terlihat di layar. Hal ini lebih sering terjadi ketika tidak ada indikasi visual yang menunjukkan bahwa layar dapat di-scroll. Sebagai solusi, kolom "hints" dapat digunakan untuk menyarankan agar agen melakukan scroll.
- Agen App Testing terkadang mengalami masalah dalam menghitung, misalnya saat diminta melakukan suatu tindakan dalam jumlah tertentu.
- Agen App Testing tidak dapat menjelajahi aplikasi Anda jika
FLAG_SECUREdiaktifkan. Agen hanya akan melihat layar kosong, bukan screenshot aplikasi Anda.
Kuota pengujian
Selama pratinjau, pengujian yang dipandu AI akan ditawarkan tanpa biaya dalam batas kuota tertentu. Batas kuota default adalah 200 pengujian per bulan, per project Firebase.
Perlu diperhatikan bahwa jika Anda memilih untuk menjalankan beberapa kasus pengujian, atau menjalankan kasus pengujian yang sama di beberapa perangkat, masing-masing kombinasi akan dihitung sebagai pengujian terpisah. Sebagai contoh, jika Anda menjalankan 2 kasus pengujian di 2 perangkat, maka total pengujian yang dihitung adalah 4.
Untuk meningkatkan kuota di atas batas default, hubungi Dukungan Firebase dengan kasus penggunaan Anda.