Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Siklus Hidup Uji TF

Siklus hidup pengujian yang dijalankan menggunakan Federasi Perdagangan terdiri dari empat tahap terpisah, dirancang di sekitar antarmuka yang ditentukan secara formal.

Antarmuka yang ditentukan

  • Build Provider : Menyediakan build untuk diuji, mendownload file yang sesuai jika perlu.
  • Target Preparer : Mempersiapkan lingkungan pengujian, mungkin termasuk instalasi perangkat lunak dan konfigurasi perangkat.
  • Tes : Menjalankan tes dan mengumpulkan hasil tes. Ini mungkin Tes JUnit apa pun, meskipun antarmuka IRemoteTest kami dirancang khusus untuk bekerja dengan baik di lingkungan Federasi Perdagangan.
  • Test Invocation Listener (pelaporan hasil) : Mendengarkan hasil pengujian, biasanya untuk tujuan meneruskan hasil pengujian ke repositori atau menampilkannya ke Test Runner.

Entitas pengujian fundamental di TF adalah Konfigurasi (config). Config adalah file XML yang mendeklarasikan komponen siklus proses suatu pengujian.

Pemisahan siklus hidup pengujian ini dimaksudkan agar dapat digunakan kembali. Dengan menggunakan desain ini, Pengembang dapat membuat Tes sekali, dan kemudian Integrator dapat membuat Konfigurasi yang berbeda untuk menjalankan Tes tersebut di lingkungan yang berbeda. Misalnya, mereka dapat membuat Konfigurasi yang akan menjalankan pengujian pada mesin lokal dan membuang hasilnya ke stdout. Mereka kemudian dapat membuat Konfigurasi kedua yang akan menjalankan pengujian yang sama, tetapi menggunakan Test Invocation Listener yang berbeda untuk menyimpan hasil pengujian dalam database. Konfigurasi ketiga mungkin dirancang untuk menjalankan pengujian tersebut secara terus menerus dari lab pengujian di suatu tempat.

Sangat mudah untuk dicatat di sini bahwa Konfigurasi bersama dengan argumen baris perintahnya (seperti yang disediakan oleh Test Runner) dikenal sebagai Perintah . Ketika TF memasangkan sebuah Perintah dengan ITestDevice dan mengeksekusinya, objek berikutnya disebut sebagai Invocation . Singkatnya, Invocation mencakup eksekusi uji TF lengkap, di seluruh siklus hidupnya.

Komponen konfigurasi tambahan

  • Pemulihan Perangkat : mekanisme untuk memulihkan komunikasi perangkat jika hilang.
  • Logger : mengumpulkan data logging tradefed.

Keluaran panggung dan kesalahan

Setiap tahapan permintaan dijalankan secara berurutan dan memiliki tujuan tertentu. Bagian ini menjelaskan keluaran dan kesalahan biasa dari setiap tahap.

Build provider

Tahap ini membuat dan mengeluarkan objek IBuildInfo yang berisi semua referensi file yang diperlukan untuk menyiapkan dan menjalankan pengujian.

Kesalahan paling umum pada tahap ini adalah kegagalan mengunduh atau menemukan file yang diminta.

Kesalahan pada tahap ini menghasilkan pelaporan kesalahan secara langsung, dan tidak ada pengujian yang dijalankan.

Persiapan target

Tahap ini menyiapkan status yang diperlukan untuk target yang diuji. Tahap ini dapat mengubah perangkat atau pengaturan host sesuai kebutuhan untuk permintaan pengujian yang diberikan.

Kesalahan umum pada tahap ini biasanya melibatkan kegagalan untuk mengatur perangkat ke dalam keadaan tertentu (misalnya, gagal berkedip) dan kegagalan untuk menemukan file yang diperlukan untuk pengaturan.

Kesalahan pada tahap ini menghasilkan pembersihan target yang berjalan, pelaporan kesalahan, dan tidak ada pengujian yang dijalankan.

Tes

Tahap ini menjalankan tes yang diminta pada target yang disiapkan sebelumnya, dan melaporkan semua hasil eksekusi tes.

Kesalahan umum pada tahap ini biasanya melibatkan target yang sedang diuji tidak tersedia atau beberapa kesalahan yang menyebabkan eksekusi sebagian dari pengujian. Error ini adalah masalah infrastruktur yang memengaruhi eksekusi pengujian itu sendiri, bukan kegagalan satu kasus pengujian.

Kesalahan pada tahap ini mengakibatkan eksekusi pengujian berhenti, pembersihan target berjalan, melaporkan kesalahan, dan mendapatkan hasil parsial.

Pelaporan hasil

Tahap ini melaporkan hasil dan kesalahan ke layanan yang dikonfigurasi (misalnya, server dan file lokal).

Meskipun pelapor hasil individu dapat memiliki kesalahan, mereka terisolasi satu sama lain (satu pelapor tidak melihat kesalahan dari yang lain). Kesalahan ini hanya mempengaruhi laporan hasil pelapor individu dan kesalahan dapat dilihat di log.