TF Testi Yaşam Döngüsü

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

  • Yapı Sağlayıcı : Gerekirse uygun dosyaları indirerek test etmek için bir yapı sağlar.
  • Hedef Hazırlayıcı : Muhtemelen yazılım kurulumu ve cihaz konfigürasyonu dahil olmak üzere test ortamını hazırlar.
  • Test : Test(ler)i yürütür ve test sonuçlarını toplar. Bu herhangi bir JUnit Testi olabilir, ancak IRemoteTest arayüzümüz Trade Federation ortamında iyi çalışacak şekilde özel olarak tasarlanmıştır.
  • Test Çağrısı Dinleyicisi (sonuç raporlama) : Genellikle test sonuçlarını bir havuza iletmek veya Test Çalıştırıcısına görüntülemek amacıyla test sonuçlarını dinler.

TF'deki temel test varlığı bir Konfigürasyondur (config). Yapılandırma, bir testin yaşam döngüsü bileşenlerini bildiren bir XML dosyasıdır.

Testin yaşam döngüsünün bu ayrımı, yeniden kullanıma izin vermeyi amaçlamaktadır. Bu tasarımı kullanarak Geliştirici bir kez bir Test oluşturabilir ve ardından Entegratör bu Testi farklı ortamlarda çalıştırmak için farklı Konfigürasyonlar oluşturabilir. Örneğin, yerel bir makinede test çalıştıracak ve sonucu stdout'a aktaracak bir Yapılandırma oluşturabilirler. Daha sonra aynı testi yürütecek ikinci bir Yapılandırma oluşturabilirler, ancak test sonuçlarını bir veritabanında depolamak için farklı bir Test Çağrısı Dinleyicisi kullanabilirler. Üçüncü bir Konfigürasyon, herhangi bir yerde bir test laboratuvarından sürekli olarak testi çalıştıracak şekilde tasarlanabilir.

Burada, bir Configuration'ın komut satırı argümanlarıyla birlikte (Test Runner tarafından sağlanan) Command olarak bilindiğini belirtmekte fayda var. TF, bir Komutu bir ITestDevice ile eşleştirdiğinde ve onu çalıştırdığında, sonraki nesne bir Çağrı olarak bilinir. Kısacası, bir Çağrı, tüm yaşam döngüsü boyunca eksiksiz bir TF testi yürütmesini kapsar.

Ek yapılandırma bileşenleri

  • Cihaz Kurtarma : Kaybolursa cihaz iletişimini kurtarma mekanizması.
  • Logger : takas edilen 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 amacı vardır. Bu bölüm, her aşamanın olağan çıktılarını ve hatalarını açıklar.

Derleme sağlayıcısı

Bu aşama, testleri kurmak ve çalıştırmak için gerekli tüm dosya referanslarını içeren bir IBuildInfo nesnesi oluşturur ve çıktısını verir.

Bu aşamadaki en yaygın hata, istenen dosyaların indirilememesi veya bulunamamasıdır.

Bu aşamadaki bir hata, hatanın doğrudan raporlanmasına ve hiçbir testin çalıştırılmamasına neden olur.

Hedef hazırlama

Bu aşama, test edilen hedef için gerekli durumları kurar. Bu aşama, verilen test çağrısı için gerektiği gibi cihazı veya ana bilgisayar kurulumunu değiştirebilir.

Bu aşamadaki yaygın hatalar genellikle aygıtın belirli bir duruma ayarlanamaması (örneğin, başarısız yanıp sönme) ve kurulum için gerekli dosyaların bulunamamasıdır.

Bu aşamadaki bir hata, hedef temizlemenin çalışmasına, hatanın raporlanmasına ve hiçbir testin çalıştırılmamasına neden olur.

testler

Bu aşama, istenen testleri önceden hazırlanmış hedef üzerinde çalıştırır ve tüm test yürütme sonuçlarını raporlar.

Bu aşamadaki yaygın hatalar genellikle test edilen hedefin mevcut olmamasını veya testlerin kısmen yürütülmesine neden olan bazı hataları içerir. Bu hatalar, tek bir test senaryosunun başarısız olmasının aksine testin yürütülmesini etkileyen altyapı sorunlarıdır.

Bu aşamadaki bir hata, test yürütmesinin durmasına, hedef temizlemenin çalışmasına, hatayı rapor etmesine ve kısmi sonuçların alınmasına neden olur.

Sonuç raporlama

Bu aşama, sonuçları ve hataları yapılandırılmış hizmetlere (örneğin, sunucular ve yerel dosyalar) bildirir.

Bireysel sonuç muhabirlerinin hataları olabilse de, bunlar birbirlerinden yalıtılırlar (bir muhabir diğerinden gelen hataları görmez). Bu hatalar yalnızca bireysel bir rapor verenin kendi sonuç raporlamasını etkiler ve hatalar günlüklerde görüntülenebilir.