Android Studio, test etme sürecini kolaylaştırmak için tasarlanmıştır. Test oluşturma, çalıştırma ve analiz etme işlemlerinizi basitleştirmek için birçok özellik içerir. Yerel makinenizde çalışan testler veya bir cihazda çalışan enstrümanlı testler ayarlayabilirsiniz. Tek bir testi veya belirli bir test grubunu bir veya daha fazla cihazda kolayca çalıştırabilirsiniz. Test sonuçları doğrudan Android Studio'da gösterilir.
1.şekil Android Studio'da test sonuçlarına genel bakış gösteriliyor.
Bu sayfada, Android Studio'da testlerin nasıl yönetileceği açıklanmaktadır. Otomatik Android testleri yazmayı öğrenmek için Android'de uygulamaları test etme başlıklı makaleyi inceleyin.
Test türleri ve konumları
Testlerinizin konumu, yazdığınız testin türüne bağlıdır. Android projelerinde yerel birim testleri ve araçlı testler için varsayılan kaynak kodu dizinleri bulunur.
Yerel birim testleri,
module-name/src/test/java/
konumunda bulunur. Bunlar, makinenizin yerel Java sanal makinesinde (JVM) çalışan testlerdir. Bu testleri, testlerinizde Android çerçevesi bağımlılıkları olmadığında veya Android çerçevesi bağımlılıkları için test çiftleri oluşturabildiğinizde yürütme süresini en aza indirmek için kullanın.
Yerel birim testleri yazma hakkında daha fazla bilgi için Yerel birim testleri oluşturma başlıklı makaleyi inceleyin.
Araçlı testler,
$module-name/src/androidTest/java/
konumunda bulunur.
Bu testler bir donanım cihazında veya emülatörde çalıştırılır. Test ettiğiniz uygulamada Instrumentation
sınıfları gibi bilgilere erişmenizi sağlayan ve test edilen uygulamayı test kodunuzdan kontrol etmenize olanak tanıyan API'lere erişebilirler.Context
Enstrümanlı testler ayrı bir APK'ya yerleştirildiğinden kendi AndroidManifest.xml
dosyaları vardır. Bu dosya otomatik olarak oluşturulur ancak $module-name/src/androidTest/AndroidManifest.xml
adresinde kendi sürümünüzü oluşturabilirsiniz. Bu sürüm, oluşturulan manifest ile birleştirilir. Kullanıcı etkileşimini otomatikleştirmek için entegrasyon ve işlevsel kullanıcı arayüzü testleri yazarken veya testlerinizde test çiftleri oluşturamadığınız Android bağımlılıkları olduğunda enstrümanlı testleri kullanın.
Enstrümanlı testler yazma hakkında daha fazla bilgi için Enstrümanlı testler oluşturma ve Kullanıcı arayüzü testlerini otomatikleştirme başlıklı makaleleri inceleyin.
Yalnızca belirli derleme varyantlarını test etmek için testlerinizi derleme varyantına özgü dizinlere yerleştirebilirsiniz. Örneğin, $module-name/src/testMyFlavor/java/
içine bazı yerel birim testleri yerleştirebilirsiniz. Böylece testler, bu varyantın kaynak koduyla oluşturulan uygulamanızı hedefler. Bu özel testleri oluşturma hakkında daha fazla bilgi için Derleme varyantı için enstrümanlı test oluşturma başlıklı makaleyi inceleyin.
Yeni bir proje oluşturduğunuzda veya uygulama modülü eklediğinizde Android Studio, daha önce listelenen test kaynak kümelerini oluşturur ve her birine örnek bir test dosyası ekler. Bunları 2. şekilde gösterildiği gibi Proje penceresinde görebilirsiniz.
Şekil 2. Projenizin (1) enstrümanlı testleri ve (2) yerel JVM testleri, Proje görünümünde (sol) veya Android görünümünde (sağ) görünür.
Yeni testler oluşturma
Aşağıdaki adımları uygulayarak doğrudan kaynak kodundan belirli bir sınıf veya yöntem için yeni bir test ekleyebilirsiniz:
- Test etmek istediğiniz kodu içeren kaynak dosyayı açın.
- İmlecinizi test etmek istediğiniz sınıfın veya yöntemin adına getirin ve Control+Shift+T (macOS'te Command+Shift+T) tuşlarına basın.
- Açılan pop-up'ta Yeni Test Oluştur…'u tıklayın.
- Test Oluştur iletişim kutusunda JUnit4'ü seçin, oluşturmak istediğiniz alanları ve yöntemleri düzenleyin, ardından Tamam'ı tıklayın.
- Hedef dizini seçin iletişim kutusunda, oluşturmak istediğiniz test türüne karşılık gelen kaynak kümesini tıklayın: enstrümanlı test için androidTest veya yerel birim testi için test. Ardından Tamam'ı tıklayın.
Alternatif olarak, uygun test kaynağı grubunda aşağıdaki şekilde genel bir test dosyası oluşturabilirsiniz:
- Soldaki Proje penceresinde açılır menüyü tıklayın ve Android görünümünü seçin.
- java dizinini sağ tıklayın ve New > Java Class (Yeni > Java Sınıfı) veya New > Kotlin Class/File'ı (Yeni > Kotlin Sınıfı/Dosyası) seçin. Alternatif olarak, java dizinini seçip Control+N (macOS'te Command+N) kısayolunu kullanabilirsiniz.
- Hedef dizini seçin iletişim kutusunda, oluşturmak istediğiniz test türüne karşılık gelen kaynak kümesini tıklayın: enstrümanlı test için androidTest veya yerel birim testi için test. Ardından Tamam'ı tıklayın.
- Dosyayı adlandırın ve Tamam'ı tıklayın.
Uygulamanız, test ekledikten sonra derlenmiyorsa doğru test kitaplığı bağımlılıklarını ayarladığınızdan emin olun. Doğru bağımlılıklar için Yerel testler oluşturma ve Enstrümanlı testler oluşturma başlıklı makaleleri inceleyin.
Testler yapın
Herhangi bir testi çalıştırmadan önce araç çubuğunda Projeyi Senkronize Et'i
tıklayarak projenizin Gradle ile tamamen senkronize edildiğinden emin olun. Farklı ayrıntı düzeylerinde testler çalıştırabilirsiniz:
Bir dizindeki veya dosyada tüm testleri çalıştırmak için Proje penceresini açın ve aşağıdakilerden birini yapın:
- Bir dizini veya dosyayı sağ tıklayın ve Çalıştır'ı
tıklayın.
- Dizini veya dosyayı seçin ve Ctrl+Üst Karakter+R kısayolunu kullanın.
- Bir dizini veya dosyayı sağ tıklayın ve Çalıştır'ı
Bir sınıftaki tüm testleri veya belirli bir yöntemi çalıştırmak için test dosyasını Kod Düzenleyici'de açın ve aşağıdakilerden birini yapın:
- Olukta Testi çalıştır simgesine
basın.
- Test sınıfını veya yöntemini sağ tıklayın ve Çalıştır'ı
tıklayın.
- Test sınıfını veya yöntemini seçin ve Ctrl+Üst Karakter+R kısayolunu kullanın.
- Olukta Testi çalıştır simgesine
Enstrümanlı testleriniz fiziksel bir cihazda veya emülatörde çalıştırılır. Fiziksel cihazları ayarlama hakkında daha fazla bilgi edinmek için Uygulamaları donanım cihazında çalıştırma başlıklı makaleyi inceleyin. Emülatörleri ayarlama hakkında daha fazla bilgi edinmek için Android Emülatör'de uygulamaları çalıştırma başlıklı makaleyi inceleyin.
Test çalıştırmasını yapılandırma
Testleriniz varsayılan olarak Android Studio'nun varsayılan çalıştırma yapılandırması kullanılarak çalıştırılır. Enstrümantasyon çalıştırıcısı ve dağıtım seçenekleri gibi bazı çalıştırma ayarlarını değiştirmeniz gerekiyorsa Run/Debug Configurations (Çalıştırma/Hata Ayıklama Yapılandırmaları) iletişim kutusunda çalıştırma yapılandırmasını düzenleyebilirsiniz (Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) tıklayın).
Birleşik Gradle test çalıştırıcısı
Android Gradle eklentisi 7.1.0 ve Android Studio Bumblebee ile sonraki sürümler, enstrümantasyonlu testleri çalıştırmak için Gradle'ın Android enstrümantasyonlu test çalıştırıcısının kendi uygulamasını kullanır. Aynı test çalıştırıcıyı kullandığınızda, komut satırından (ör. sürekli entegrasyon sunucusunda) veya Android Studio'dan AGP'yi kullanarak çalıştırmanızdan bağımsız olarak sonuçlar tutarlı olur.
3.Şekil Birleştirilmiş Gradle test çalıştırıcısı.
Android Studio'nun önceki sürümlerinde Gradle'ın Android enstrümanlı test çalıştırıcısı yerine IntelliJ Android enstrümanlı test çalıştırıcısı kullanılır. Bu nedenle, Android Studio'nun en yeni sürümünü kullanmıyorsanız testlerinizi Android Studio'dan mı yoksa Gradle eklentisini kullanarak komut satırından mı çalıştırdığınıza bağlı olarak farklı test sonuçları görebilirsiniz. Örneğin, testler bir çalıştırıcıda başarılı olurken diğerinde başarısız olabilir.
Şekil 4. Android Studio'nun eski sürümlerinde ayrı test çalıştırıcılar.
Projenizde kaydedilmiş enstrümantasyonlu test yapılandırmalarınız varsa bağlı cihazınızda testleri çalıştırmak için Gradle kullanılır. Aşağıda gösterildiği gibi, test sınıfınızın veya yönteminizin yanındaki oluk işlemini kullanarak yeni bir enstrümanlı test yapılandırması oluşturabilirsiniz.
5.şekil Kanal işleminden test çalıştırma
Araçlı testlerinizi çalıştırırken Gradle görev çıkışı için Test Matrisi'ndeki test çıkışını inceleyerek Android Studio'nun Gradle test çalıştırıcısını kullandığını doğrulayabilirsiniz.
Birden fazla cihazda paralel olarak çalıştırın
Araçlı testler varsayılan olarak tek bir fiziksel cihazda veya emülatörde çalıştırılır. Testlerinizin daha fazla cihazda nasıl çalıştığını görmek istiyorsanız aşağıdaki adımları uygulayarak daha fazla cihaz seçebilirsiniz:
Testlerinizi çalıştırmadan önce hedef cihaz açılır menüsünü açın ve Birden Fazla Cihaz Seç…'i seçin.
6.şekil Birden Fazla Cihaz Seç açılır menüsünü seçin.
İstediğiniz cihazları seçin ve Tamam'ı tıklayın.
Hedef açılır menüsündeki metnin Birden Fazla Cihaz olarak değiştirildiğinden emin olun ve Çalıştır'ı
tıklayın.
Test Matrisi araç penceresinde, seçilen her cihaz yapılandırması için test sonuçları gösterilir.
Şekil 7. Test sonuçları, Test Matrisi araç penceresinde gösterilir.
Çıkış bölmesinde sonucu incelemek için belirli bir testi tıklayabilirsiniz. Ayrıca, çeşitli sütunları tıklayarak testleri sıralayabilirsiniz.
Firebase Test Lab ile çalıştırma
Firebase Test Lab'i kullanarak uygulamanızı aynı anda birçok popüler Android cihazda ve cihaz yapılandırmasında (yerel ayar, yön, ekran boyutu ve platform sürümünün farklı kombinasyonları) test edebilirsiniz. Bu testler, uzak Google veri merkezlerindeki fiziksel ve sanal cihazlarda çalıştırılır. Test sonuçları, test günlüklerini sağlar ve uygulama hatalarının ayrıntılarını içerir.
Firebase Test Lab'i kullanmaya başlamak için şunları yapmanız gerekir:
- Henüz bir Google Hesabınız yoksa Google Hesabı oluşturun.
- Firebase konsolunda Yeni Proje Oluştur'u tıklayın.
Android Studio, testlerinizi Firebase Test Lab'e nasıl dağıtmak istediğinizi yapılandırmanıza olanak tanıyan entegre araçlar sunar. Firebase projesi oluşturduktan sonra test yapılandırması oluşturabilir ve testlerinizi çalıştırabilirsiniz:
- Ana menüden Run (Çalıştır) > Edit Configurations'ı (Yapılandırmaları Düzenle) tıklayın.
- Add New Configuration'ı (Yeni Yapılandırma Ekle)
tıklayın ve Android Instrumented Tests'i (Android Enstrümanlı Testleri) seçin.
- Testinizin ayrıntılarını (ör. test adı, modül türü, test türü ve test sınıfı) girin veya seçin.
- Dağıtım Hedefi Seçenekleri bölümündeki Hedef açılır menüsünden Firebase Test Lab Cihaz Matrisi'ni seçin.
- Oturum açmadıysanız Google ile oturum aç'ı tıklayın ve Android Studio'nun hesabınıza erişmesine izin verin.
- Cloud Projesi'nin yanında, listeden Firebase projenizi seçin.
- Matris yapılandırması'nın yanında, açılır listeden varsayılan yapılandırmalardan birini seçin veya Open Dialog'a (İletişim Kutusunu Aç)
basarak kendi yapılandırmanızı oluşturun. Uygulamanızı test etmek istediğiniz bir veya daha fazla cihaz, Android sürümü, yerel ayar ve ekran yönü seçebilirsiniz. Firebase Test Lab, test sonuçlarını oluştururken uygulamanızı seçimlerinizin her kombinasyonuna göre test eder.
- Çıkmak için Run/Debug Configurations (Çalıştırma/Hata Ayıklama Yapılandırmaları) iletişim kutusunda OK'u (Tamam) tıklayın.
- Çalıştır'ı
tıklayarak testlerinizi çalıştırın.
Şekil 8. Firebase Test Lab için test yapılandırması oluşturma.
Test sonuçlarını analiz etme
Firebase Test Lab, testlerinizi çalıştırmayı tamamladığında Çalıştırma penceresi açılır ve sonuçlar gösterilir (Şekil 9'da gösterildiği gibi). Yürütülen tüm testlerinizi görmek için Geçenleri Göster'i tıklamanız gerekebilir.
Şekil 9. Firebase Test Lab kullanılarak yapılan enstrümanlı testlerin sonuçları.
Ayrıca, Çalıştır penceresindeki test yürütme günlüğünün başında gösterilen bağlantıyı takip ederek testlerinizi web'de de analiz edebilirsiniz.
Test kapsamını görüntüleme
Test kapsamı aracı, birim testlerinizin kapsadığı uygulama kodu yüzdesini ve alanlarını izlemek için yerel birim testlerinde kullanılabilir. Uygulamanızı oluşturan öğeleri, sınıfları, yöntemleri ve kod satırlarını yeterince test edip etmediğinizi belirlemek için test kapsamı aracını kullanın.
Kapsamlı testler çalıştırmak için Testleri çalıştırma bölümünde açıklanan adımları uygulayın. Yalnızca Çalıştır yerine Kapsamlı test-adı çalıştır'ı
tıklayın. Proje penceresinde bu seçenek Diğer Çalıştır/Hata Ayıklama'nın arkasında gizli olabilir. Kapsam ayarlarını Run/Debug Configurations (Çalıştırma/Hata Ayıklama Yapılandırmaları) iletişim kutusundaki Code Coverage (Kod Kapsamı) sekmesinden de yapılandırabilirsiniz.
10.şekil Bir uygulamadaki kod kapsamı yüzdeleri.
Test sonuçlarını görüntüleme
Android Studio'da bir veya daha fazla test çalıştırdığınızda sonuçlar Run (Çalıştır) penceresinde gösterilir. Şekil 11'de başarılı bir test çalıştırması gösterilmektedir.
Şekil 11. Test sonuçları Çalıştır penceresinde görünür.
Çalıştır penceresinde, solda testler ağaç görünümünde, sağda ise geçerli test paketiyle ilgili sonuçlar ve mesajlar çıkış bölmesinde gösterilir. Test sonuçlarını yönetmek için araç çubuklarını, bağlam menülerini ve durum simgelerini aşağıdaki şekilde kullanın:
- Mevcut testi yeniden çalıştırmak, mevcut testi durdurmak, başarısız olan testleri yeniden çalıştırmak (yalnızca birim testleri için kullanılabildiğinden gösterilmez), çıkışı duraklatmak ve iş parçacıklarını boşaltmak için çalıştırma araç çubuğunu kullanın.
- Test sonuçlarını filtrelemek ve sıralamak için test araç çubuğunu kullanın. Ayrıca düğümleri genişletebilir veya daraltabilir, test kapsamını gösterebilir ve test sonuçlarını içe veya dışa aktarabilirsiniz.
- Çalışan testi izlemek, satır içi istatistikleri göstermek, yığın izlemeye gitmek, kaynak kodu bir istisnada açmak, kaynağa otomatik olarak gitmek ve test çalıştırması tamamlandığında başarısız olan ilk testi seçmek için bağlam menüsünü tıklayın.
- Test durumu simgeleri, bir testin hata içerip içermediğini, yoksayılıp yoksayılmadığını, başarısız olup olmadığını, devam edip etmediğini, başarılı olup olmadığını, duraklatılıp duraklatılmadığını, sonlandırılıp sonlandırılmadığını veya çalıştırılıp çalıştırılmadığını gösterir.
- Ağaç görünümünde bir satırı sağ tıklayarak, testleri hata ayıklama modunda çalıştırmanıza, test kaynak kodu dosyasını açmanıza veya test edilen kaynak kodundaki satıra gitmenize olanak tanıyan bir bağlam menüsü görüntüleyin.
Test hatalarını analiz etme
Testlerinizden biri veya daha fazlası başarısız olduğunda sonuçlar penceresinde bir uyarı işareti ve başarısızlık sayısı gösterilir (örneğin, "Testler başarısız oldu: 1"):
Şekil 12. Çıkış bölmesinde başarısız olan testlerin ayrıntıları.
Sol taraftaki ağaç görünümünde başarısız olan testi tıkladığınızda, sağ taraftaki çıkış bölmesinde bu testin ayrıntıları gösterilir. Gerçek değerin yanında beklenen değeri gösterir. Böylece bu değerleri karşılaştırabilirsiniz. Farkı görmek için tıklayın bağlantısı, sonuçları yan yana görebileceğiniz bir karşılaştırma görüntüleyicisi açar.
Daha fazla bilgi
Bu sayfada, Android Studio'yu kullanarak ilk testinizi oluştururken ve çalıştırırken izlemeniz gereken temel adımlar açıklanmaktadır. Testleri komut satırından da çalıştırabilirsiniz. Testlerle ilgili IntelliJ belgelerine de göz atabilirsiniz. Daha büyük bir test paketi oluştururken testlerinizi yapılandırma hakkında daha fazla bilgi için Gelişmiş test kurulumu başlıklı makaleyi inceleyin.