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 sunar. Bu bölümdeki sayfaları kullanmadan önce aşağıdaki terimleri bilmeniz gerekir:

Android ile uyumlu cihaz
Android SDK ve NDK kullanılarak üçüncü taraf geliştiriciler tarafından yazılan tüm üçüncü taraf uygulamalarını çalıştırabilen bir cihaz. Android uyumlu cihazlar, Uyumluluk Tanımı Belgesi (CDD) şartlarına uymalı ve Uyumluluk Test Paketi (CTS)'ni geçmelidir. Android ile uyumlu cihazlar, Android ekosistemine katılmaya uygundur. Bu ekosistemde Google Play'in potansiyel lisanslanması, Google Mobil Hizmetleri (GMS) uygulama ve API paketinin potansiyel lisanslanması ve Android ticari markasının kullanımı yer alır. Android kaynak kodunu herkes kullanabilir ancak bir cihazın Android ekosisteminin parçası olarak kabul edilmesi için Android ile uyumlu olması gerekir.
yapı
Yerel sorun gidermeyi sağlayan derlemeyle ilgili bir günlük.
Uyumluluk Tanımı Belgesi (CDD)
Android ile uyumlu bir cihazın yazılım ve donanım gereksinimlerini listeleyen bir belge.
Uyumluluk Test Paketi (CTS)

İkili dosya olarak veya AOSP'de kaynak olarak indirilebilen ücretsiz, ticari düzeyde 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 aynı anda olamaz. Genel yönergelerden bazıları şunlardır:

  • Bir test, çerçeve API işlevlerinin veya davranışlarının doğruluğunu onaylıyorsa ve testin OEM iş ortakları arasında zorunlu kılınması gerekiyorsa bu test CTS'de yer almalıdır.
  • Bir test, platform geliştirme sırasında gerilemeleri yakalamak için tasarlanmışsa, yürütmek için ayrıcalıklı izin gerektirebilir ve uygulama ayrıntılarına (AOSP'de yayınlandığı şekliyle) bağlı olabilir. Bu durumda, platform testi olmalıdır.
Google Mobil Hizmetleri (GMS)

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

GoogleTest (GTest)

C++ test ve sahte nesne oluşturma çerçevesi. GTest ikilileri genellikle daha düşük seviyeli 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 yakından ilişkilidir. CTS, GTest çerçevesini içerir.

enstrümantasyon testi

am instrument komutuyla 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 makinesinde bir enstrümantasyon iş parçacığı başlatılır. CTS, araç testleri içerir.

Logcat

Cihazın hata verdiği zamanlardaki yığın izlemeleri ve Log sınıfıyla uygulamanızdan yazdığınız mesajlar da dahil olmak üzere sistem mesajlarının günlüğünü oluşturan bir komut satırı aracıdır.

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 gönderildiğinde gerçekleştirilen Android testi. Kısmi bir dal adı olarak aosp_kernel girdiğinizde, sonuçların bulunduğu ç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 bulabilirsiniz.

ön gönderme testi

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

Ticaret Federasyonu

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

Tedarikçi Test Paketi (VTS)

Android testleri, test odaklı geliştirme sürecini destekleme ve donanım soyutlama katmanı (HAL) ile işletim sistemi çekirdeği testlerini otomatikleştirmeye yönelik kapsamlı özellikler.

Platform test türleri

Bir platform testi genellikle Android sistem hizmetlerinden veya HAL katmanlarından biri ya da daha fazlasıyla etkileşime girer, test edilen konunun işlevlerini kullanır ve test sonucunun doğruluğunu onaylar. Platform testi:

  • (1. Tür) Android çerçevesini kullanarak çerçeve API'lerini kullanın. Kullanılan belirli API'ler şunları içerebilir:
    • Üçüncü taraf uygulamaları için tasarlanmış herkese açık API'ler
    • Ayrıcalıklı uygulamalar için tasarlanmış gizli API'ler (ör. sistem API'leri veya özel API'ler) (@hide, protected, package private)
  • (Tür 2) Android sistem hizmetlerini doğrudan ham bağlayıcı veya IPC proxy'leri kullanarak çağırın.
  • (3. tür) Düşük düzeyli 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 belgelerin listesini aşağıda bulabilirsiniz: