Firebase Test Lab, uygulamanızı çeşitli cihazlarda ve yapılandırmalarda test etmenize olanak tanır. Bu başlangıç kılavuzunda, izlemeniz gereken bir uygulama yolu ve Test Lab'in Android tekliflerine giriş bilgileri yer alı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
- 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 ayara (coğrafya ve dil ayarları olarak da bilinir) göre 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.
Testinizi Test Lab içinde çalıştırılmaya hazırlama talimatları için Enstrümantasyon testi çalıştırma sayfasını ziyaret edin.
Enstrümantasyon testi oluşturma talimatları için Android Geliştiricileri belgelerine bakın.
Robo testi: Uygulamanızın kullanıcı arayüzünü analiz eden ve ardından herhangi bir kod yazmanıza gerek kalmadan kullanıcı etkinliklerini simüle ederek uygulamanızı metodik olarak inceleyen otomatik bir testtir. Daha fazla bilgi için Robo testleri hakkında sayfasını ziyaret edin.
Oyun Döngüsü testi: Oyun uygulamalarında oyuncu işlemlerini 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 yazmaktan kaçının.
İsterseniz tek bir test işleminde çalıştırılacak birden fazla döngü oluşturabilirsiniz (daha fazla bilgi için Oyun Döngüsü testleri hakkında başlıklı makaleyi 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çlardan birini 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 bölümüne bakın.
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 bölümüne bakın.
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 Test Lab ile uygulamanızı ü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 edinmek 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 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 rapor, testinizle ilgili en alakalı verileri içerir. Test durumuna özel 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ı bu veriler arasındadı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. Her test çalıştırmasından sonra fiziksel cihazların yeni testleri çalıştırmaya hazır olmasını sağlamak için uygulama verilerini kaldırma ve sistem ayarlarını sıfırlama konusunda endüstri standardı en iyi uygulamaları takip ederiz. Özel bir kurtarma görüntüsüyle flash edebileceğimiz cihazlar için, test çalıştırmaları arasında bu cihazları flash ederek 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ü çalıştırı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ız üzerinden 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 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 filtrelemek 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ı) |