Firebase Test Lab, uygulamanızı çeşitli cihazlarda ve yapılandırmalarda test etmenize olanak tanır. Bu Başlarken kılavuzu, izlemeniz için bir uygulama yolunun yanı sıra Test Lab'in Android tekliflerine bir giriş sağlar.
Test Lab kotaları ve fiyatlandırma planları hakkında bilgi için bkz. Kullanım, Kotalar ve Fiyatlandırma .
Anahtar kavramlar
Seçtiğiniz cihazlara ve yapılandırmalara karşı bir test veya bir dizi test çalışması çalıştırdığınızda, Test Lab testi uygulamanıza karşı toplu olarak çalıştırır ve ardından sonuçları bir test matrisi olarak görüntüler.
Cihazlar × Test Yürütmeleri = Test Matrisi
- Cihaz
- Telefon, tablet veya giyilebilir cihaz gibi üzerinde test yaptığınız fiziksel veya sanal bir cihaz (yalnızca Android). Bir 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
- Bir cihazda çalıştırılacak bir test (veya bir dizi test senaryosu). Cihaz başına bir test çalıştırabilir veya isteğe bağlı olarak testi parçalara ayırabilir ve test senaryolarını farklı cihazlarda çalıştırabilirsiniz.
- Test matrisi
- Test yürütmeleriniz için durumları ve test sonuçlarını içerir. Bir matristeki herhangi bir test yürütme başarısız olursa, matrisin tamamı başarısız olur.
1. Adım : Testinizi Test Lab'e yüklemek için hazırlayın
Mevcut test türleri
Aşağıdaki testleri Test Lab ile çalıştırabilirsiniz. Tüm test türlerinin fiziksel cihazlarda 45 dakika ve sanal cihazlarda 60 dakika çalıştırmayla sınırlı olduğunu unutmayın. Yakalanmayan herhangi bir özel durum test hatasına neden olur.
Enstrümantasyon testi veya enstrümanlı birim testi : Espresso veya UI Automator çerçevelerini kullanarak yazdığınız bir test. Bu testle, AndroidJUnitRunnerAPI'leri kullanarak doğru işlevselliği doğrulamak için uygulamanızın durumu hakkında açık iddialarda bulunabilirsiniz.
Testinizi Test Laboratuvarı'nda çalıştırmak üzere nasıl hazırlayacağınıza ilişkin talimatlar için Enstrümantasyon testi çalıştırma sayfasını ziyaret edin.
Enstrümantasyon testinin nasıl oluşturulacağına ilişkin talimatlar için Android Developers 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 metodik olarak keşfeden otomatikleştirilmiş bir test. Daha fazla bilgi için Robo testleri hakkında sayfasını ziyaret edin.
Game Loop testi : Oyun uygulamalarında oyuncu hareketlerini simüle etmek için bir "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. Bir Game Loop testi çalıştırmayı seçtiğinizde şunları yapabilirsiniz:
Oyun motorunuza özgü testler yazın
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ütmede çalıştırmak için birden fazla döngü oluşturun (daha fazla bilgi edinmek için Game Loop testleri hakkında sayfasını ziyaret edin). Ayrıca etiketleri kullanarak döngüleri düzenleyebilir, böylece onları takip edebilir ve belirli döngüleri yeniden çalıştırabilirsiniz.
Bu testi Test Lab ile çalıştırma talimatları için Game Loop testi çalıştırma bölümüne bakın.
Testinizi çalıştırmak için araçlar
Testinizi çalıştırmak için aşağıdaki araçları seçebilirsiniz:
İlk kez kullananlar için önerilir : Firebase konsolu, bir uygulama yüklemenize ve web tarayıcınızdan 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 etmenizi sağlar. Bu aracı kullanarak testleri çalıştırma talimatları için Android Studio ile Test Et bölümüne bakın.
gcloud komut satırı arabirimi, testleri komut satırından etkileşimli olarak çalıştırmanıza olanak tanır ve otomatik derleme ve test sürecinizin bir parçası olarak komut dosyası oluşturmak için çok uygundur. Bu aracı kullanarak testleri çalıştırma talimatları için gcloud CLI ile test etme bölümüne 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 Test Lab ile uygulamanızı ücretsiz olarak test edebilirsiniz. Daha fazla bilgi için bkz. Sorunları belirlemek için lansman öncesi raporları kullanma ve Robo testleri .
2. Adım : Test cihazınızı seçin
Test Lab, bir Google veri merkezinde kurulu ve çalışan çeşitli marka ve modellerde Android cihazları üzerinde test yapılmasını destekler. Test Lab'de cihazlar üzerinde test yapmak, uygulamanızı Android Studio'da emülatörler kullanarak test ederken oluşmayabilecek 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ı gözden geçirin
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 çevrimiçi olarak görüntülenebilir.
Test sonucu özeti otomatik olarak saklanır ve Firebase konsolunda görüntülenebilir. Test vakasına özel videolar, ekran görüntüleri, geçen, başarısız olan veya hatalı sonuçlar alan testlerin sayısı ve daha fazlası dahil olmak üzere testinizle en alakalı verileri içerir.
Ham test sonuçları , test günlüklerini ve uygulama hatası ayrıntılarını içerir ve otomatik olarak bir Google Cloud grubunda depolanır. Bir paket belirtirseniz, depolama maliyetinden siz sorumlusunuz. Bir grup belirtmezseniz, Test Lab sizin için ücretsiz olarak bir tane oluşturur.
Daha fazla ayrıntı için bkz. Firebase Test Laboratuvarı Sonuçlarını Analiz Etme.
Android Studio'dan bir test başlattığınızda, test sonuçlarını geliştirme ortamınızın içinden de inceleyebilirsiniz.
Cihaz temizleme
Google, uygulama verilerinizin güvenliğini çok ciddiye alır. Yeni testler yapmaya hazır olduklarından emin olmak için her test çalışmasından sonra uygulama verilerini kaldırmak ve fiziksel cihazların sistem ayarlarını sıfırlamak için endüstri standardı en iyi uygulamaları takip ediyoruz. Özel bir kurtarma görüntüsü ile flash yapabileceğimiz cihazlar için, bu cihazları test çalıştırmaları arasında flash ederek bir adım daha ileri gidiyoruz.
Test Lab tarafından kullanılan sanal cihazlar için, cihaz örnekleri kullanıldıktan sonra silinir, böylece her test çalıştırması yeni bir sanal cihaz örneği kullanır.
Test Laboratuvarı ve Google Play hizmetleri
Test Laboratuvarı cihazları genellikle Google Play hizmetleri SDK'sının en son sürümünde çalışır, ancak SDK'nın yeni bir sürümü yayınlandıktan sonra bazılarının güncellenmesi için birkaç gün gerekebilir. 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ı tarafından korunuyorsa, güvenlik duvarınız üzerinden yol açmak için aşağıdaki IP adresi bloklarını kullanarak Test Lab'in 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 ve ne yazık ki bu yetenek, 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 reklam sağlayıcıları (örneğin, reklam ağları veya talep tarafı platformları) kullanıyorsanız veya bunlarla çalışıyorsanız, uygulama geliştirme ve test etme sırasında gerçek reklamlar yerine test reklamlarını kullanmanız önerilir.
Testinizde gerçek reklamlar kullanmanız gerekiyorsa, aşağıdaki IP adresi bloklarını kullanarak Test Lab'den elde edilen gelirleri ve ilgili tüm trafiği filtrelemek için birlikte çalıştığınız dijital reklam sağlayıcılarını bilgilendirin. Google'a ait reklam sağlayıcıları bilgilendirmeniz gerekmez; Test Lab bunu sizin için halleder.
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 CLI'deki gcloud beta firebase test ip-blocks list
komutunu kullanarak da erişebilirsiniz. Liste yılda ortalama bir kez güncellenmektedir.
Platform ve cihaz tipi | CIDR IP adresi bloğu |
---|---|
Android ve iOS fiziksel cihazları | 70.32.128.0/19 (02-2022 eklendi) 108.177.6.0/23 108.177.18.192/26 (02-2022 eklendi) 108.177.29.64/27 (02-2022 genişletilmiş) 108.177.31.160/27 (02-2022 eklendi) 199.36.156.8/29 (02-2022 eklendi) 199.36.156.16/28 (02-2022 eklendi) 209.85.131.0/27 (02-2022 eklendi) 2001:4860:1008::/48 (02-2022 eklendi) 2001:4860:1018::/48 (02-2022 eklendi) 2001:4860:1019::/48 (02-2022 eklendi) 2001:4860:1020::/48 (02-2022 eklendi) 2001:4860:1022::/48 (02-2022 eklendi) |
Android sanal cihazlar | 34.68.194.64/29 (11-2019 eklendi) 34.69.234.64/29 (11-2019 eklendi) 34.73.34.72/29 (11-2019 eklendi) 34.73.178.72/29 (11-2019 eklendi) 34.74.10.72/29 (02-2022 eklendi) 34.136.2.136/29 (02-2022 eklendi) 34.136.50.136/29 (02-2022 eklendi) 34.145.234.144/29 (02-2022 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 eklendi) 35.245.243.240/29 (02-2022 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 (02-2022'de kaldırıldı) 216.239.44.24/29 (02-2022'de kaldırıldı) |