Trade Federation kullanılarak yürütülen bir testin yaşam döngüsü, resmi olarak tanımlanmış arayüzler etrafında tasarlanmış dört ayrı aşamadan oluşur.
Tanımlanmış arayüzler
- Derleme Sağlayıcı: Gerekirse uygun dosyaları indirerek test edilecek bir derleme sağlar.
- Hedef Hazırlayıcı: Yazılım yükleme ve cihaz yapılandırması da dahil olmak üzere test ortamını hazırlar.
- Test: Testleri yürütür ve test sonuçlarını toplar. Bu herhangi bir JUnit testi olabilir ancak IRemoteTest arayüzümüz özellikle Trade Federation ortamında iyi çalışacak şekilde tasarlanmıştır.
- Test Çağrısı Dinleyicisi (sonuç raporlama): Genellikle test sonuçlarını bir depoya yönlendirmek veya Test Çalıştırıcısı'na göstermek amacıyla test sonuçlarını dinler.
TF'deki temel test öğesi bir yapılandırmadır (config). Yapılandırma, bir testin yaşam döngüsü bileşenlerini açıklayan bir XML dosyasıdır.
Testin yaşam döngüsünün bu şekilde ayrılması, yeniden kullanıma olanak tanımak içindir. Geliştirici bu tasarımı kullanarak bir kez Test oluşturabilir. Ardından, entegratör bu Test'i farklı ortamlarda çalıştırmak için farklı yapılandırmalar oluşturabilir. Örneğin, yerel bir makinede test çalıştıracak ve sonucu stdout'a aktaracak bir yapılandırma oluşturabilirler. Ardından, aynı testi yürütecek ancak test sonuçlarını bir veritabanında depolamak için farklı bir Test Çağrısı Dinleyicisi kullanacak ikinci bir yapılandırma oluşturabilir. Üçüncü bir yapılandırma, bu testi bir yerdeki test laboratuvarından sürekli olarak çalıştırmak üzere tasarlanabilir.
Bir yapılandırmanın, komut satırı bağımsız değişkenleriyle birlikte (Test Çalıştırıcısı tarafından sağlandığı şekilde) Komut olarak bilindiğini burada belirtmek isteriz. TF bir Komutu bir ITestDevice
ile eşleştirip yürüttüğünde, sonraki nesne çağrı olarak bilinir.
Özetlemek gerekirse, bir çağrı, yaşam döngüsünün tamamı boyunca tam bir TF testi yürütmeyi kapsar.
Ek yapılandırma bileşenleri
- Cihaz Kurtarma: Kayıp cihaz iletişimini kurtarmak için kullanılan mekanizma.
- Günlükleyici: Tradefed günlük verilerini toplar.
Aşama çıkışı ve hataları
Bir çağrının her aşaması sırayla yürütülür ve belirli bir hedefi vardır. Bu bölümde, her aşamanın normal çıkışları ve hataları açıklanmaktadır.
Yapı sağlayıcı
Bu aşamada, testleri ayarlamak ve çalıştırmak için gereken tüm dosya referanslarını içeren bir IBuildInfo
nesnesi oluşturulur ve oluşturulan nesne çıktı olarak verilir.
Bu aşamada en sık karşılaşılan hata, istenen dosyaların indirilememesi veya bulunamamasıdır.
Bu aşamada hata oluştuğunda hata doğrudan raporlanır ve test çalıştırılmaz.
Hedef hazırlama
Bu aşamada, test edilen hedef için gerekli durumlar ayarlanır. Bu aşamada, cihaz veya ana makine kurulumu, belirli test çağrısı için gerektiği şekilde değiştirilebilir.
Bu aşamada genellikle cihazın belirli bir duruma ayarlanamaması (ör. yanıp sönme işleminin başarısız olması) ve kurulum için gerekli dosyaların bulunamaması gibi hatalar yaşanır.
Bu aşamada hata meydana gelirse hedef temizleme işlemi çalıştırılır, hata raporlanır ve test çalıştırılmaz.
Testler
Bu aşamada, istenen testler önceden hazırlanmış hedefte çalıştırılır ve tüm test yürütme sonuçları raporlanır.
Bu aşamada yaygın olarak karşılaşılan hatalar genellikle test edilen hedefin kullanılamamasıyla veya testlerin kısmen yürütülmesine neden olan bir hatayla ilgilidir. Bu hatalar, tek bir test durumunun başarısızlığından ziyade test yürütme işlemini etkileyen altyapı sorunlarıdır.
Bu aşamada bir hata meydana gelirse test yürütme durdurulur, hedef temizleme işlemi çalıştırılır, hata raporlanır ve kısmi sonuçlar elde edilir.
Sonuç raporlama
Bu aşamada, yapılandırılmış hizmetlerdeki (ör. sunucular ve yerel dosyalar) sonuçlar ve hatalar raporlanır.
Sonuç raporlayıcılarının hataları olabilir ancak bu raporlayıcılar birbirinden bağımsızdır (bir raporlayıcı diğerindeki hataları görmez). Bu hatalar yalnızca bir raporlamacının kendi sonuçlarını etkiler ve günlüklerde görülebilir.