Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Ikhtisar Federasi Perdagangan

Federasi Perdagangan (Tradefed atau TF singkatnya) 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) .

Federasi Perdagangan adalah aplikasi Java yang berjalan di komputer host, dan berkomunikasi ke satu atau lebih perangkat Android menggunakan ddmlib (pustaka di belakang DDMS) melalui adb.

Kami telah membuat daftar beberapa fitur utama TF di bawah ini, bersama dengan beberapa contoh kasus penggunaan. Karena itu, jika Anda ingin langsung memulai dan memulai, Anda dapat langsung menuju ke halaman Mulai di Sini .

fitur

  • modular, fleksibel, desain yang dapat diskalakan
  • 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 tes pada beberapa perangkat secara paralel

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

Kasus penggunaan

Modularitas Federasi Perdagangan membuatnya mudah untuk dimasukkan ke dalam lingkungan dengan infrastruktur pembuatan, pengujian, dan pelaporan yang ada. Di bawah ini kami mencantumkan beberapa kasus penggunaan demonstratif di mana tradefed dapat memungkinkan praktik pengujian yang efisien dan skalabel.

Pertama, berguna 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, tetapi memiliki sedikit atau tidak ada pengaruh atas 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 kasus penggunaan akan memiliki tujuan pengujian yang berbeda, dan akan memiliki opsi berbeda dalam kasus serangkaian kegagalan pengujian. Terlepas dari perbedaan ini, Federasi Perdagangan dapat membantu membuat setiap proses pengujian mereka menjadi efisien, fleksibel, dan dapat diskalakan.

Perangkat OEM

Perangkat OEM membangun perangkat keras, dan sering kali mengubah sistem dan kerangka kerja Android agar berjalan dengan baik pada perangkat keras itu. 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 Pengaturan Target dari siklus hidup . Modul itu akan memiliki kendali penuh atas perangkat selama periode eksekusinya, yang akan memungkinkannya untuk secara potensial memaksa perangkat ke dalam bootloader, flash, dan kemudian memaksa perangkat untuk melakukan boot ulang kembali ke mode ruang pengguna. Dikombinasikan dengan modul untuk digabungkan ke dalam sistem build berkelanjutan, ini akan memungkinkan OEM menjalankan pengujian pada perangkat mereka saat mereka membuat perubahan pada firmware tingkat sistem dan framework 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 dikaitkan dengan 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 developer yang lebih besar, proses pengujian mungkin digabungkan ke dalam urutan build 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 diinstal 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 instans TF yang berjalan pada mesin host yang sama.

Karena kemampuan TF dalam menangani beberapa perangkat, akan sangat mudah untuk mengklasifikasikan setiap hasil pengujian 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

Sebuah Layanan Pengujian mungkin, misalnya, mengizinkan pengembang aplikasi untuk mengirimkan aplikasi dan menjalankan pengujian pada perangkat yang diinstrumentasi dengan alat pengukuran daya untuk menentukan penggunaan daya untuk aplikasi tersebut. Ini berbeda dari dua kasus penggunaan sebelumnya karena pembuat layanan tidak mengontrol perangkat atau aplikasi yang sedang dijalankan.

Karena Federasi Perdagangan dapat menjalankan kelas Java apa pun yang mengimplementasikan antarmuka IRemoteTest sederhana, sangat mudah untuk menulis driver yang dapat mengoordinasikan beberapa perangkat keras eksternal dengan kasus uji yang dijalankan pada perangkat. Driver itu sendiri dapat memunculkan Threads, mengirim permintaan ke server lain, atau melakukan apa pun yang mungkin diperlukannya. Selain itu, kesederhanaan dan keserbagunaan antarmuka pelaporan hasil, ITestInvocationListener , berarti bahwa merepresentasikan hasil pengujian sewenang-wenang secara langsung (termasuk, misalnya, metrik daya numerik) ke dalam pipa pelaporan hasil standar.