Trade Federation (Tradefed veya kısaca TF), Android cihazlarda testler yapmak için tasarlanmış sürekli bir test çerçevesidir. Örneğin Tradefed, Uyumluluk Test Paketini (CTS) ve Satıcı Test Paketini (VTS) çalıştırmak için kullanılır.
Trade Federation, bir ana bilgisayarda çalışan ve adb üzerinden ddmlib (DDMS'nin arkasındaki kütüphane) kullanarak bir veya daha fazla Android cihazla iletişim kuran bir Java uygulamasıdır.
Aşağıda birkaç örnek kullanım durumuyla birlikte TF'nin bazı ana özelliklerini listeledik. Bununla birlikte, hemen başlamak ve başlamak istiyorsanız, doğrudan Buradan Başlayın sayfasına gidebilirsiniz.
Özellikleri
- modüler, esnek, ölçeklenebilir tasarım
- pek çok farklı türde Android testi çalıştırmak için yerleşik desteğe sahiptir: enstrümantasyon , uiautomator , native / gtest, ana bilgisayar tabanlı JUnit, vb.
- adb üzerinde güvenilirlik ve kurtarma mekanizmaları sağlar
- paralel olarak birden fazla cihazda testlerin planlanmasını ve çalıştırılmasını destekler
Kullanım durumları
Trade Federation'un modülerliği, mevcut yapı, test ve raporlama altyapılarına sahip ortamlara yerleştirmeyi kolaylaştırır. Tradefed'in verimli, ölçeklenebilir test uygulamaları sağlayabileceği birkaç örnek kullanım durumunu aşağıda listeledik.
Birincisi, potansiyel kullanım durumlarının manzarasını "hangi parçalar değiştirilebilir ve hangi parçalar statiktir?" Sorusu açısından ele almak yararlıdır. Örneğin, bir Cihaz 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 kullanım durumundaki bir varlık farklı test hedeflerine sahip olacak ve bir dizi test hatası durumunda farklı seçeneklere sahip olacaktır. Bu farklılıklara rağmen, Ticaret Federasyonu, test süreçlerinin her birinin verimli, esnek ve ölçeklenebilir olmasına yardımcı olabilir.
Cihaz OEM
Bir Cihaz OEM'i donanım oluşturur ve genellikle Android sistemini ve çerçevelerini bu donanım üzerinde iyi çalışacak şekilde değiştirir. OEM, donanım ve sistem seviyelerinde kararlılığı ve performansı korurken ve çerçeve değişikliklerinin mevcut uygulamalarla uyumluluğu bozmamasını sağlarken bu hedefleri gerçekleştirmeye çalışabilir.
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ütme süresi boyunca cihaz üzerinde tam kontrole sahip olacak ve bu da, cihazı potansiyel olarak önyükleyiciye, flaşa ve ardından cihazı kullanıcı alanı moduna yeniden başlatmaya zorlamasına izin verecektir. Sürekli bir derleme sistemine bağlanmak için bir modülle birleştirildiğinde, bu OEM'in sistem düzeyindeki bellenim ve Java düzeyindeki çerçevelerde değişiklik yaparken aygıtlarında testler çalıştırmasına olanak tanır.
Cihaz tamamen başlatıldıktan sonra OEM, ilgilenilen işlevselliği doğrulamak için mevcut JUnit tabanlı testlerden yararlanabilir veya yenilerini yazabilir. Son olarak, mevcut test sonucu havuzlarına bağlanmak veya sonuçları doğrudan raporlamak için (örneğin e-posta yoluyla ) 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 derleme sırasına 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 testi yükleme modüllerini kullanır. Yerel dosya sisteminden yüklenen bir sürümün yanı sıra bir yapı hizmetinden indirilen apk'leri yükleyebilen bir sürüm var. İkinci sürümün, aynı ana makinede çalışan rastgele birçok TF örneğiyle düzgün çalışmaya devam edeceğini unutmamak önemlidir.
TF'nin birden fazla cihazla ilgilenme konusundaki yeterliliği nedeniyle, her test sonucunu o test için kullanılan cihaz türüne 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 uygulama için güç kullanımını belirlemek üzere güç ölçüm araçlarıyla donatılmış cihazlarda uygulama göndermesine ve testler çalıştırması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 arayüzünü uygulayan herhangi bir Java sınıfını çalıştırabildiğinden, cihazda çalıştırılan test
IRemoteTest bazı harici donanım parçalarını koordine edebilecek 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 her şeyi yapabilir. Ayrıca, sonuç raporlama arayüzü
ITestInvocationListener basitliği ve çok yönlülüğü, standart sonuç raporlama hattında rastgele test sonuçlarının (örneğin sayısal güç ölçütleri dahil) gösterilmesinin de aynı şekilde basit olduğu anlamına gelir.