Android Platformu Testi

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 platform mimarisine bakın.

Ardından, Vendor Test Suite (VTS) ve sayısız video ve codelab öğreticileri gibi bu bölümde size sunulan kesin teknolojileri keşfedin.

Ayrıca, cihazlarınızı güvenlik açıklarına karşı tespit etmek ve sağlamlaştırmak için mevcut olan güvenliğe özel test mekanizmalarını da not edin.

Uygulama testi için Testin Temelleri ile başlayın ve sağlanan örnekleri kullanarak Android Test Codelab'i yürütün .

Son olarak, linterleri çalıştırabilen, biçimlendirmeyi kontrol edebilen ve bir taahhüt yükleme gibi devam etmeden önce birim testlerini tetikleyebilen Repo Kancaları aracılığıyla temel ön gönderim testinin sizin için mevcut olduğ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 konunun işlevlerini uygular ve test sonucunun doğruluğunu onaylar.

Bu nedenle, bir platform testi şunları yapabilir:

  1. uygulama çerçevesi aracılığıyla çerçeve API'lerini kullanma; uygulanan belirli API'ler şunları içerebilir:
    • üçüncü taraf uygulamalara yönelik genel API'ler
    • ayrıcalıklı uygulamalara yönelik gizli API'ler, yani sistem API'leri
    • özel API'ler (@gizle veya korumalı, özel paket)
  2. Android sistem hizmetlerini doğrudan ham bağlayıcı/IPC proxy'leri aracılığıyla çağırın
  3. Düşük seviyeli API'ler veya IPC arabirimleri aracılığıyla doğrudan HAL'lerle etkileşime geçin

Tip 1 ve 2 tipik olarak enstrümantasyon testleri olarak yazılırken, tip 3 genellikle GTestler olarak yazılır.

Daha fazla bilgi edinmek için uçtan uca örneklerimize bakın:

Android'de test etmenin özünde oldukları için bu araçlara aşina olun.

Uyumluluk Testi Paketi (CTS)

Android Uyumluluk Testi Paketi , Android çerçeve uygulamalarının OEM ortakları ve platform sürümleri arasında uyumluluğunu sağlamak için kullanılan çeşitli türlerde testlerden oluşan bir pakettir. Paket ayrıca enstrümantasyon testleri ve GTest çerçevesini de 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 ortakları arasında uygulanması gerekiyorsa, CTS'de olmalıdır
  • bir testin platform geliştirme döngüsü sırasında gerilemeleri yakalaması amaçlanıyorsa ve yürütmek için ayrıcalıklı izin gerektirebilir ve uygulama ayrıntılarına (AOSP'de yayınlandığı gibi) bağlı olabilirse, bu 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 ve ardından bir VTS planı kullanarak bir yamayı test edin.

Ticaret Federasyonu Test Altyapısı

Trade Federation (traded veya kısaca TF), Android cihazlarda testler çalıştırmak için tasarlanmış sürekli bir test çerçevesidir. TF, platform ödeme işleminizde masanızda yerel olarak işlevsel testler çalıştırabilir. TF'de bir testi çalıştırmak için gerekli iki dosya vardır, bir java test kaynağı ve bir XML yapılandırması. Örnekler için RebootTest.java ve reboot.xml'e bakın.

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 yararlı araçları ve ilgili komutları özetler.