TF testi yaşam döngüsü

Ticaret Federasyonu kullanılarak yürütülen bir testin yaşam döngüsü, resmi olarak tanımlanmış arayüzler etrafında tasarlanan dört ayrı aşamadan oluşur.

Tanımlanmış arayüzler

  • Yapı Sağlayıcısı : Gerekirse uygun dosyaları indirerek test edilecek bir yapı sağlar.
  • Hedef Hazırlayıcı : Muhtemelen yazılım kurulumu ve cihaz konfigürasyonunu da içerecek şekilde test ortamını hazırlar.
  • Test : Testi/testleri yürütür ve test sonuçlarını toplar. Bu herhangi bir JUnit Testi olabilir, ancak IRemoteTest arayüzümüz Ticaret Federasyonu ortamında iyi çalışacak şekilde özel olarak tasarlanmıştır.
  • Test Çağırma 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 Yapılandırmadır (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 şekilde ayrılması, yeniden kullanıma olanak sağlamayı amaçlamaktadır. Bu tasarımı kullanarak Geliştirici bir Testi bir kez 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ğırma Dinleyicisi kullanabilirler. Üçüncü bir Yapılandırma, bu testi bir yerde bir test laboratuvarından sürekli olarak çalıştıracak şekilde tasarlanabilir.

Burada, 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) Command olarak bilindiğini belirtmekte fayda var. TF, bir Command'i ITestDevice ile eşleştirip çalıştırdığında, sonraki nesne Invokasyon olarak bilinir. Kısacası bir Çağırma, tüm yaşam döngüsü boyunca eksiksiz bir TF testi yürütmesini kapsar.

Ek yapılandırma bileşenleri

  • Cihaz Kurtarma : Kaybolması durumunda cihaz iletişimini kurtarma mekanizması.
  • Logger : Ticaretle beslenen günlük verilerini toplar.

Aşama çıktısı 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 olağan çıktıları ve hataları açıklanmaktadır.

Derleme sağlayıcısı

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

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ırlığı

Bu aşama, test edilen hedef için gerekli durumları ayarlar. 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 cihazın belirli bir duruma getirilmemesini (örneğin, başarısız yanıp sönme) ve kurulum için gerekli dosyaların bulunamamasını içerir.

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

Testler

Bu aşamada, önceden hazırlanan hedef üzerinde talep edilen testler çalıştırılır ve tüm test yürütme sonuçları raporlanır.

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ından ziyade testin yürütülmesini etkileyen altyapı sorunlarıdır.

Bu aşamadaki bir hata, test yürütmenin durmasına, hedef temizlemenin çalıştırılmasına, hatanın rapor edilmesine ve kısmi sonuçların alınmasına neden olur.

Sonuçların raporlanması

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

Her ne kadar bireysel sonuç raportörleri hatalara sahip olabilse de, birbirlerinden izole edilmişlerdir (bir raportör diğerinin hatalarını görmez). Bu hatalar yalnızca bireysel raporlayıcının kendi sonuç raporlamasını etkiler ve hatalar günlüklerde görüntülenebilir.