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 ve Test Lab'ın Android tekliflerine giriş sağlar.

Test Lab kotaları ve fiyatlandırma planları hakkında bilgi edinmek için Kullanım, Kotalar ve Fiyatlandırma bölümüne bakın.

Temel kavramlar

Seçtiğiniz cihazlar ve yapılandırmalar üzerinde 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 Yürütmeleri = Test Matrisi

Cihaz
Testi çalıştırdığınız fiziksel veya sanal cihaz (yalnızca Android), örneğin telefon, tablet ya da giyilebilir cihaz. Test matrisindeki cihazlar; cihaz modeli, işletim sistemi sürümü, ekran yönü ve yerel ayar (coğrafya ve dil ayarları olarak da bilinir) ile tanımlanır.
Test, test yürütme
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çalayıp test senaryoları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 yürütme işlemi başarısız olursa matrisin tamamı başarısız olur.

1. adım: Testinizi Test Lab'a yüklemeye 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ümantasyonlu 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ça iddialarda bulunabilirsiniz.

  • Robo testi: 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. Herhangi bir kod yazmanızı gerektirmez. Daha fazla bilgi için Robo testleri hakkında başlıklı makaleyi inceleyin.

  • Oyun Döngüsü testi: Oyun uygulamalarındaki oyuncu işlemlerini simüle etmek için "demo modu"nu kullanan bir testtir. 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 yürütme işleminde çalıştırılacak birden fazla döngü oluşturun (Daha fazla bilgi edinmek için Oyun Döngüsü testleri hakkında başlıklı makaleyi inceleyin). Ayrıca, döngüleri etiketler kullanarak düzenleyebilir, böylece bunları 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 kullananlar için önerilir: Firebase konsolu, web tarayıcınızdan bir uygulama yüklemenize ve testi 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, geliştirme ortamınızdan ayrılmadan uygulamanızı test etmenizi sağlar. Bu aracı kullanarak testleri çalıştırma talimatları için Android Studio ile Test Etme bölümüne bakın.

  • gcloud komut satırı arayüzü, testleri komut satırından etkileşimli olarak çalıştırmanıza olanak tanır. Ayrıca, otomatik derleme ve test sürecinizin bir parçası olarak komut dosyası oluşturmaya da uygundur. Bu aracı kullanarak test çalıştırma talimatları için Test with the gcloud CLI (gcloud CLI ile test etme) başlıklı makaleye bakın.

Ayrıca, 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, Google veri merkezinde kurulu ve çalışan çeşitli Android cihaz markaları ve modellerinde test yapmayı destekler. Test Lab içindeki cihazlarda test yapmak, Android Studio'da emülatör kullanarak uygulamanızı test ederken oluşmayabilecek 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. Test durumuyla ilgili videolar, ekran görüntüleri, başarılı, başarısız veya kararsız sonuçlanan testlerin sayısı gibi testinizle en alakalı verileri içerir.

İşlenmemiş 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 temizleme

Google, uygulama verilerinizin güvenliğini çok ciddiye alır. Her test çalıştırmasından sonra fiziksel cihazlardaki uygulama verilerini kaldırmak ve sistem ayarlarını sıfırlamak için sektör standardı en iyi uygulamaları izleriz. Böylece cihazların yeni testler çalıştırmaya hazır olmasını sağlarız. Özel kurtarma görüntüsüyle flash edebildiğimiz cihazlarda, test çalıştırmaları arasında bu cihazları flash ederek bir adım daha ileri gidiyoruz.

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


Test Lab ve Google Play Hizmetleri

Test Lab cihazlar genellikle Google Play Hizmetleri SDK'sının en yeni sürümünde çalışır ancak bazı cihazların, SDK'nın yeni bir sürümü yayınlandıktan sonra güncellenmesi birkaç gün sürebilir. Bazı cihazlarda uyumluluk sorunları yaşayabileceğinizi unutmayın.

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

Bazı mobil uygulamaların, test sırasında düzgün çalışabilmesi 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 rotalar açmak için aşağıdaki IP adresi bloklarını kullanarak Test Lab'nın fiziksel ve sanal cihazlarına erişime izin verebilirsiniz.

Mobil reklamcılık

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

Bu sorunu azaltmak 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 bu sağlayıcılarla ç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 Test Lab tarafından oluşturulan gelirleri ve ilgili tüm trafiği filtrelemek için çalıştığınız dijital reklam sağlayıcıları aşağıdaki IP adresi bloklarını kullanarak bilgilendirin. Google'a ait reklam sağlayıcıları bilgilendirmeniz gerekmez. Bu işlem Test Lab tarafından sizin adınıza yapılır.

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 KSA'da gcloud beta firebase test ip-blocks list komutunu kullanarak da erişebilirsiniz. Liste ortalama olarak 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 (added 02-2022)

108.177.6.0/23

108.177.18.192/26 (eklenme tarihi: Şubat 2022)

108.177.29.64/27 (02-2022'de genişletildi)

108.177.31.160/27 (eklenme tarihi: Şubat 2022)

199.36.156.8/29 (eklenme tarihi: 02-2022)

199.36.156.16/28 (eklenme tarihi: Şubat 2022)

209.85.131.0/27 (eklenme tarihi: Şubat 2022)

2001:4860:1008::/48 (eklenme tarihi: 02-2022)

2001:4860:1018::/48 (02-2022'de eklendi)

2001:4860:1019::/48 (02-2022'de eklendi)

2001:4860:1020::/48 (02-2022'de eklendi)

2001:4860:1022::/48 (02-2022'de eklendi)

70.32.128.48/28 (04-2024'te eklendi)

Android sanal cihazları (Non-Arm)

34.68.194.64/29 (11-2019'da eklendi)

34.69.234.64/29 (11-2019'da eklendi)

34.73.34.72/29 (eklenme tarihi: 11-2019)

34.73.178.72/29 (11-2019'da eklendi)

34.74.10.72/29 (eklenme tarihi: 02-2022)

34.136.2.136/29 (eklenme tarihi: 02-2022)

34.136.50.136/29 (eklenme tarihi: 02-2022)

34.145.234.144/29 (eklenme tarihi: 02-2022)

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 (7-2019'da eklendi)

35.245.243.240/29 (eklenme tarihi: Şubat 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Cihaz IP engellemeleri artık kullanılmıyor

74.125.122.32/29 (02-2022'de kaldırıldı)

216.239.44.24/29 (02-2022'de kaldırıldı)