Ticaret Federasyonuna genel bakış

Trade Federation (kısaca Tradeed veya TF), Android cihazlarda testler yapmak için tasarlanmış sürekli bir test çerçevesidir. Örneğin, Uyumluluk Test Paketi (CTS) ve Satıcı Test Paketi'ni (VTS) çalıştırmak için Tradefed kullanılır.

Trade Federation, bir ana bilgisayarda çalışan ve adb üzerinden ddmlib (DDMS'nin arkasındaki kitaplık) kullanarak bir veya daha fazla Android cihazla iletişim kuran bir Java uygulamasıdır.

Birkaç örnek kullanım senaryosu ile birlikte TF'nin bazı ana özelliklerini aşağıda listeledik. Bununla birlikte, hemen atlamak ve başlamak istiyorsanız, doğrudan Buradan Başlayın sayfasına gidebilirsiniz.

Özellikler

  • modüler, esnek, ölçeklenebilir tasarım
  • birçok farklı türde Android testi çalıştırmak için yerleşik destek içerir: enstrümantasyon , uiautomator , yerel/gtest, ana bilgisayar tabanlı JUnit, vb.
  • adb üzerine güvenilirlik ve kurtarma mekanizmaları sağlar
  • paralel olarak birden fazla cihazda zamanlama ve çalıştırma testleri destekler

Enstrümantasyon gibi mevcut testlerinizi nasıl çalıştıracağınızla ilgili en güncel bilgiler için TF Üzerinden Test Etme bölümüne bakın.

Kullanım durumları

Trade Federation'ın modülerliği, mevcut yapı, test ve raporlama altyapılarına sahip ortamlara girmeyi kolaylaştırır. Aşağıda, tradefed'in verimli, ölçeklenebilir test uygulamalarına olanak sağlayabileceği birkaç örnek kullanım örneğini listeliyoruz.

İlk olarak, potansiyel kullanım durumlarını "hangi parçalar değiştirilebilir ve hangi parçalar statik?" sorusu açısından değerlendirmek faydalı olacaktır. Örneğin, bir Aygıt OEM'i çerçeveyi, sistemi ve donanımı değiştirebilir, ancak mevcut uygulamalar üzerinde çok az etkiye sahiptir veya hiç etkisi yoktur. Öte yandan, bir uygulama geliştiricisi uygulamayı değiştirebilir, ancak sistemin veya çerçevenin çoğu yönü üzerinde çok az kontrole sahiptir.

Sonuç olarak, her bir kullanım durumundaki bir varlığın farklı test hedefleri olacaktır ve bir dizi test hatası durumunda farklı seçeneklere sahip olacaktır. Bu farklılıklara rağmen Trade Federation, test süreçlerinin her birinin verimli, esnek ve ölçeklenebilir olmasına yardımcı olabilir.

Cihaz OEM'i

Bir Cihaz OEM'i donanım oluşturur ve genellikle bu donanımda iyi çalışması için Android sistemini ve çerçevelerini değiştirir. OEM, donanım ve sistem düzeylerinde istikrar ve performansı korurken ve çerçeve değişikliklerinin mevcut uygulamalarla uyumluluğu bozmadığından emin olarak bu hedeflere ulaşmak için çaba gösterebilir.

OEM, yaşam döngüsünün Hedef Kurulum aşaması sırasında yürütülecek bir aygıt yanıp sönme modülü uygulayabilir. Bu modül, yürütme süresi boyunca cihaz üzerinde tam kontrole sahip olacaktır; bu, cihazı potansiyel olarak önyükleyiciye, flaşa ve ardından cihazı yeniden kullanıcı alanı moduna yeniden başlatmaya zorlamasına izin verecektir. Sürekli bir yapı sistemine bağlanmak için bir modülle bir araya getirildiğinde, bu, OEM'in sistem düzeyinde bellenim ve Java düzeyinde çerçevelerde değişiklik yaparken cihazlarında testler yapmasına olanak tanır.

Cihaz tamamen başlatıldığında, OEM, ilgilenilen işlevselliği doğrulamak için mevcut JUnit tabanlı testlerden yararlanabilecek veya yenilerini yazabilecektir. Son olarak, mevcut test-sonuç havuzlarına bağlanmak veya sonuçları doğrudan (örneğin, e-posta ile ) raporlamak için bir veya daha fazla sonuç raporlama modülü yazabilirler.

Uygulama geliştiricisi

Bir Uygulama Geliştiricisi, çeşitli platform sürümlerinde ve çeşitli cihazlarda iyi çalışması gereken bir uygulama oluşturur. Belirli bir platform sürümünde ve/veya cihazda bir sorun ortaya çıkarsa, tek çözüm bir geçici çözüm eklemek ve devam etmektir. Daha büyük geliştiriciler için test süreci, sürekli bir yapı dizisine dahil edilebilir. Daha küçük geliştiriciler için periyodik olarak veya elle başlatılabilir.

Çoğu uygulama geliştiricisi, TF'de zaten mevcut olan apk test kurulum modüllerini kullanır. Yerel dosya sisteminden yüklenen bir sürümün yanı sıra bir derleme hizmetinden indirilen apk'leri yükleyebilen bir sürüm vardır. İkinci sürümün, aynı ana makinede çalışan rastgele birçok TF örneğiyle düzgün şekilde çalışmaya devam edeceğini belirtmek önemlidir.

TF'nin birden fazla cihazla uğraşma konusundaki yetkinliği nedeniyle, her bir test sonucunu o test için kullanılan cihaz tipine göre sınıflandırmak kolay olacaktır. Böylece, TF, uygulamanın her yapısı için potansiyel olarak 2 boyutlu (veya çok boyutlu) bir uyumluluk matrisi oluşturabilir.

Test hizmeti

Örneğin, bir Test Hizmeti, uygulama geliştiricilerinin uygulamalar göndermesine ve uygulamanın güç kullanımını belirlemek için güç ölçüm araçlarıyla donatılmış cihazlarda testler yapmasına izin verebilir. Bu, hizmet oluşturucunun çalıştırılan cihazları veya uygulamaları kontrol etmemesi bakımından önceki iki kullanım durumundan farklıdır.

Trade Federation, basit IRemoteTest arabirimini uygulayan herhangi bir Java sınıfını çalıştırabildiğinden, aygıtta çalıştırılan test senaryosu ile bazı harici donanım parçalarını koordine edebilen sürücüler yazmak önemsizdir. Sürücünün kendisi İş Parçacıkları oluşturabilir, diğer sunuculara istek gönderebilir veya ihtiyaç duyabileceği başka bir şey yapabilir. Ayrıca, sonuç raporlama arayüzünün basitliği ve çok yönlülüğü ITestInvocationListener , standart sonuç raporlama hattına rastgele test sonuçlarını (örneğin sayısal güç ölçümleri dahil) göstermenin de aynı şekilde basit olduğu anlamına gelir.