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.