Android platform testi

Android Açık Kaynak Projesi (AOSP), uygulamanızın çeşitli bölümlerini test etmek için çeşitli araçlar ve test paketleri sağlar. Bu bölümdeki sayfaları kullanmadan önce aşağıdaki terimleri bilmeniz gerekir:

Android uyumlu cihaz
Android SDK'sını ve NDK'yı kullanarak üçüncü taraf geliştiriciler tarafından yazılan tüm üçüncü taraf uygulamalarını çalıştırabilen bir cihaz. Android uyumlu cihazlar, Uyumluluk Tanımlama Belgesi (CDD)'nin koşullarına uymalı ve Uyumluluk Test Paketi (CTS)'nden geçmelidir. Android uyumlu cihazlar, Google Play'in olası lisansı, Google Mobil Hizmetleri (GMS) uygulama ve API paketinin olası lisansı ve Android ticari markasının kullanımı da dahil olmak üzere Android ekosistemine katılmaya uygundur. Android kaynak kodunu herkes kullanabilir ancak Android ekosisteminin bir parçası olarak kabul edilmek için cihazın Android uyumlu olması gerekir.
yapı
Yerel sorun gidermeyi sağlayan derlemeyle ilgili günlük.
Uyumluluk Tanımlama Belgesi (CDD)
Android uyumlu bir cihazın yazılım ve donanım şartlarını belirten bir doküman.
Uyumluluk Test Paketi (CTS)

AOSP'de ikili veya kaynak olarak indirilebilen, ticari sınıfa ait ücretsiz bir test paketi. CTS, günlük iş akışınıza entegre edilmek üzere tasarlanmış bir dizi birim testidir. CTS'nin amacı, uyumsuzlukları ortaya çıkarmak ve yazılımın geliştirme süreci boyunca uyumlu kalmasını sağlamaktır.

CTS ve platform testleri birlikte kullanılabilir. Aşağıda bazı genel yönergeler verilmiştir:

  • Bir test, çerçeve API işlevlerinin veya davranışlarının doğruluğunu teyit ediyorsa ve testin OEM iş ortakları genelinde uygulanması gerekiyorsa CTS'de olmalıdır.
  • Platform geliştirme sırasında gerilemelerin yakalanması amaçlanan ve yürütülmesi için ayrıcalıklı izin gerektiren ve uygulama ayrıntılarına (AOSP'de yayınlandığı şekilde) bağlı olabilecek bir test, platform testi olmalıdır.
Google Mobil Hizmetleri (GMS)

Cihazlara önceden yüklenebilen Google uygulamaları ve API'leri koleksiyonu.

GoogleTest (GTest)

C++ test ve taklit çerçevesi. GTest ikili dosyaları genellikle daha düşük düzeyli soyutlama katmanlarına erişir veya çeşitli sistem hizmetlerine karşı ham IPC gerçekleştirir. GTest'in test yaklaşımı genellikle test edilen hizmetle sıkı bir şekilde bağlıdır. CTS, GTest çerçevesini içerir.

enstrümantasyon testi

am instrument komutu tarafından başlatılan özel bir test yürütme ortamı. Burada, hedeflenen uygulama işlemi yeniden başlatılıp temel uygulama bağlamıyla başlatılır ve uygulama işlemi sanal makinesinde bir araç iş parçacığı başlatılır. CTS, araç testlerini içerir.

Logcat

Cihazın ne zaman hata yaptığını ve uygulamanızdan Log sınıfıyla yazdığınız mesajları içeren yığın izlemeleri (stack trace) dahil olmak üzere sistem mesajlarının günlüğünü oluşturan bir komut satırı aracı.

logging

Hatalar gibi bilgisayar sistemi etkinliklerini takip etmek için günlük kullanma Android'de günlük kaydı, Logcat aracında birleştirilen standartların karışımı nedeniyle karmaşıktır.

gönderme sonrası testi

Ortak bir çekirdek dalına yeni bir yama uygulandığında gerçekleştirilen Android testidir. Kısmi dal adı olarak aosp_kernel yazarak, mevcut sonuçları içeren çekirdek dallarının listesini görebilirsiniz. Örneğin, android-mainline ile ilgili sonuçlar https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid adresinde bulunabilir.

ön gönderim testi

Hataların yaygın çekirdeklere eklenmesini önlemek için kullanılan bir testtir.

Trade Federation

Android cihazlarda test çalıştırmak için tasarlanmış sürekli bir test çerçevesi olan Tradefed olarak da bilinir. Örneğin, Tradefed, Compatibility Test Suite ve Vendor Test Suite testlerini çalıştırmak için kullanılır.

Satıcı Test Paketi (VTS)

Android testi için kapsamlı bir özellik grubu, test odaklı geliştirme sürecini destekleme ve donanım soyutlama katmanı (HAL) ile OS çekirdek testini otomatikleştirme.

Platform testi türleri

Platform testi genellikle Android sistem hizmetlerinden veya HAL katmanlarından biriyle veya daha fazlasıyla etkileşime geçer, test edilen öznenin işlevlerini çalıştırır ve test sonucunun doğruluğunu onaylar. Platform testleri:

  • (1. Tür) Android çerçevesini kullanarak çerçeve API'lerini çalıştırın. Kullanılan belirli API'ler şunlardır:
    • Üçüncü taraf uygulamaları için tasarlanmış herkese açık API'ler
    • Ayrıcalıklı uygulamalara yönelik gizli API'ler (ör. sistem API'leri veya özel API'ler (@hide, protected, package private))
  • (2. Tür) Android sistem hizmetlerini doğrudan ham bağlayıcı veya IPC proxy'lerini kullanarak çağırın.
  • (3. Tür) Düşük düzey API'ler veya IPC arayüzleri kullanarak doğrudan HAL'lerle etkileşim kurun.

Tip 1 ve 2 testler genellikle araç testleridir. Tip 3 testler ise genellikle GTest'tir.

Sırada ne var?

Daha ayrıntılı bilgi için okuyabileceğiniz dokümanların listesi aşağıda verilmiştir: