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

Android 11 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 doğrudan bağlı cihazlarda veya emülatörlerde test senaryolarını yürütür. Benzer CTS , VTS aşağıdaki başlıca yazılım bileşenlerini kullanan bir otomatik test paketidir.

  • VTS Ticaret Federasyonu test koşum takımı, ana makinenizde çalışır ve testin yürütülmesini yönetir. Test edilen birden fazla cihazda (DUT'lar) Parçalamayı Yapılandırma yeteneği sunar. Tüm test takımları yerine yalnızca hataları yeniden denemek için Paketi Yeniden Deneme özelliğini de kullanabilirsiniz, bu da yeniden çalıştırma süresini büyük ölçüde azaltır.
  • DUT üzerinde bireysel test senaryoları 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 çoğu test, HAL uygulamasını kontrol eden gtest tarzı testlerdir. Test C ++ ile yazılır ve cihazda çalışır. Tipik bir VTS gtest, belirli bir arabirimin her örneğini yineler ve tüm test durumlarını ona karşı çalıştırır. Örnek için VtsHalHealthStorageV1_0TargetTest bakın.

Linux çekirdek testleri

  • Kselftest ( harici / linux-kselftest ), tools/testing/selftests satıcılar'daki Linux çekirdek deposunda bulunan testlerin bir koleksiyonudur ve bunlardan 23'ü ARM üzerinde ç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

KernelApiSysfsTest küçük bir ana bilgisayar tarafından yürütülen testler seti, 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 BaseHostJUnit4Test .

Bağımsız Python3 testleri

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