Federasi Perdagangan (Tradefed atau disingkat TF) adalah kerangka pengujian berkelanjutan yang dirancang untuk menjalankan pengujian pada perangkat Android. Misalnya, Tradefed digunakan untuk menjalankan Compatibility Test Suite (CTS) dan Vendor Test Suite (VTS) .
Federasi Perdagangan adalah aplikasi Java yang berjalan pada komputer host, dan berkomunikasi ke satu atau lebih perangkat Android menggunakan ddmlib (perpustakaan di belakang DDMS) melalui adb.
Kami telah mencantumkan beberapa fitur utama TF di bawah ini, bersama dengan beberapa contoh kasus penggunaan. Oleh karena itu, jika Anda ingin langsung masuk dan memulai, Anda dapat langsung membuka halaman Mulai Di Sini .
Fitur
- desain modular, fleksibel, dan terukur
- telah membangun dukungan untuk menjalankan berbagai jenis pengujian Android: instrumentasi , uiautomator , native/gtest, JUnit berbasis host, dll.
- menyediakan mekanisme keandalan dan pemulihan di atas adb
- mendukung penjadwalan dan menjalankan pengujian pada beberapa perangkat secara paralel
Lihat Pengujian Melalui TF untuk informasi terkini tentang cara menjalankan pengujian yang ada, seperti Instrumentasi .
Kasus penggunaan
Modularitas Federasi Perdagangan memudahkan penempatan ke dalam lingkungan dengan infrastruktur pembangunan, pengujian, dan pelaporan yang sudah ada. Di bawah ini kami mencantumkan beberapa kasus penggunaan demonstratif di mana tradefed dapat memungkinkan praktik pengujian yang efisien dan terukur.
Pertama, penting untuk mempertimbangkan lanskap kasus penggunaan potensial dalam kaitannya dengan pertanyaan "bagian mana yang dapat dimodifikasi, dan bagian mana yang statis?" Misalnya, OEM Perangkat dapat memodifikasi kerangka kerja, sistem, dan perangkat keras, namun memiliki sedikit atau tidak ada pengaruh terhadap aplikasi yang ada. Sebaliknya, pengembang aplikasi dapat memodifikasi aplikasi, namun hanya memiliki sedikit kendali atas sebagian besar aspek sistem atau kerangka kerja.
Akibatnya, suatu entitas di setiap kasus penggunaan akan memiliki tujuan pengujian yang berbeda, dan akan memiliki opsi berbeda jika terjadi serangkaian kegagalan pengujian. Terlepas dari perbedaan-perbedaan ini, Federasi Perdagangan dapat membantu menjadikan setiap proses pengujian mereka efisien, fleksibel, dan terukur.
Perangkat OEM
OEM Perangkat membuat perangkat keras, dan sering kali akan mengubah sistem dan kerangka kerja Android agar dapat berjalan dengan baik pada perangkat keras tersebut. OEM mungkin berusaha mencapai tujuan tersebut sambil mempertahankan stabilitas dan kinerja pada 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 Penyiapan Target pada siklus hidup . Modul tersebut akan memiliki kendali penuh atas perangkat selama periode eksekusinya, yang memungkinkannya berpotensi memaksa perangkat masuk ke bootloader, mem-flash, dan kemudian memaksa perangkat untuk melakukan boot ulang kembali ke mode ruang pengguna. Dikombinasikan dengan modul untuk diikat ke dalam sistem pembangunan berkelanjutan, hal 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 pengujian baru, untuk memverifikasi fungsionalitas yang diinginkan. Terakhir, mereka dapat menulis satu atau lebih modul pelaporan hasil untuk dihubungkan ke repositori hasil tes 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 rangkaian pembangunan berkelanjutan. Untuk pengembang kecil, ini mungkin dimulai secara berkala atau secara manual.
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 berfungsi dengan baik dengan banyak instance TF yang berjalan pada mesin host yang sama.
Karena kemahiran TF dalam menangani beberapa perangkat, maka akan mudah untuk mengklasifikasikan setiap hasil pengujian berdasarkan jenis perangkat yang digunakan untuk pengujian tersebut. Dengan demikian, TF berpotensi menghasilkan matriks kompatibilitas 2 dimensi (atau multidimensi) untuk setiap build aplikasi.
Layanan pengujian
Layanan Pengujian mungkin, misalnya, memungkinkan pengembang aplikasi mengirimkan aplikasi dan menjalankan pengujian pada perangkat yang dilengkapi dengan alat pengukuran daya untuk menentukan penggunaan daya untuk aplikasi. Hal ini berbeda dari dua kasus penggunaan sebelumnya karena pembuat layanan tidak mengontrol perangkat atau aplikasi yang sedang dijalankan.
Karena Federasi Dagang dapat menjalankan kelas Java apa pun yang mengimplementasikan antarmuka IRemoteTest
yang sederhana, sangatlah mudah untuk menulis driver yang dapat mengoordinasikan beberapa perangkat keras eksternal dengan kasus uji yang dijalankan pada perangkat. Driver itu sendiri dapat memunculkan Thread, mengirim permintaan ke server lain, atau melakukan hal lain yang mungkin diperlukan. Selain itu, kesederhanaan dan keserbagunaan antarmuka pelaporan hasil, ITestInvocationListener
, berarti mudah untuk merepresentasikan hasil pengujian arbitrer (termasuk, misalnya, metrik daya numerik) ke dalam saluran pelaporan hasil standar.