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 terimler hakkında bilgi sahibi olmanız 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 potansiyel lisansı, Google Mobil Hizmetleri (GMS) uygulama ve API paketinin potansiyel 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 bir 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 birim testi grubudur. 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 doğruluyorsa ve test OEM iş ortakları genelinde uygulanacaksa CTS'de olmalıdır.
  • Platform geliştirme sırasında geriye gidişleri yakalamayı amaçlayan 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üklenebilir Google uygulamaları ve API'leri koleksiyonu.

GoogleTest (GTest)

C++ test ve taklit çerçevesi. GTest ikili dosyaları genellikle daha düşük düzey soyutlama katmanlarına erişir veya çeşitli sistem hizmetlerine karşı ham IPC gerçekleştirir. GTest iç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ı. Bu ortamda, hedeflenen uygulama işlemi yeniden başlatılır ve temel uygulama bağlamıyla başlatılır. Ayrıca, uygulama işlemi sanal makinesinin içinde bir enstrümantasyon iş parçacığı başlatılır. CTS, araç testlerini içerir.

Logcat

Cihazın hata verdiğinde oluşan yığın izlemeleri ve uygulamanızdan Log sınıfıyla yazdığınız mesajlar da 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.

postsubmit test

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

ön gönderim testi

Ortak çekirdeklere hataların eklenmesini önlemek için kullanılan bir test.

Ticaret Federasyonu

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 bir 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ına yönelik 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.

1. ve 2. tür testler genellikle enstrümantasyon testleri, 3. tür testler ise genellikle GTest'lerdir.

Sırada ne var?

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