Bu belge, faydaları ve bilinen sınırlamaları da dahil olmak üzere Test Laboratuvarı için AVD'leri açıklar. Ayrıca, geliştirme yaşam döngüsü boyunca uygulamanızı nasıl test edeceğiniz konusunda önerilerde bulunuruz.
Test Lab AVD'leri Android Studio için AVD'lere benzer olsa da, ikisi arasında birkaç fark vardır. Örneğin, Test Lab'deki AVD'lerde Wi-Fi bağlantısı yerine benzetilmiş bir veri bağlantısı bulunur.
.arm
veya (Arm) son ekine sahip Test Lab AVD'leri, aşağıdaki avantajları sağlayan gelişmiş öykünücülerdir:
Daha hızlı test yürütme süresi
Tutarlılık için Android Studio'nun AVD'leriyle uyumlu ekran boyutları ve yoğunlukları
AVD'leri .arm
veya (Arm) son ekiyle kullanmak, diğer fiziksel cihaz türlerine göre aşağıdaki avantajları sağlar:
Fayda | Tanım | Kullanım durumları |
Yüksek kullanılabilirlik | Sanal cihazlarla test yaparken testleri çalıştırabilir ve test sonuçlarını daha hızlı alabilirsiniz. Sanal cihazlar istek üzerine oluşturulduğundan, testleriniz neredeyse anında başlar ve uygulamanızın hızlı bir şekilde doğrulanmasını sağlar. | Uygulamanızdaki küçük güncellemeleri test etme veya regresyon testi için. |
Daha uzun test süreleri | Fiziksel cihazlardaki testler, her cihazda 45 dakikalık test süresiyle sınırlıdır. Sanal cihazlar, 60 dakikaya kadar test süresini destekler. | Daha uzun testler çalıştırılıyor. |
Daha düşük maliyetler | Sanal cihazlar, uygulamanızı test etmek için kullanılan her sanal cihaz için saat başına 1 ABD doları olarak fiyatlandırılır. | Sürekli entegrasyon sistemleri kullanılarak veya kod girişinden önce günlük test. Daha fazla bilgi edinmek için Test Lab için Kullanım düzeyleri, kotalar ve fiyatlandırma bölümüne bakın. |
Uygulamanızı sanal cihazlarla test edin
Uygulamanızı fiziksel cihazlarda test ettiğiniz gibi sanal cihazlarda da test edebilirsiniz. Bir test matrisi yapılandırmak için test boyutlarını seçtiğinizde sanal cihazları seçmeniz yeterlidir. Test Lab ile test çalıştırma hakkında daha fazla bilgi edinmek için Firebase Test Lab ile Android için test etmeye başlama bölümüne bakın.
Desteklenen modelleri ve API'leri görüntüleyin
Test Lab tarafından desteklenen AVD modellerini ve API'leri görüntülemek için aşağıdaki komutu çalıştırın:
gcloud firebase test android models list --filter=virtual
Uygulamanızı test etmek için en iyi uygulamalar
Uygulamanızı Test Lab ile test ettiğinizde, sanal cihazlar seçeneklerinizi artırır. Uygulamanızı uygulama geliştirme yaşam döngüsü boyunca test etmek için bu bölümdeki en iyi uygulamaları kullanmanızı öneririz.
Android Studio öykünücüsünü veya bağlı bir fiziksel cihazı kullanın
Uygulamanızı geliştirirken, ilk doğrulama için her yapıyı incelemek üzere Android Studio öykünücüsünü veya bağlı bir fiziksel cihazı kullanın. Enstrümantasyon testleriniz varsa, bu testleri Android Studio'dan Test Lab tarafından sağlanan fiziksel veya sanal cihazlarda da çalıştırabilirsiniz.
Paylaşılan projeler üzerinde çalışırken her kod değişikliğinde CI sistemlerini kullanın
Büyük bir proje üzerinde çalışıyorsanız veya GitHub veya benzeri bir hizmet kullanılarak paylaşılan projelere katkıda bulunuyorsanız, sürekli entegrasyon (CI) sistemlerini kullanmanızı öneririz.
CI sistemi her çalıştığında veya her çekme isteğinden önce uygulamalarınızı sanal cihazlarda test edin. Test Lab'i CI sistemleriyle kullanma hakkında daha fazla bilgi edinmek için Android için Test Lab'i Sürekli Entegrasyon Sistemleriyle Kullanma bölümüne bakın.
Önemli uygulama güncellemeleri yayınlamadan önce Test Lab ile uygulamanızı fiziksel cihazlarda test edin
Önemli kullanıcı arayüzü ve işlevsellik değişiklikleri içeren uygulama güncellemelerini yayınlamadan önce, uygulamanızı fiziksel cihazlarda test etmek için Test Lab'ı kullanmanızı öneririz. Bu, uygulamanızın çok çeşitli popüler fiziksel cihazlarda kararlı ve performanslı olmasını sağlamaya yardımcı olacaktır. Fiziksel cihazlar üzerinde test yapmak ayrıca, sanal cihazlar tarafından simüle edilmeyen fiziksel cihaz özelliklerine dayanan herhangi bir uygulama işlevi için test kapsamı sağlar. Bu özellikler hakkında daha fazla bilgi edinmek için bkz. Bilinen sınırlamalar .
Sanal cihaz güncellemeleri
Android ekibi düzenli aralıklarla yeni sanal cihaz görüntüleri ekler, eskilerini kullanımdan kaldırır ve mevcut olanları günceller. Kullanıcılarınızın deneyimlerini yansıtan güncel Android sürümlerine karşı test yaptığınızdan emin olmanıza yardımcı olmak için bu güncellemeleri sanal cihaz görüntülerimize uyguluyoruz.
Nadir durumlarda, bu güncellemeler testlerin beklenmedik bir şekilde başarısız olmasına neden olabilir. Bozulabileceği bilinen bir güncelleme olduğunda, Test Lab bilgileri sürüm notlarına dahil eder. En iyi uygulama olarak, mümkün olduğunda bu değişikliklere dayanıklı test çerçeveleri (örneğin Espresso ) kullanmanızı öneririz. Bu mümkün olmadığında, daha seyrek güncellenmesini beklediğiniz Arm sanal cihazlarını hedeflemenizi öneririz.
Bilinen sınırlamalar
Bazı fiziksel cihaz özellikleri şu anda sanal cihazlar tarafından simüle edilmemektedir veya bazı sınırlamalarla simüle edilmektedir. Aşağıdaki tablo, şu anda sanal cihazlarda kullanılamayan veya belirli sınırlamalarla kullanılabilen özellikleri özetlemektedir.
Özellik | Detaylar |
Uygulama İkili Arabirimleri (ABI) | Tüm cihazlar tüm ABI'ları desteklemez. Android NDK ile geliştirme yapıyorsanız, hedeflediğiniz cihazların desteklediği ABI'ler için kod oluşturduğunuzdan emin olun. Daha fazla bilgi için bkz. Test Lab'deki kullanılabilir cihazlar . ABI yönetimi hakkında daha fazla bilgi edinmek için bkz. Android ABI'ler . Bir cihaz tarafından hangi ABI'lerin desteklendiğini öğrenmek için Kullanılabilir test cihazlarını kontrol etme bölümüne bakın. Not: Test matrisinizdeki bir test Geçersiz olarak işaretlendiyse bunun nedeni, uygulamanızın ABI cihazı tarafından desteklenmeyen yerel koda bağımlı olması olabilir. |
Grafik performansı | Nexus ve Pixel sanal cihazları, yazılım grafikleri oluşturmayı kullanır. Grafik yoğun uygulamalar daha düşük performansla karşılaşacaktır. Uygulamanız yoğun grafik içeriyorsa bunun yerine SmallPhone.arm ve MediumPhone.arm modellerini veya fiziksel cihazları kullanın. |
Ekran kaydı | Nexus ve Pixel cihazlarda ekran kaydı saniyede 1 karedir. |
Grafik API'leri | OpenGL ES 3.x, API seviyesi 29'un altındaki cihazlarda desteklenmez. Daha yeni cihazlar, OpenGL/Vulkan API'leri ile %100 uyumlu değildir. Grafiklerde küçük farklılıklar fark edebilirsiniz. |