Firebase Test Lab ile Android için test yapmaya başlayın

Firebase Test Lab, uygulamanızı çeşitli cihazlarda ve yapılandırmalarda test etmenize olanak tanır. Bu Başlangıç Kılavuzu, izlemeniz gereken bir uygulama yolu sunar ve Test Lab'in Android tekliflerini tanıtır.

Test Lab kotaları ve fiyatlandırma planları hakkında bilgi edinmek için Kullanım, Kotalar ve Fiyatlandırma başlıklı makaleyi inceleyin.

Temel kavramlar

Seçtiğiniz cihazlar ve yapılandırmalar için bir test veya bir dizi test durumu çalıştırdığınızda Test Lab, testi uygulamanızda toplu olarak çalıştırır ve sonuçları test matrisi olarak gösterir.

Cihazlar × Test İşlemleri = Test Matrisi

Cihaz
Üzerinde test çalıştırdığınız fiziksel veya sanal cihaz (yalnızca Android). Örneğin, telefon, tablet veya giyilebilir cihaz. Test matrisindeki cihazlar; cihaz modeli, OS sürümü, ekran yönü ve yerel ayar (coğrafya ve dil ayarları olarak da bilinir) ile tanımlanır.
Test, test işlemi
Cihazda çalıştırılacak bir test (veya bir dizi test durumu). Cihaz başına bir test çalıştırabilir veya isteğe bağlı olarak testi parçalara ayırıp test durumlarını farklı cihazlarda çalıştırabilirsiniz.
Test matrisi
Test işlemlerinizin durumlarını ve test sonuçlarını içerir. Bir matristeki herhangi bir test işlemi başarısız olursa matrisin tamamı başarısız olur.

1. adım: Testinizi Test Lab platformuna yüklemek için hazırlayın.

Kullanılabilir test türleri

Test Lab ile aşağıdaki testleri çalıştırabilirsiniz. Tüm test türlerinin fiziksel cihazlarda 45 dakika, sanal cihazlarda ise 60 dakika çalıştırılabileceğini unutmayın. Yakalanmayan tüm istisnalar testin başarısız olmasına neden olur.

  • Enstrümantasyon testi veya enstrümantasyon birim testi: Espresso veya UI Automator çerçevelerini kullanarak yazdığınız bir test. Bu testle, AndroidJUnitRunner API'lerini kullanarak doğru işlevselliği doğrulamak için uygulamanızın durumu hakkında açık iddialarda bulunabilirsiniz.

  • Robo test: Uygulamanızın kullanıcı arayüzünü analiz eden ve ardından kullanıcı etkinliklerini simüle ederek metodik bir şekilde keşfeden otomatik bir testtir. Bu test için herhangi bir kod yazmanız gerekmez. Daha fazla bilgi için Robo testleri hakkında başlıklı makaleyi inceleyin.

  • Oyun Döngüsü testi: Oyun uygulamalarında oyuncu işlemlerini simüle etmek için "demo modu" kullanan bir test. Bu, oyununuzun kullanıcılar için iyi performans gösterdiğini doğrulamanın hızlı ve ölçeklenebilir bir yoludur. Oyun döngüsü testi çalıştırmayı seçtiğinizde şunları yapabilirsiniz:

    • Oyun motorunuza özgü testler yazma

    • Farklı kullanıcı arayüzleri veya test çerçeveleri için aynı kodu yazmaktan kaçının.

    • İsteğe bağlı olarak, tek bir test işleminde çalıştırılacak birden fazla döngü oluşturun (daha fazla bilgi için Oyun Döngüsü testleri hakkında bölümünü inceleyin). Döngüleri etiketleri kullanarak da düzenleyebilirsiniz. Böylece döngüleri takip edebilir ve belirli döngüleri yeniden çalıştırabilirsiniz.

    Bu testi Test Lab ile çalıştırma talimatları için Oyun Döngüsü testi çalıştırma başlıklı makaleyi inceleyin.

Testinizi çalıştırmak için kullanabileceğiniz araçlar

