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

Firebase Test Lab, uygulamanızı çeşitli cihaz ve yapılandırmalarda test etmenize olanak tanır. Bu Başlangıç Kılavuzu, uygulamanız gereken bir uygulama yolunun yanı sıra Test Lab'ın Android tekliflerine giriş sunar.

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 test senaryosu grubu çalıştırdığınızda Test Lab, testi uygulamanız üzerinde toplu olarak çalıştırır ve sonuçları test matrisi olarak gösterir.

Cihazlar × Test Çalıştırmaları = Test Matrisi

Cihaz
Telefon, tablet veya giyilebilir cihaz gibi üzerinde test çalıştırdığınız fiziksel ya da sanal bir cihaz (yalnızca Android). Test matrisindeki cihazlar; cihaz modeli, işletim sistemi sürümü, ekran yönü ve yerel ayar (coğrafi bölge ve dil ayarları olarak da bilinir) ile tanımlanır.
Test, test yürütme
Bir cihazda çalıştırılacak test (veya test durumları grubu). Cihaz başına bir test çalıştırabilir veya isteğe bağlı olarak testi bölebebilir ve test durumlarını farklı cihazlarda çalıştırabilirsiniz.
Test matrisi
Test çalıştırmalarınızın 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'e 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ılmakla sınırlı olduğunu unutmayın. Yakalanmadığında istisnalar testin başarısız olmasına neden olur.

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

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

  • Oyun Döngüsü testi: Oyun uygulamalarındaki oyuncu hareketlerini simüle etmek için "demo modu" 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 yazmamak

    • İsteğe bağlı olarak tek bir test yürütme işleminde çalıştırılacak birden fazla döngü oluşturabilirsiniz (daha fazla bilgi edinmek için Oyun döngüsü testleri hakkında başlıklı makaleyi inceleyin). Ayrıca, etiketleri kullanarak döngüleri düzenleyebilir, 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ıracağınız araçlar

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

  • İlk kez kullananlar için önerilir: Firebase Konsolu, uygulama yüklemenize ve web tarayıcınızdan test başlatmanıza olanak tanır. Bu aracı kullanarak test çalıştırmayla ilgili 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 test çalıştırmayla ilgili 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 ve 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 gcloud CLI ile test etme başlıklı makaleyi inceleyin.

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 testler başlıklı makaleleri inceleyin.

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

Test Lab, Google veri merkezinde yüklü ve çalışan çeşitli Android cihaz marka ve modellerinde test yapmayı destekler. Test Lab'teki cihazlarda test yapmak, uygulamanızı Android Studio'da emülatörleri kullanarak test ederken ortaya çıkmayabilecek sorunları tespit etmenize yardımcı olur. Daha fazla bilgi için Kullanılabilir cihazlar bölümüne bakın.

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 yönetir ve internette görüntüleyebilirsiniz.

Test sonucu özeti otomatik olarak depolanır ve Firebase konsolunda görüntülenebilir. Testinize en alakalı verileri içerir. Test senaryosuna özel videolar, ekran görüntüleri, başarılı, başarısız veya kararsız sonuçlar veren testlerin sayısı ve daha fazlası bu raporda yer alır.

Ham test sonuçları, test günlüklerini ve uygulamadaki hata ayrıntılarını içerir ve otomatik olarak bir Google Cloud paketinde depolanır. Bir paket belirtirseniz depolama alanı 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. Yeni testler çalıştırmaya hazır olduklarından emin olmak için her test çalıştırmasından sonra fiziksel cihazlarda uygulama verilerini kaldırmak ve sistem ayarlarını sıfırlamak üzere endüstri standardı en iyi uygulamaları uygularız. Özel bir kurtarma görüntüsüyle flaş yapabildiğimiz cihazlarda, test çalıştırmaları arasında bu cihazları flaşlayarak bir adım daha ileri gideriz.

Test Lab tarafından kullanılan sanal cihazlarda, her test çalıştırmasında yeni bir sanal cihaz örneğinin 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 son sürümünü çalıştırır ancak bazı cihazlarda SDK'nın yeni sürümü yayınlandıktan sonra güncelleme işleminin tamamlanması birkaç gün sürebilir. Bazı cihazlarda uyumluluk sorunlarıyla karşılaşabileceğ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ış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 rotaları açmak için aşağıdaki IP adresi bloklarını kullanarak Test Lab'ın 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 azaltmak için:

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

  • Testinizde gerçek reklamlar kullanmanız gerekiyorsa birlikte çalıştığınız dijital reklamcılık sağlayıcılarını, aşağıdaki IP adresi bloklarını kullanarak Test Lab'ten elde edilen gelirleri ve tüm ilgili trafiği filtrelemeleri konusunda bilgilendirin. Google'ın sahip olduğu reklam sağlayıcıları bilgilendirmeniz gerekmez. Test Lab bu işlemi sizin için yapar.

Test Lab cihazları 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'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 bloğu
Android ve iOS fiziksel cihazlar, Arm sanal cihazlar

70.32.128.0/19 (02-2022'de eklendi)

108.177.6.0/23

108.177.18.192/26 (2022-02 tarihinde eklendi)

108.177.29.64/27 (2022'nin 2. ayında genişletildi)

108.177.31.160/27 (2022-02 tarihinde eklendi)

199.36.156.8/29 (2022-02 tarihinde eklendi)

199.36.156.16/28 (2022'nin 2. ayında eklendi)

209.85.131.0/27 (2022-02 tarihinde eklendi)

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

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ı (Arm dışı)

34.68.194.64/29 (11-2019'da eklendi)

34.69.234.64/29 (11-2019'da eklendi)

34.73.34.72/29 (11-2019'da eklendi)

34.73.178.72/29 (11-2019'da eklendi)

34.74.10.72/29 (2022-02 tarihinde eklendi)

34.136.2.136/29 (02.2022'de eklendi)

34.136.50.136/29 (02.2022'de eklendi)

34.145.234.144/29 (02.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 (7-2019'da eklendi)

35.245.243.240/29 (2022-02 tarihinde eklendi)

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 (2022-02 kaldırıldı)