Ticaret Federasyonu (Tradefed veya kısaca TF), Android cihazlarda testler yürütmek 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.
Ticaret Federasyonu, bir ana 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.
Aşağıda TF'nin bazı temel özelliklerini birkaç örnek kullanım örneğiyle birlikte listeledik. Bununla birlikte, hemen başlamak 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ı Android testi türünü çalıştırmak için yerleşik desteğe sahiptir: enstrümantasyon , uiautomator , native/gtest, ana bilgisayar tabanlı JUnit, vb.
- adb'nin yanı sıra güvenilirlik ve kurtarma mekanizmaları sağlar
- birden fazla cihazda paralel olarak testlerin planlanmasını ve çalıştırılmasını destekler
Kullanım örnekleri
Ticaret Federasyonu'nun modülerliği, mevcut derleme, test ve raporlama altyapılarına sahip ortamlara yerleştirmeyi kolaylaştırır. Tradefed'in verimli, ölçeklenebilir test uygulamalarını mümkün kılabileceği birkaç örnek kullanım örneğini aşağıda listeliyoruz.
İlk olarak, potansiyel kullanım senaryolarını "hangi parçalar değiştirilebilir, hangi parçalar statik?" sorusu açısından değerlendirmek faydalı olacaktır. Örneğin, bir Cihaz OEM'i çerçeveyi, sistemi ve donanımı değiştirebilir ancak mevcut uygulamalar üzerinde çok az etkisi vardır 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 senaryosunda bir varlığın farklı test hedefleri olacak ve bir dizi test başarısızlığı 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'i
Bir Cihaz OEM'si donanım oluşturur ve genellikle Android sistemini ve çerçevelerini bu donanım üzerinde iyi çalışacak şekilde ayarlar. OEM, donanım ve sistem düzeylerinde kararlılığı ve performansı korurken ve çerçeve değişikliklerinin mevcut uygulamalarla uyumluluğu bozmadığından emin olarak bu hedeflere ulaşmaya çalışabilir.
OEM, yaşam döngüsünün Hedef Kurulumu aşamasında çalıştırılacak bir cihaz flaş modülü uygulayabilir. Bu modül, yürütme süresi boyunca cihaz üzerinde tam kontrole sahip olacak ve bu da potansiyel olarak cihazı önyükleyiciye zorlamasına, flaş yapmasına ve ardından cihazı kullanıcı alanı moduna geri dönmeye zorlamasına olanak tanıyacaktır. Sürekli yapı sistemine bağlanmak için bir modülle birleştirildiğinde bu, OEM'in sistem düzeyindeki donanım yazılımında ve Java düzeyindeki ç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 yeni testler yazabilecektir. Son olarak, mevcut test sonucu havuzlarına bağlanmak veya sonuçları doğrudan raporlamak (örneğin e-posta yoluyla ) 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 geliştirir. Belirli bir platform sürümünde ve/veya cihazda bir sorun ortaya çıkarsa tek çare bir geçici çözüm ekleyip devam etmektir. Daha büyük geliştiriciler için test süreci sürekli bir derleme dizisine dahil edilebilir. Daha küçük geliştiriciler için bu süreç 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, derleme hizmetinden indirilen apk'leri yükleyebilen bir sürüm de vardır. İkinci sürümün, aynı ana makinede rastgele birçok TF örneği çalıştırıldığında düzgün çalışmaya devam edeceğini unutmamak önemlidir.
TF'nin birden fazla cihazla çalışma konusundaki uzmanlığı nedeniyle, her test sonucunu o test için kullanılan cihazın 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, uygulamanın güç kullanımını belirlemek için güç ölçüm araçlarıyla donatılmış cihazlarda uygulamalar göndermesine ve testler yapmasına olanak tanıyabilir. Bu, hizmet oluşturucunun çalıştırılan cihazları veya uygulamaları denetlememesi açısından önceki iki kullanım durumundan farklıdır.
Ticaret Federasyonu, basit
IRemoteTest arayüzünü uygulayan herhangi bir Java sınıfını çalıştırabildiğinden, bazı harici donanım parçalarını cihazda çalıştırılan test durumuyla koordine edebilen sürücüleri yazmak önemsizdir. Sürücünün kendisi Konular oluşturabilir, diğer sunuculara istek gönderebilir veya ihtiyaç duyabileceği başka herhangi bir şeyi yapabilir. Ayrıca, sonuç raporlama arayüzünün basitliği ve çok yönlülüğü,
ITestInvocationListener , standart sonuç raporlama hattında rastgele test sonuçlarının (örneğin, sayısal güç ölçümleri dahil) temsil edilmesinin de aynı şekilde basit olduğu anlamına gelir.