Google is committed to advancing racial equity for Black communities. See how.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Uji Ulang Otomatis

Pengujian mungkin gagal karena alasan apa pun, dan terkadang menjalankan ulang pengujian saja sudah cukup untuk membuatnya lulus lagi (karena kelemahan, seperti dari masalah di infrastruktur yang mendasarinya). Anda dapat mengonfigurasi Tradefed untuk melakukan percobaan ulang secara otomatis.

Inti dari coba ulang otomatis adalah menghindari menjalankan ulang semua pengujian; itu hanya menjalankan kembali tes yang gagal, menghasilkan penghematan besar dalam waktu eksekusi.

Tradefed juga mendukung pengujian yang berjalan beberapa kali untuk mendeteksi kelemahan melalui fitur iterasi . Dalam kasus ini, semua pengujian akan dijalankan ulang, dan pengujian akan gagal jika salah satu iterasi gagal.

Mengaktifkan fitur tersebut

Percobaan ulang otomatis dikontrol melalui objek RetryDecision yang menyediakan dua opsi untuk mengaktifkan fitur: max-testcase-run-count dan retry-strategy .

max-testcase-run-count mendorong jumlah percobaan ulang atau iterasi yang akan dilakukan. Ini menetapkan batas atas untuk menghindari mencoba ulang selamanya. retry-strategy mendorong keputusan tentang bagaimana mencoba ulang; lihat bagian berikut untuk lebih jelasnya.

Mencoba lagi kegagalan

Untuk mencoba kembali pengujian yang gagal, gunakan opsi berikut:

--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X

Ini akan mencoba ulang kegagalan hingga berhasil atau hingga jumlah percobaan ulang maksimum tercapai, mana saja yang lebih dulu.

Iterasi

Untuk menjalankan ulang tes untuk beberapa waktu, opsi berikut dapat digunakan:

--retry-strategy ITERATIONS --max-testcase-run-count X

Seperti apa hasilnya?

Pelapor hasil secara default akan menerima hasil gabungan dari semua upaya.

Misalnya: Fail dan Pass untuk RETRY_ANY_FAILURE akan menghasilkan Pass gabungan karena RETRY_ANY_FAILURE ulang berhasil menghapus kegagalan.

Pelapor dapat menerima hasil non-agregat. Untuk melakukannya, mereka perlu memperluas antarmuka ISupportGranularResults yang mendeklarasikan dukungan untuk hasil granular (non-agregat).

Detail Implementasi

Untuk mengaktifkan coba ulang otomatis untuk menjalankan kembali kegagalan pada tingkat kasus pengujian, terapkan ITestFilterReceiver .

Jika Anda tidak dapat mengimplementasikan ITestFilterReceiver, Anda dapat mengimplementasikan IAutoRetriableTest untuk mengontrol secara manual bagaimana menjalankan ulang. InstalledInstrumentationsTest adalah contoh implementasi antarmuka itu.