Ringkasan Trade Federation

Trade Federation (disingkat Tradefed atau TF) adalah framework pengujian berkelanjutan yang dirancang untuk menjalankan pengujian di perangkat Android. Misalnya, Tradefed digunakan untuk menjalankan Compatibility Test Suite (CTS) dan Vendor Test Suite (VTS).

Trade Federation adalah aplikasi Java yang berjalan di komputer host, dan berkomunikasi dengan satu atau beberapa perangkat Android menggunakan ddmlib (library di balik DDMS) melalui adb.

Kami telah mencantumkan beberapa fitur utama TF di bawah, beserta beberapa contoh kasus penggunaan. Namun, jika ingin langsung memulai, Anda dapat langsung membuka halaman Mulai Di Sini.

Fitur

  • desain modular, fleksibel, dan skalabel
  • memiliki dukungan bawaan untuk menjalankan berbagai jenis pengujian Android: instrumentasi, uiautomator, native/gtest, JUnit berbasis host, dll.
  • memberikan mekanisme keandalan dan pemulihan di atas adb
  • mendukung penjadwalan dan menjalankan pengujian di beberapa perangkat secara paralel

Lihat Pengujian Melalui TF untuk mengetahui informasi terbaru tentang cara menjalankan pengujian yang ada, seperti Instrumentasi.

Kasus penggunaan

Modularitas Trade Federation memudahkan untuk dimasukkan ke dalam lingkungan dengan infrastruktur pembuatan, pengujian, dan pelaporan yang ada. Berikut adalah beberapa kasus penggunaan demonstratif yang memungkinkan tradefed mengaktifkan praktik pengujian yang efisien dan skalabel.

Pertama, sebaiknya pertimbangkan lanskap potensi kasus penggunaan dalam hal pertanyaan "bagian mana yang dapat diubah, dan bagian mana yang statis?" Misalnya, OEM Perangkat dapat mengubah framework, sistem, dan hardware, tetapi memiliki sedikit atau tidak ada pengaruh terhadap aplikasi yang ada. Di sisi lain, developer aplikasi dapat memodifikasi aplikasi, tetapi memiliki sedikit kontrol atas sebagian besar aspek sistem atau framework.

Akibatnya, entitas dalam setiap kasus penggunaan akan memiliki sasaran pengujian yang berbeda, dan akan memiliki opsi yang berbeda jika terjadi serangkaian kegagalan pengujian. Meskipun ada perbedaan ini, Trade Federation dapat membantu membuat setiap proses pengujian mereka efisien, fleksibel, dan skalabel.

OEM Perangkat

OEM Perangkat mem-build hardware, dan sering kali akan menyesuaikan sistem dan framework Android agar berjalan dengan baik di hardware tersebut. OEM mungkin berusaha untuk mencapai sasaran tersebut sekaligus mempertahankan stabilitas dan performa di tingkat hardware dan sistem, serta memastikan perubahan framework tidak merusak kompatibilitas dengan aplikasi yang ada.

OEM dapat menerapkan modul flashing perangkat yang akan dijalankan selama tahap Penyiapan Target dalam siklus proses. Modul tersebut akan memiliki kontrol penuh atas perangkat selama periode eksekusinya, yang akan memungkinkan modul tersebut berpotensi memaksa perangkat ke bootloader, flash, lalu memaksa perangkat untuk memulai ulang kembali ke mode ruang pengguna. Jika digabungkan dengan modul untuk dihubungkan ke sistem build berkelanjutan, hal ini akan memungkinkan OEM menjalankan pengujian di perangkat mereka saat mereka membuat perubahan pada firmware tingkat sistem dan framework tingkat Java.

Setelah perangkat di-booting sepenuhnya, OEM akan dapat memanfaatkan pengujian berbasis JUnit yang ada, atau menulis yang baru, untuk memverifikasi fungsi yang diinginkan. Terakhir, mereka dapat menulis satu atau beberapa modul pelaporan hasil untuk dikaitkan dengan repositori hasil pengujian yang ada, atau untuk melaporkan hasil secara langsung (misalnya, melalui email).

Developer aplikasi

Developer Aplikasi mem-build aplikasi yang perlu berjalan dengan baik di berbagai versi platform dan berbagai perangkat. Jika masalah muncul pada versi platform dan/atau perangkat tertentu, satu-satunya solusi adalah menambahkan solusi dan melanjutkan. Untuk developer yang lebih besar, proses pengujian dapat digabungkan ke dalam urutan build berkelanjutan. Untuk developer yang lebih kecil, proses ini mungkin dimulai secara berkala atau secara manual.

Sebagian besar developer aplikasi akan menggunakan modul penginstalan pengujian apk yang sudah ada di TF. Ada versi yang diinstal dari sistem file lokal, serta versi yang dapat menginstal apk yang didownload dari layanan build. Perlu diperhatikan bahwa versi terakhir akan terus berfungsi dengan baik dengan banyak instance TF yang berjalan secara arbitrer di mesin host yang sama.

Karena keahlian TF dalam menangani beberapa perangkat, akan mudah untuk mengklasifikasikan setiap hasil pengujian berdasarkan jenis perangkat yang digunakan untuk pengujian tersebut. Dengan demikian, TF berpotensi membuat matriks kompatibilitas 2 dimensi (atau multidimensi) untuk setiap build aplikasi.

Layanan pengujian

Misalnya, Layanan Pengujian dapat mengizinkan developer aplikasi mengirimkan aplikasi dan menjalankan pengujian pada perangkat yang dilengkapi dengan alat pengukuran daya untuk menentukan penggunaan daya aplikasi. Hal ini berbeda dengan dua kasus penggunaan sebelumnya karena builder layanan tidak mengontrol perangkat atau aplikasi yang sedang dijalankan.

Karena Trade Federation dapat menjalankan class Java apa pun yang mengimplementasikan antarmuka IRemoteTest sederhana, menulis driver yang dapat mengoordinasikan beberapa hardware eksternal dengan kasus pengujian yang dijalankan di perangkat tidaklah sulit. Driver itu sendiri dapat membuat Thread, mengirim permintaan ke server lain, atau melakukan hal lain yang mungkin diperlukan. Selain itu, kesederhanaan dan fleksibilitas antarmuka pelaporan hasil, ITestInvocationListener, juga berarti bahwa Anda dapat dengan mudah merepresentasikan hasil pengujian arbitrer (termasuk, misalnya, metrik daya numerik) ke dalam pipeline pelaporan hasil standar.