Trade Federation (Tradefed atau TF untuk jangka pendek) adalah kerangka kerja pengujian berkelanjutan yang dirancang untuk menjalankan pengujian pada perangkat Android. Misalnya, Tradefed digunakan untuk menjalankan Compatibility Test Suite (CTS) dan Vendor Test Suite (VTS) .
Trade Federation adalah aplikasi Java yang berjalan pada komputer host, dan berkomunikasi dengan satu atau lebih perangkat Android menggunakan ddmlib (library di belakang DDMS) melalui adb.
Kami telah mencantumkan beberapa fitur utama TF di bawah ini, bersama dengan beberapa contoh kasus penggunaan. Yang mengatakan, jika Anda ingin langsung masuk dan memulai, Anda dapat langsung menuju halaman Mulai Di Sini .
Fitur
- desain modular, fleksibel, skalabel
- memiliki dukungan bawaan untuk menjalankan berbagai jenis pengujian Android: instrumentasi , uiautomator , native/gtest, JUnit berbasis host, dll
- menyediakan keandalan dan mekanisme pemulihan di atas adb
- mendukung penjadwalan dan menjalankan tes pada beberapa perangkat secara paralel
Lihat Pengujian Melalui TF untuk informasi terbaru tentang cara menjalankan pengujian yang ada, seperti Instrumentasi .
Gunakan kasus
Modularitas Federasi Perdagangan membuatnya mudah untuk dimasukkan ke dalam lingkungan dengan infrastruktur pembangunan, pengujian, dan pelaporan yang ada. Kami mencantumkan di bawah ini beberapa kasus penggunaan demonstratif di mana tradefed dapat memungkinkan praktik pengujian yang efisien dan dapat diskalakan.
Pertama, berguna untuk mempertimbangkan lanskap dari kasus penggunaan potensial dalam kaitannya dengan pertanyaan "bagian mana yang dapat dimodifikasi, dan bagian mana yang statis?" Misalnya, Perangkat OEM dapat memodifikasi kerangka kerja, sistem, dan perangkat keras, tetapi memiliki sedikit atau tidak ada pengaruh terhadap aplikasi yang ada. Pengembang aplikasi, di sisi lain, dapat memodifikasi aplikasi, tetapi memiliki sedikit kendali atas sebagian besar aspek sistem atau kerangka kerja.
Akibatnya, entitas di setiap usecase akan memiliki tujuan pengujian yang berbeda, dan akan memiliki opsi yang berbeda jika terjadi serangkaian kegagalan pengujian. Terlepas dari perbedaan ini, Federasi Perdagangan dapat membantu membuat setiap proses pengujian mereka menjadi efisien, fleksibel, dan terukur.
Perangkat OEM
Perangkat OEM membangun perangkat keras, dan akan sering mengubah sistem dan kerangka kerja Android agar berjalan dengan baik di perangkat keras tersebut. OEM mungkin berusaha untuk mencapai tujuan tersebut sambil mempertahankan stabilitas dan kinerja di tingkat perangkat keras dan sistem, dan memastikan perubahan kerangka kerja tidak merusak kompatibilitas dengan aplikasi yang ada.
OEM dapat mengimplementasikan modul flashing perangkat yang akan dijalankan selama tahap Target Setup dari siklus hidup . Modul itu akan memiliki kontrol penuh atas perangkat selama periode eksekusinya, yang memungkinkannya untuk berpotensi memaksa perangkat masuk ke bootloader, mem-flash, dan kemudian memaksa perangkat untuk reboot kembali ke mode ruang pengguna. Dikombinasikan dengan modul untuk diikat ke dalam sistem pembangunan berkelanjutan, ini akan memungkinkan OEM untuk menjalankan pengujian pada perangkat mereka saat mereka membuat perubahan pada firmware tingkat sistem dan kerangka kerja tingkat Java.
Setelah perangkat di-boot sepenuhnya, OEM akan dapat memanfaatkan pengujian berbasis JUnit yang ada, atau menulis yang baru, untuk memverifikasi fungsionalitas yang diinginkan. Terakhir, mereka dapat menulis satu atau lebih modul pelaporan hasil untuk dihubungkan ke repositori hasil pengujian yang ada, atau untuk melaporkan hasil secara langsung (misalnya, melalui email ).
Pengembang aplikasi
Pengembang Aplikasi membangun 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 pengembang yang lebih besar, proses pengujian mungkin dimasukkan ke dalam urutan pembangunan berkelanjutan. Untuk pengembang yang lebih kecil, ini mungkin dimulai secara berkala atau dengan tangan.
Sebagian besar pengembang aplikasi akan menggunakan modul instalasi pengujian apk yang sudah ada di TF. Ada versi yang menginstal dari sistem file lokal , serta versi yang dapat menginstal apk yang diunduh dari layanan build . Penting untuk dicatat bahwa versi terakhir akan terus bekerja dengan baik dengan banyak instans TF yang berjalan pada mesin host yang sama.
Karena kemahiran TF dalam menangani beberapa perangkat, akan mudah untuk mengklasifikasikan setiap hasil tes berdasarkan jenis perangkat yang digunakan untuk pengujian tersebut. Dengan demikian, TF berpotensi menghasilkan matriks kompatibilitas 2-dimensi (atau multi-dimensi) untuk setiap build aplikasi.
Layanan pengujian
Layanan Pengujian mungkin, misalnya, mengizinkan pengembang aplikasi untuk mengirimkan aplikasi dan menjalankan pengujian pada perangkat yang dilengkapi dengan alat pengukur daya untuk menentukan penggunaan daya untuk aplikasi. Ini berbeda dari dua kasus penggunaan sebelumnya karena pembuat layanan tidak mengontrol perangkat atau aplikasi yang sedang dijalankan.
Karena Trade Federation dapat menjalankan kelas Java apa pun yang mengimplementasikan antarmuka IRemoteTest
sederhana, menulis driver yang dapat mengoordinasikan beberapa perangkat keras eksternal dengan test case yang sedang dijalankan pada perangkat adalah hal yang sepele. Pengemudi itu sendiri dapat menelurkan Utas, mengirim permintaan ke server lain, atau melakukan hal lain yang mungkin diperlukan. Selain itu, kesederhanaan dan keserbagunaan antarmuka pelaporan hasil, ITestInvocationListener
, berarti juga mudah untuk mewakili hasil pengujian arbitrer (termasuk, misalnya, metrik daya numerik) ke dalam pipa pelaporan hasil standar.