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

Android Satıcı Test Paketi (VTS) aşağıdaki konularda kapsamlı testler sağlar:

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

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

  • VTS Ticaret Federasyonu test donanımı ana makinenizde çalışır ve testin yürütülmesini yönetir. Test altındaki birden fazla cihazda (DUT'lar) Paylaşımı Yapılandırma yeteneği sunar. Ayrıca tüm test paketlerini denemek yerine yalnızca hataları yeniden denemek için Paketi Yeniden Deneme özelliğini kullanabilirsiniz; bu, yeniden çalıştırma süresini büyük ölçüde azaltır.
  • Bireysel test senaryoları DUT'ta yürütülür. Test senaryoları gtest tarzı testler, çekirdek testleri veya Java ile yazılmış JUnit tarzı testler olabilir.

Test türleri

gtest tarzı testler

VTS'deki testlerin çoğu, HAL uygulamasını kontrol eden gtest tarzı testlerdir. Test C++ dilinde yazılmıştır ve cihazda çalıştırılır. Tipik bir VTS gtest, belirli bir arayüzün her bir örneğini yineler ve tüm test senaryolarını buna karşı çalıştırır. Örnek için VtsHalHealthStorageV1_0TargetTest bakın.

Linux çekirdek testleri

  • Kselftest ( harici/linux-kselftest ), tools/testing/selftests adresindeki Linux çekirdek deposunda yer alan bir test koleksiyonudur ve bunlardan 23'ü ARM'de çalıştırılmak ü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 ana bilgisayar güdümlü testlerin küçük bir kümesi 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.