Bu içerik Android platformu geliştiricilerine yöneliktir. Android platformunda testin nasıl yapıldığını anlamadan önce lütfen genel bir bakış için Android platformu mimarisine bakın.
Ardından, Vendor Test Suite (VTS) ve onun sayısız video ve codelab eğitimleri gibi bu bölümde kullanabileceğiniz kesin teknolojileri derinlemesine inceleyin.
Ayrıca cihazlarınızı güvenlik açıklarına karşı tespit etmek ve güçlendirmek için kullanılabilen güvenliğe özel test mekanizmalarına da dikkat edin.
Uygulama testi için Testin Temelleri ile başlayın ve sağlanan örnekleri kullanarak Android Testing Codelab'i yürütün.
Son olarak, temel ön gönderim testinin, ilerlemeden önce linter'ları çalıştırabilen, biçimlendirmeyi kontrol edebilen ve birim testlerini (bir taahhüt yükleme gibi) tetikleyebilen Repo Hooks aracılığıyla kullanılabileceğine dikkat edin. Bu kancaların varsayılan olarak devre dışı olduğunu 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:
- uygulama çerçevesi aracılığıyla çerçeve API'lerini kullanın; 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 (@hide veya korumalı, özel paket)
- doğrudan ham ciltleyici/IPC proxy'leri aracılığıyla Android sistem hizmetlerini çağırın
- Düşük seviyeli API'ler veya IPC arayüzleri aracılığıyla HAL'lerle doğrudan etkileşim kurun
Tip 1 ve 2 tipik olarak enstrümantasyon testleri olarak yazılırken, tip 3 genellikle GTtestler olarak yazılır.
Daha fazla bilgi edinmek için uçtan uca örneklerimize bakın:
Android'deki testlerin özünde yer aldığı 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 sürümleri arasında 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 de içerir.
CTS ve platform testleri birbirini dışlamaz ve burada bazı genel yönergeler verilmiştir:
- Bir test, çerçeve API işlevlerinin/davranışlarının doğruluğunu onaylıyorsa ve bunun OEM iş ortakları arasında uygulanması gerekiyorsa, CTS'de olmalıdır.
- Bir testin platform geliştirme döngüsü sırasındaki regresyonları yakalaması amaçlanıyorsa ve gerçekleştirilmesi için ayrıcalıklı izin gerektirebilir ve uygulama ayrıntılarına (AOSP'de yayımlandığı 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 amacıyla VTS'yi kullanmak için bir test ortamı oluşturun ve 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 yürütmek için tasarlanmış sürekli bir test çerçevesidir. TF, işlevsel testleri yerel olarak, masanızda, platform ödeme bölümünde ç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 yeniden başlatma.xml'ye 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.