Ticaret Federasyonu'na genel bakış

Trade Federation (kısaltması Tradefed veya TF), Android cihazlarda test çalıştırmak için tasarlanmış sürekli bir test çerçevesidir. Örneğin, Tradefed, Compatibility Test Suite (CTS) ve Vendor Test Suite (VTS)'i çalıştırmak için kullanılır.

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

TF'nin bazı temel özelliklerini ve birkaç örnek kullanım alanını aşağıda bulabilirsiniz. Bununla birlikte, hemen başlamak istiyorsanız doğrudan Burada Başlayın sayfasına gidebilirsiniz.

Özellikler

  • modüler, esnek, ölçeklenebilir tasarım
  • birçok farklı Android testi çalıştırmak için yerleşik destek sunar: araç kullanımı, uiautomator, yerel/gtest, ana makineye dayalı JUnit vb.
  • adb'nin üzerine güvenilirlik ve kurtarma mekanizmaları sağlar
  • Testleri birden fazla cihazda paralel olarak planlama ve çalıştırma desteği

Mevcut testlerinizin nasıl çalıştırılacağına dair en güncel bilgiler (ör. Enstrümantasyon) için TF ile test etme başlıklı makaleyi inceleyin.

Kullanım örnekleri

Trade Federation'ın modüler yapısı, mevcut oluşturma, test ve raporlama altyapılarına kolayca entegre edilmesini sağlar. Tradefed'in verimli ve ölçeklenebilir test uygulamaları sağlayabileceği birkaç örnek kullanım alanını aşağıda bulabilirsiniz.

Öncelikle, "hangi bölümler değiştirilebilir, hangi bölümler statik?" sorusuyla ilgili olarak olası kullanım alanlarını değerlendirmek faydalı olacaktır. Örneğin, bir cihaz OEM'si çerçeveyi, sistemi ve donanımı değiştirebilir ancak mevcut uygulamalar üzerinde çok az veya hiç etkisi yoktur. Öte yandan uygulama geliştiriciler, uygulamayı değiştirebilir ancak sistemin veya çerçevenin çoğu yönü üzerinde çok az kontrole sahiptir.

Sonuç olarak, her kullanım alanındaki bir öğenin farklı test hedefleri ve bir dizi test hatası durumunda farklı seçenekleri olur. Bu farklılıklara rağmen Trade Federation, test süreçlerinin her birini verimli, esnek ve ölçeklenebilir hale getirmelerine yardımcı olabilir.

Cihaz OEM'si

Cihaz OEM'leri donanım üretir ve genellikle Android sistemini ve çerçevelerini bu donanımda iyi çalışacak şekilde ayarlar. OEM, donanım ve sistem düzeylerinde kararlılığı ve performansı korurken bu hedeflere ulaşmaya çalışabilir ve çerçeve değişikliklerinin mevcut uygulamalarla uyumluluğu bozmadığından emin olabilir.

OEM, yaşam döngüsünün Hedef Kurulum aşamasında çalışacak bir cihaz yanıp sönme modülü uygulayabilir. Bu modül, yürütülme süresi boyunca cihaz üzerinde tam kontrole sahip olur. Bu sayede cihazı bootloader'a zorlayabilir, önyükleyebilir ve ardından cihazı kullanıcı alanı moduna yeniden başlatmaya zorlayabilir. Bu, sürekli bir derleme sistemine bağlanacak bir modülle birlikte kullanıldığında OEM'nin sistem düzeyinde donanım yazılımında ve Java düzeyinde çerçevelerde değişiklik yaparken cihazında testler yapmasını sağlar.

Cihaz tamamen başlatıldıktan sonra OEM, ilgilenilen işlevi doğrulamak için mevcut JUnit tabanlı testlerden yararlanabilir veya yeni testler yazabilir. Son olarak, mevcut test sonucu depolarıyla bağlantı kurmak veya sonuçları doğrudan bildirmek (ör. e-postayla) için bir veya daha fazla sonuç raporlama modülü yazabilirler.

Uygulama geliştirici

Uygulama geliştiriciler, ç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 sorun oluşursa tek çözüm, geçici çözüm ekleyip devam etmektir. Daha büyük geliştiriciler için test süreci, sürekli bir derleme sırasına dahil edilebilir. Küçük geliştiriciler için bu işlem düzenli olarak veya manuel olarak başlatılabilir.

Çoğu uygulama geliştirici, TF'de zaten mevcut olan APK test yükleme modüllerini kullanır. Yerel dosya sisteminden yükleme yapan bir sürümün yanı sıra derleme hizmetinden indirilen apk'ları yükleyebilen bir sürüm de vardır. İkinci sürümün, aynı ana makinede çalışan rastgele sayıda TF örneğiyle düzgün çalışmaya devam edeceğini unutmayın.

TF'nin birden fazla cihazla çalışma konusundaki uzmanlığı sayesinde her test sonucunu, ilgili test için kullanılan cihaz türüne göre sınıflandırmak kolaydır. Bu nedenle TF, uygulamanın her derlemesi için 2 boyutlu (veya çok boyutlu) bir uyumluluk matrisi oluşturabilir.

Test hizmeti

Örneğin, bir test hizmeti, uygulama geliştiricilerin uygulama 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 kullanım alanı, hizmet oluşturucunun çalıştırılan cihazları veya uygulamaları kontrol etmemesi açısından önceki iki kullanım alanından farklıdır.

Trade Federation, basit IRemoteTest arayüzünü uygulayan tüm Java sınıflarını çalıştırabildiğinden, bazı harici donanım parçalarını cihazda çalıştırılan test davasıyla koordine edebilecek sürücüler yazmak çok kolaydır. Sürücünün kendisi de iş parçacıkları oluşturabilir, diğer sunuculara istek gönderebilir veya ihtiyaç duyabileceği başka herhangi bir işlem yapabilir. Ayrıca, sonuç raporlama arayüzünün (ITestInvocationListener) basitliği ve çok yönlülüğü, standart sonuç raporlama ardışık düzeninde keyfi test sonuçlarını (ör. sayısal güç metrikleri dahil) temsil etmenin de kolay olduğu anlamına gelir.