Testinizi çalıştırmak için aşağıdaki araçları seçebilirsiniz:

  • İlk kez kullanan kullanıcılar için önerilir: Firebase Console, web tarayıcınızdan uygulama yüklemenize ve test başlatmanıza olanak tanır. Bu aracı kullanarak test çalıştırma talimatları için Firebase konsoluyla test etme başlıklı makaleyi inceleyin.

  • Android Studio entegrasyonu, uygulamanızı geliştirme ortamınızdan ayrılmadan test etmenize olanak tanır. Bu aracı kullanarak test çalıştırma talimatları için Android Studio ile test etme başlıklı makaleyi inceleyin.

  • gcloud komut satırı arayüzü, komut satırından etkileşimli olarak test çalıştırmanıza olanak tanır. Ayrıca otomatik derleme ve test sürecinizin bir parçası olarak komut dosyası oluşturmak için de uygundur. Bu aracı kullanarak test çalıştırma talimatları için gcloud CLI ile test etme bölümüne bakın.

Uygulamanızın APK dosyalarını alfa veya beta kanalını kullanarak Play Store'a yükleyip yayınladığınızda uygulamanızı Test Lab ile ücretsiz olarak test edebilirsiniz. Daha fazla bilgi için Sorunları tanımlamak için lansman öncesi raporları kullanma ve Robo testleri başlıklı makaleleri inceleyin.

2. adım: Test cihazınızı seçin

Test Lab, bir Google veri merkezinde kurulu ve çalışır durumda olan çeşitli marka ve model Android cihazlarda test yapmayı destekler. Test Lab cihazlarında test yapmak, Android Studio'da emülatörleri kullanarak uygulamanızı test ederken ortaya çıkmayabilecek sorunları tespit etmenize yardımcı olur. Daha fazla bilgi için Kullanılabilir cihazlar başlıklı makaleyi inceleyin.

3. adım: Test sonuçlarını inceleyin

Testlerinizi nasıl başlattığınızdan bağımsız olarak tüm test sonuçlarınız Test Lab tarafından yönetilir ve online olarak görüntülenebilir.

Test sonucu özeti otomatik olarak depolanır ve Firebase konsolunda görüntülenebilir. Bu sekmede, test durumuyla ilgili videolar, ekran görüntüleri, başarılı, başarısız veya tutarsız sonuçlar veren testlerin sayısı ve daha fazlası dahil olmak üzere testinizle ilgili en alakalı veriler yer alır.

Ham test sonuçları, test günlüklerini ve uygulama hatası ayrıntılarını içerir ve otomatik olarak bir Google Cloud paketinde depolanır. Bir paket belirtirseniz depolama maliyetinden siz sorumlu olursunuz. Bir paket belirtmezseniz Test Lab sizin için ücretsiz olarak bir paket oluşturur.

Daha fazla bilgi için Firebase Test Lab sonuçlarını analiz etme başlıklı makaleyi inceleyin.

Android Studio'dan bir test başlattığınızda test sonuçlarını geliştirme ortamınızdan da inceleyebilirsiniz.

Cihaz temizliği

Google, uygulama verilerinizin güvenliğini çok ciddiye alır. Fiziksel cihazların yeni testleri çalıştırmaya hazır olmasını sağlamak için her test çalıştırmasından sonra uygulama verilerini kaldırma ve sistem ayarlarını sıfırlama konusunda endüstri standardı en iyi uygulamaları takip ederiz. Özel kurtarma görüntüsüyle flaşlayabildiğimiz cihazlarda, test çalıştırmaları arasında bu cihazları flaşlayarak bir adım daha ileri gidiyoruz.

Test Lab tarafından kullanılan sanal cihazlarda, cihaz örnekleri kullanıldıktan sonra silinir. Böylece her test çalıştırmasında yeni bir sanal cihaz örneği kullanılır.


Test Lab ve Google Play Hizmetleri

Test Lab cihazlar genellikle Google Play Hizmetleri SDK'sının en yeni sürümünü kullanır ancak bazı cihazların SDK'nın yeni sürümü yayınlandıktan sonra güncellenmesi birkaç gün sürebilir. Bazı cihazlarda uyumluluk sorunlarıyla karşılaşabilirsiniz.

Test cihazlarının özel arka uç sunucularına erişmesine izin verme

Bazı mobil uygulamaların, test sırasında doğru şekilde çalışması için özel arka uç hizmetleriyle iletişim kurması gerekir. Arka uç sunucularınız güvenlik duvarı kurallarıyla korunuyorsa güvenlik duvarınızda rota açmak için aşağıdaki IP adresi bloklarını kullanarak Test Lab'in fiziksel ve sanal cihazlarına erişim izni verebilirsiniz.

Mobil reklamcılık

