Satıcı Test Paketi (VTS) ve altyapı

Android Vendor Test Suite (VTS), aşağıdakiler üzerinde kapsamlı testler sağlar:

  • Çekirdek
  • Donanım soyutlama katmanı (HAL)

VTS, bir masaüstü makinede çalışır ve doğrudan bağlı cihazlarda veya öykünücülerde test senaryolarını yürütür. CTS'ye benzer şekilde VTS, aşağıdaki ana yazılım bileşenlerini kullanan otomatikleştirilmiş bir test paketidir.

  • VTS Trade Federation test donanımı, ana makinenizde çalışır ve test yürütmeyi yönetir. Test edilen birden fazla cihazda (DUT'lar) Sharding'i Yapılandırma yeteneği sunar. Ayrıca, yeniden çalıştırma süresini büyük ölçüde azaltan tüm test paketleri yerine yalnızca hataları yeniden denemek için Paketi Yeniden Dene özelliğini kullanabilirsiniz.
  • DUT'ta bireysel test senaryoları yürütülür. Test durumları, Java'da yazılmış gtest tarzı testler, çekirdek testleri veya JUnit tarzı testler olabilir.

test türleri

gtest tarzı testler

VTS'deki çoğu test, HAL uygulamasını kontrol eden gtest tarzı testlerdir. Test C++ ile yazılır ve cihaz üzerinde çalışır. Tipik bir VTS gtest, belirli bir arabirimin her örneğini yineler ve tüm test durumlarını buna karşı çalıştırır. Örnek için VtsHalHealthStorageV1_0TargetTest bakın.

Linux çekirdek testleri

  • Kselftest ( external/linux-kselftest ), Linux çekirdek deposunda bulunan ve tools/testing/selftests adresinde yer alan bir test koleksiyonudur ve bunlardan 23'ü ARM üzerinde çalışmak üzere VTS'ye dahil edilmiştir.

  • Linux Test Projesi ( harici/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 ana bilgisayar güdümlü testler JUnit tarzı testlerdir, örneğin, KernelApiSysfsTest . Java testleri, bir test cihazıyla ilişkilendirilen ve doğrulama gerçekleştirmek için kabuk komutlarını çalıştırabilen BaseHostJUnit4Test olarak uygulanır.

Bağımsız Python3 testleri

vts_treble_sys_prop_test gibi bazı VTS testleri Python3'te yazılmıştır. Python tabanlı testler, unittest.TestCase olarak uygulanır ve her test durumu, kabuk komutları aracılığıyla cihazla etkileşime girebilir.