Tedarikçi Testi Paketi (VTS) ve altyapı

Android Tedarikçi Test Paketi (VTS), aşağıdakiler hakkında kapsamlı testler sunar:

  • Patlayan mısır
  • Donanım soyutlama katmanı (HAL)

VTS, masaüstü bir makinede çalışır ve test durumlarını doğrudan bağlı cihazlarda veya emülatörlerde yürütür. CTS'ye benzer şekilde VTS de aşağıdaki önemli yazılım bileşenlerini kullanan otomatik bir test paketidir:

  • VTS Trade Federation test aparatı, ana makinenizde çalışır ve test yürütmeyi yönetir. Test altındaki birden fazla cihazda (DUT'lar) bölümlendirmeyi yapılandırma olanağı sunar. Test paketlerinin tamamını değil, yalnızca başarısız olanları yeniden denemek için Paket Yeniden Deneme özelliğini de kullanabilirsiniz. Bu özellik, yeniden çalıştırma süresini büyük ölçüde azaltır.
  • Bağımsız test senaryoları DUT'ta yürütülür. Test senaryoları GTest tarzı testler, çekirdek testleri veya Java'da yazılmış JUnit tarzı testler olabilir.

Test türleri

Çeşitli VTS test türleri aşağıdaki bölümlerde açıklanmıştır.

GTest tarzı testler

VTS'deki çoğu test, HAL uygulamasını kontrol eden GTest tarzı testlerdir. Test C++ ile yazılmıştır ve cihazda çalışır. Tipik bir VTS GTest, belirli bir arayüzün her örneğini iteratif olarak tarar ve tüm test durumlarını bu arayüzde çalıştırır. Örnek için VtsHalHealthStorageV1_0TargetTest bölümüne bakın.

Linux çekirdek testleri

  • Kselftest (external/linux-kselftest), tools/testing/selftests adresindeki Linux çekirdek deposunda bulunan bir test koleksiyonudur. Bu koleksiyondaki 23 test, ARM'de çalıştırılmak üzere VTS'ye dahil edilmiştir.

  • Linux Test Projesi (external/ltp) testleri, Linux çekirdeğinin güvenilirliğini, sağlamlığını ve kararlılığını doğrular.

JUnit tarzı testler

VTS'deki küçük bir grup ana makine tarafından yönetilen testler JUnit tarzı testlerdir (ör. KernelApiSysfsTest). Java testleri, bir test cihazıyla ilişkilendirilmiş ve doğrulama yapmak için kabuk komutları çalıştırabilen BaseHostJUnit4Test olarak uygulanır.

Bağımsız Python3 testleri

vts_treble_sys_prop_test gibi bazı VTS testleri Python3 ile yazılmıştır. Python tabanlı testler unittest.TestCase olarak uygulanır ve her test senaryosu, kabuk komutları aracılığıyla cihazla etkileşim kurabilir.