Test Lab, uygulama testini otomatikleştiren ölçeklenebilir bir altyapı sağlar. Maalesef bu özellik, sahte reklam geliri elde etmek için tasarlanmış kötü amaçlı uygulamalar tarafından kötüye kullanılabilir.

Bu sorunu gidermek için:

  • Üçüncü taraf dijital reklamcılık sağlayıcıları (ör. reklam ağları veya talep tarafı platformları) kullanıyorsanız ya da bunlarla çalışıyorsanız uygulama geliştirme ve test aşamasında gerçek reklamlar yerine test reklamları kullanmanız önerilir.

  • Testinizde gerçek reklamlar kullanmanız gerekiyorsa aşağıdaki IP adresi bloklarını kullanarak Test Lab tarafından oluşturulan gelirleri ve ilgili tüm trafiği filtrelemeleri için birlikte çalıştığınız dijital reklamcılık sağlayıcılarını bilgilendirin. Google'a ait reklam sağlayıcıları bilgilendirmeniz gerekmez. Test Lab bu işlemi sizin yerinize yapar.

Test Lab cihaz tarafından kullanılan IP adresleri

Test Lab cihazları tarafından oluşturulan tüm ağ trafiği, aşağıdaki IP adresi bloklarından kaynaklanır. Bu listeye gcloud CLI'daki gcloud beta firebase test ip-blocks list komutunu kullanarak da erişebilirsiniz. Liste ortalama yılda bir kez güncellenir.

Platform ve cihaz türü CIDR IP adresi bloku
Android ve iOS fiziksel cihazlar, Arm sanal cihazlar

70.32.128.0/19 (Şubat 2022'de eklendi)

108.177.6.0/23

108.177.18.192/26 (Şubat 2022'de eklendi)

108.177.29.64/27 (Şubat 2022'de genişletildi)

108.177.31.160/27 (Şubat 2022'de eklendi)

199.36.156.8/29 (Şubat 2022'de eklendi)

199.36.156.16/28 (Şubat 2022'de eklendi)

209.85.131.0/27 (Şubat 2022'de eklendi)

2001:4860:1008::/48 (Şubat 2022'de eklendi)

2001:4860:1018::/48 (Şubat 2022'de eklendi)

2001:4860:1019::/48 (Şubat 2022'de eklendi)

2001:4860:1020::/48 (Şubat 2022'de eklendi)

2001:4860:1022::/48 (Şubat 2022'de eklendi)

2001:4860:101d::/48 (Ekim 2025'te eklendi)

2001:4860:101e::/48 (Ekim 2025'te eklendi)

2001:4860:1031::/48 (Ekim 2025'te eklendi)

70.32.128.48/28 (Nisan 2024'te eklendi)

70.32.150.192/27 (Eylül 2025'te eklendi)

108.177.6.0/27 (Eylül 2025'te eklendi)

108.177.24.160/27 (Eylül 2025'te eklendi)

108.177.29.0/27 (Eylül 2025'te eklendi)

108.177.25.128/27 (Mayıs 2026'da eklendi)

108.177.26.128/26 (Mayıs 2026'da eklendi)

108.177.29.192/26 (Mayıs 2026'da eklendi)

172.217.120.64/26 (Mayıs 2026'da eklendi)

172.217.120.128/26 (Mayıs 2026'da eklendi)

2001:4860:1037::/48 (Mayıs 2026'da eklendi)

2001:4860:1038::/48 (Mayıs 2026'da eklendi)

2001:4860:103a::/48 (Mayıs 2026'da eklendi)

Android sanal cihazları (ARM olmayan)

34.68.194.64/29 (Kasım 2019'da eklendi)

34.69.234.64/29 (Kasım 2019'da eklendi)

34.73.34.72/29 (Kasım 2019'da eklendi)

34.73.178.72/29 (Kasım 2019'da eklendi)

34.74.10.72/29 (Şubat 2022'de eklendi)

34.136.2.136/29 (Şubat 2022'de eklendi)

34.136.50.136/29 (Şubat 2022'de eklendi)

34.145.234.144/29 (Şubat 2022'de eklendi)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (Temmuz 2019'da eklendi)

35.245.243.240/29 (Şubat 2022'de eklendi)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Cihaz IP blokları artık kullanılmıyor

74.125.122.32/29 (Şubat 2022'de kaldırıldı)

216.239.44.24/29 (Şubat 2022'de kaldırıldı)