Bu içerik, Android platformu geliştiricilerine yöneliktir. Android platformunda testin nasıl yapıldığını anlamadan önce, genel bir bakış için lütfen Android platformu mimarisine bakın.
Ardından, Vendor Test Suite (VTS) ve onun sayısız video ve codelab öğreticileri gibi bu bölümde size sunulan kesin teknolojileri araştırın.
Ayrıca, cihazlarınızı güvenlik açıklarına karşı tespit etmek ve güçlendirmek için mevcut güvenliğe özel test mekanizmalarına dikkat edin.
Uygulama testi için Testin Temelleri ile başlayın ve sağlanan örnekleri kullanarak Android Testing Codelab'i gerçekleştirin.
Son olarak, linter çalıştırabilen, biçimlendirmeyi kontrol edebilen ve bir taahhüdün yüklenmesi gibi devam etmeden önce birim testlerini tetikleyebilen Repo Kancaları aracılığıyla temel ön gönderme testinin size sunulduğunu unutmayın. Bu kancaların varsayılan olarak devre dışı bırakıldığını unutmayın. Daha fazla ayrıntı için Repo Hooks tanıtımına bakın.
Ne ve nasıl test edilir
Bir platform testi tipik olarak bir veya daha fazla Android sistem hizmetiyle veya Donanım Soyutlama Katmanı (HAL) katmanıyla etkileşime girer, test edilen öznenin işlevlerini uygular ve test sonucunun doğruluğunu onaylar.
Bu nedenle, bir platform testi şunları yapabilir:
- uygulama çerçevesi aracılığıyla çerçeve API'lerini egzersiz; uygulanan belirli API'ler şunları içerebilir:
- üçüncü taraf uygulamalarına yönelik genel API'ler
- ayrıcalıklı uygulamalara yönelik gizli API'ler, yani sistem API'leri
- özel API'ler (@gizle veya korumalı, paket özel)
- doğrudan ham bağlayıcı/IPC proxy'leri aracılığıyla Android sistem hizmetlerini çağırın
- düşük seviyeli API'ler veya IPC arayüzleri aracılığıyla doğrudan HAL'lerle etkileşim kurun
Tip 1 ve 2 tipik olarak enstrümantasyon testleri olarak yazılırken, tip 3 genellikle GTests olarak yazılır.
Daha fazlasını öğrenmek için uçtan uca örneklerimize bakın:
Android'de test etmenin özünde oldukları için bu araçlara aşina olun.
Uyumluluk Test Paketi (CTS)
Android Uyumluluk Test Paketi , Android çerçeve uygulamalarının OEM iş ortakları ve platform yayınları genelinde uyumluluğunu sağlamak için kullanılan çeşitli test türlerinden oluşan bir pakettir. Paket ayrıca enstrümantasyon testlerini ve GTest çerçevesini içerir.
CTS ve platform testleri birbirini dışlamaz ve işte bazı genel yönergeler:
- Bir test, çerçeve API işlevlerinin/davranışlarının doğruluğunu iddia ediyorsa ve OEM iş ortakları arasında uygulanması gerekiyorsa, CTS'de olmalıdır
- bir testin platform geliştirme döngüsü sırasındaki gerilemeleri yakalaması amaçlanıyorsa ve gerçekleştirmek için ayrıcalıklı izin gerektirebilir ve uygulama ayrıntılarına bağlı olabilir (AOSP'de yayınlandığı şekliyle), yalnızca platform testleri olmalıdır
Satıcı Test Paketi (VTS)
Vendor Test Suite (VTS), HAL ve OS çekirdek testini otomatikleştirir. Yerleşik bir Android sistem uygulamasını test etmek üzere VTS'yi kullanmak için bir test ortamı kurun, ardından bir VTS planı kullanarak bir yamayı test edin.
Ticaret Federasyonu Test Altyapısı
Ticaret Federasyonu (tradefed veya kısaca TF), Android cihazlarda testler çalıştırmak için tasarlanmış sürekli bir test çerçevesidir. TF, işlevsel testleri yerel olarak, masanızda, platform satın alma işleminizde çalıştırabilir. TF'de test çalıştırmak için gerekli iki dosya vardır, bir java test kaynağı ve bir XML yapılandırması. Örnekler için bkz . RebootTest.java ve reboot.xml .
hata ayıklama
Hata Ayıklama bölümü, platform düzeyinde özellikler geliştirirken yerleşik Android platform kodunda hata ayıklama, izleme ve profil oluşturma için faydalı araçları ve ilgili komutları özetler.