Bu içerik, Android platform 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.
Ayrıca, cihazlarınızı güvenlik açıklarına karşı tespit etmek ve güçlendirmek için mevcut olan güvenliğe özgü test mekanizmalarına da dikkat edin.
Son olarak, temel ön gönderme testinin, linterleri çalıştırabilen, biçimlendirmeyi kontrol edebilen ve bir commit yükleme gibi devam etmeden önce birim testlerini tetikleyebilen Repo Hooks aracılığıyla size sunulduğunu unutmayın. Bu kancaların varsayılan olarak devre dışı olduğunu unutmayın. Daha fazla ayrıntı için Repo Kancaları girişine bakın.
Ne ve nasıl test edilir
Bir platform testi tipik olarak bir veya daha fazla Android sistem hizmeti veya Donanım Soyutlama Katmanı (HAL) katmanıyla etkileşime girer, test edilen deneğin işlevlerini uygular ve test sonucunun doğruluğunu belirtir.
Bu nedenle, bir platform testi şunları yapabilir:
- uygulama çerçevesi aracılığıyla çerçeve API'leri kullanma; Kullanılan belirli ilaç aktif maddeleri ş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)
- Android sistem hizmetlerini doğrudan ham bağlayıcı / IPC proxy'leri aracılığıyla çağırın
- Düşük seviyeli API'ler veya IPC arayüzleri aracılığıyla doğrudan HAL'lerle etkileşim kurun
Daha fazla bilgi edinmek için uçtan uca örneklerimize bakın:
Android'de test etmeye özgü olduklarından 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ürleri paketidir. Paket ayrıca enstrümantasyon testleri ve yerel testleri de içerir (ayrıca gtest çerçevesini kullanır).
CTS ve platform testleri birbirini dışlamaz ve işte bazı genel kurallar:
- Bir test, çerçeve API işlevlerinin / davranışlarının doğruluğunu ortaya koyuyorsa ve OEM iş 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ütülmesi için ayrıcalıklı izin gerektirebilir ve uygulama ayrıntılarına bağlı olabilir (AOSP'de yayımlandığı gibi), bu yalnızca platform testleri olmalıdır
Satıcı Test Paketi (VTS)
Satıcı Test Paketi (VTS), HAL ve işletim sistemi çekirdek testini otomatikleştirir. Android yerel sistem uygulamasını test etmek için 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ı
Trade Federation (tradefed veya kısaca TF), Android cihazlarda testler yapmak için tasarlanmış sürekli bir test çerçevesidir. TF, işlevsel testleri yerel olarak, masanızda, platform kasanızda çalıştırabilir. TF'de bir test çalıştırmak için iki gerekli dosya, bir java test kaynağı ve bir XML yapılandırması vardır. Örnekler için RebootTest.java ve reboot.xml'ye bakın.
Hata ayıklama
Hata Ayıklama bölümü, platform düzeyinde özellikler geliştirirken yerel Android platform kodunda hata ayıklama, izleme ve profil oluşturma için yararlı araçları ve ilgili komutları özetler.