Android Studio'da test etme

Android Studio, testi kolaylaştırmak için tasarlanmıştır. Testleri oluşturma, çalıştırma ve analiz etme şeklinizi basitleştiren birçok özellik içerir. Yerel makinenizde çalıştırılacak testler veya bir cihazda çalışan araçlı testler oluşturabilirsiniz. Bir veya daha fazla cihazda kolayca tek bir testi veya belirli bir test grubunu çalıştırabilirsiniz. Test sonuçları doğrudan Android Studio'nun içinde gösterilir.

Şekil 1. Test sonuçlarına genel bakışı gösteren Android Studio.

Bu sayfa, Android Studio'da testlerin nasıl yönetileceğiyle ilgilidir. Otomatik Android testlerini nasıl yazacağınızı öğrenmek için Android'de uygulamaları test etme bölümüne bakın.

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/ adresinde bulunmaktadır. Bunlar, makinenizin yerel Java Sanal Makinesi'nde (JVM) yürütülen testlerdir. Testlerinizde Android çerçevesi bağımlılığı yoksa veya Android çerçevesi bağımlılıkları için test ikilileri oluşturabildiğinizde yürütme süresini en aza indirmek için bu testleri kullanın. Yerel birim testlerinin nasıl yazılacağı hakkında daha fazla bilgi için Yerel birim testleri oluşturma bölümüne bakın.

Araçlı testler $module-name/src/androidTest/java/ adresinde bulunmaktadır. Bu testler bir donanım cihazında veya emülatörde çalıştırılır. Test ettiğiniz uygulamada Context sınıfı gibi bilgilere erişmenizi sağlayan ve test edilen uygulamayı test kodunuzdan kontrol etmenize olanak tanıyan Instrumentation API'lerine erişebilirler. Araçlı testler ayrı bir APK'da yerleşik olduğundan 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 ikilisi oluşturamayacağınız Android bağımlılıkları olduğunda, araçlı testleri kullanın. Araçlı testlerin nasıl yazılacağı hakkında daha fazla bilgi için Araçlı testler oluşturma ve Kullanıcı arayüzü testlerini otomatikleştirme bölümlerine bakın.

Yalnızca belirli derleme varyantlarını test etmek için testlerinizi derleme varyantına özel dizinlere yerleştirebilirsiniz. Örneğin, $module-name/src/testMyFlavor/java/ öğesine bazı yerel birim testleri yerleştirebilirsiniz. Böylece testler, bu ürünün kaynak koduyla oluşturulan uygulamanızı hedefler. Bu özelleştirilmiş testlerin nasıl oluşturulacağı hakkında daha fazla bilgi için Derleme varyantı için donanımlı test oluşturma konusuna bakın.

Yeni bir proje oluşturduğunuzda veya bir uygulama modülü eklediğinizde Android Studio daha önce listelenen test kaynağı kümelerini oluşturur ve her birine örnek bir test dosyası ekler. Bunları Şekil 2'de gösterildiği gibi Proje penceresinde görebilirsiniz.

2. Şekil. Projenizin (1) donanımlı testleri ve (2) yerel JVM testleri, Proje görünümünde (sol) veya Android görünümünde (sağda) görülebilir.

Yeni test oluşturma

Aşağıdaki adımları uygulayarak belirli bir sınıf veya yöntem için doğrudan kaynak kodundan yeni bir test ekleyebilirsiniz:

  1. Test etmek istediğiniz kodu içeren kaynak dosyayı açın.
  2. İmlecinizi test etmek istediğiniz sınıfın veya yöntemin adına getirin ve Control+Üst Karakter+T (macOS'te Command+Üst Karakter+T) tuşlarına basın.
  3. Görüntülenen pop-up'ta Yeni Test Oluştur...'u tıklayın.
  4. Create Test (Test Oluştur) iletişim kutusunda JUnit4'ü seçin, oluşturmak istediğiniz alanları ve yöntemleri düzenleyin ve ardından OK'i (Tamam) tıklayın.
  5. Hedef Dizin Seçin iletişim kutusunda, oluşturmak istediğiniz test türüne karşılık gelen kaynak kümesini tıklayın: araçlı bir test için androidTest veya bir yerel birim testi için test. Ardından Tamam'ı tıklayın.

Alternatif olarak, aşağıdaki gibi uygun test kaynağı kümesinde genel bir test dosyası oluşturabilirsiniz:

  1. Soldaki Proje penceresinde, açılır menüyü tıklayın ve Android görünümünü seçin.
  2. 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ı/Dosya) seçeneğini belirleyin. Alternatif olarak, java dizinini seçebilir ve Control+N (macOS'te Command+N) kısayolunu kullanabilirsiniz.
  3. Hedef Dizin Seçin iletişim kutusunda, oluşturmak istediğiniz test türüne karşılık gelen kaynak kümesini tıklayın: araçlı bir test için androidTest veya bir yerel birim testi için test. Ardından Tamam'ı tıklayın.
  4. Dosyaya bir ad verin ve Tamam'ı tıklayın.

Uygulamanız test ekledikten sonra derleme yapmazsa 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 Araçlı testler oluşturma bölümlerine bakın.

Testler yapın

Herhangi bir test çalıştırmadan önce, araç çubuğundan Projeyi Senkronize Et'i tıklayarak projenizin Gradle ile tam olarak senkronize edildiğinden emin olun. Testleri farklı ayrıntı düzeylerinde çalıştırabilirsiniz:

  • Bir dizin veya dosyadaki 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 sınıfta veya belirli bir yöntemde tüm testleri ç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öntemi 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.

Araçlı 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ı makaleye göz atın. Emülatörleri ayarlama hakkında daha fazla bilgi edinmek için Uygulamaları Android Emülatör'de çalıştırma konusuna bakın.

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. Araç çalıştırıcı ve dağıtım seçenekleri gibi bazı çalıştırma ayarlarını değiştirmeniz gerekirse çalıştırma yapılandırmasını Çalıştırma/Hata Ayıklama Yapılandırmaları iletişim kutusundan düzenleyebilirsiniz (Çalıştır > Yapılandırmaları Düzenle'yi tıklayın).

Birleşik Gradle test koşucusu

Android Gradle eklentisi 7.1.0 ile Android Studio Bumblebee ve sonraki sürümler, enstrümanlı testler yapmak için Gradle’ın kendi Android araçlı test çalıştırıcısını uygulamasını kullanıyor. AGP'yi komut satırından (ör. sürekli entegrasyon sunucusundan veya Android Studio'dan) çalıştırdığınızda, aynı test çalıştırıcısı kullanıldığında sonuçlar tutarlı olabilir.

3. Şekil. Birleşik Gradle test koşucusu.

Android Studio'nun önceki sürümleri, Gradle'ın Android donanımlı test çalıştırıcısı yerine IntelliJ Android destekli test çalıştırıcısını kullanıyor. Bu nedenle, Android Studio'nun en son 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, testlerden bir çalıştırıcıdan geçerken diğerinde başarısız olurlar.

4. Şekil. Android Studio'nun eski sürümlerinde ayrı test çalıştırıcıları.

Projenize kaydedilmiş araçlı test yapılandırmalarınız varsa bağlı cihazınızda testler yapmak için Gradle'ı kullanırlar. 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 araçlı test yapılandırması oluşturabilirsiniz.

5. Şekil. Yağmur oluğu kullanımından testler yapın.

Araçlı testlerinizi çalıştırırken, Gradle için Test Matrisi görev çıktısında test çıkışını inceleyerek Android Studio'nun Gradle test çalıştırıcısını kullandığını doğrulayabilirsiniz.

Birden fazla cihazda aynı anda çalıştırın

Enstrümanlı testler varsayılan olarak tek bir fiziksel cihaz veya emülatörde çalıştırılır. Testlerinizin daha büyük bir cihaz grubunda nasıl davrandığını görmek istiyorsanız aşağıdaki adımları izleyerek daha fazla cihaz seçebilirsiniz:

  1. Testlerinizi çalıştırmadan önce hedef cihaz açılır menüsünü açın ve Birden Fazla Cihaz Seç... seçeneğini belirleyin.

    6. Şekil. Birden Fazla Cihaz açılır menüsünü seçin.

  2. İstediğiniz cihazları seçip Tamam'ı tıklayın.

  3. Hedef açılır menüsündeki metnin Birden Fazla Cihaz olarak ayarlandığından emin olun ve Çalıştır tıklayın.

  4. Test Matrisi aracı penceresi, seçilen her cihaz yapılandırması için test sonuçlarını gösterir.

    7. Şekil. Test Matrisi aracı penceresindeki test sonuçları.

  5. Sonucu çıkış bölmesinde 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ırın

Firebase Test Lab'i kullanarak uygulamanızı birçok popüler Android cihazda ve cihaz yapılandırmasında (farklı yerel ayar, yön, ekran boyutu ve platform sürümü kombinasyonları) eş zamanlı olarak test edebilirsiniz. Bu testler, uzak Google veri merkezlerindeki fiziksel ve sanal cihazlarda yapı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 aşağıdakileri yapmanız gerekir:

  1. Hesabınız yoksa bir Google Hesabı oluşturun.
  2. 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:

  1. Ana menüden Çalıştır > Yapılandırmaları Düzenle'yi tıklayın.
  2. Add New Configuration (Yeni Yapılandırma Ekle) seçeneğini tıklayın ve Android Instrumented Tests'i (Android Enstrümanlı Testler) seçin.
  3. Testinizin adı, modül türü, test türü ve test sınıfı gibi test ayrıntılarını girin veya seçin.
  4. Deployment Target Options (Dağıtım Hedefi Seçenekleri) altındaki Target (Hedef) açılır menüsünden Firebase Test Lab Device Matrix'i seçin.
  5. Giriş yapmadıysanız Google ile oturum aç'ı tıklayın ve Android Studio'nun hesabınıza erişmesine izin verin.
  6. Bulut Projesi'nin yanındaki listeden Firebase projenizi seçin.
  7. Matris yapılandırması'nın yanındaki açılır menüden varsayılan yapılandırmalardan birini seçin veya İletişim Kutusunu Aç düğmesine 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ı oluştururken uygulamanızı seçimlerinizin her kombinasyonuna karşı test eder.
  8. Çıkmak için Çalıştır/Hata Ayıklama Yapılandırmaları iletişim kutusunda Tamam'ı tıklayın.
  9. Çalıştır tıklayarak testlerinizi çalıştırın.

8. Şekil. 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, Şekil 9'da gösterildiği gibi Çalıştır penceresi açılır ve sonuçları gösterir. Yürütülen testlerin tamamını görmek için Başarılı Testleri Göster düğmesini tıklamanız gerekebilir.

9. Şekil. Firebase Test Lab kullanılarak yapılan donanımlı testlerin sonuçları.

Çalıştır penceresindeki test yürütme günlüğünün başında gösterilen bağlantıyı izleyerek testlerinizi web'de de analiz edebilirsiniz.

Test kapsamını göster

Test kapsamı aracı, yerel birim testlerinde birim testlerinizin kapsadığı uygulama kodunuzun yüzdesini ve alanlarını izlemek amacıyla 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.

Kapsama sahip testleri ç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 Kapsamla test adı çalıştır tıklayın. Proje penceresinde, bu seçenek Daha Fazla Çalıştır/Hata Ayıklama penceresinde gizlenmiş olabilir. Kapsam ayarlarını, Kod Kapsamı sekmesindeki Çalıştır/Hata Ayıklama Yapılandırmaları iletişim kutusundan da yapılandırabilirsiniz.

Şekil 10. Bir uygulama için kod kapsamı yüzdeleri.

Test sonuçlarını görüntüleme

Android Studio'dan bir veya daha fazla test çalıştırdığınızda sonuçlar Çalıştır penceresinde görünür. Şekil 11'de başarılı bir test çalıştırması gösterilmiştir.

Şekil 11. Test sonuçları Çalıştır penceresinde görünür.

Çalıştır penceresi, testleri soldaki ağaç görünümünde, geçerli test paketine ait sonuçları ve mesajları ise sağdaki çıktı bölmesinde gösterir. Test sonuçlarını yönetmek için araç çubuklarını, içerik menülerini ve durum simgelerini aşağıdaki gibi kullanın:

  1. Geçerli testi yeniden çalıştırmak, geçerli testi durdurmak, başarısız testleri yeniden çalıştırmak (yalnızca birim testlerinde kullanılabildiği için gösterilmez), çıktıyı duraklatmak ve döküm iş parçacıklarını çalıştırmak için çalıştırma araç çubuğunu kullanın.
  2. 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.
  3. Çalışan testi izlemek, satır içi istatistikleri görüntülemek, yığın izlemeye gitmek, bir istisnadaki kaynak kodunu açmak, otomatik olarak kaynağa gitmek ve test çalıştırması tamamlandığında ilk başarısız testi seçmek için bağlam menüsünü tıklayın.
  4. Test durumu simgeleri bir testin hata içerip içermediğini, yoksayıldığını, başarısız olduğunu, devam ettiğini, tamamlandığını, duraklatıldığını, sonlandırıldığını veya çalıştırılmadığını belirtir.
  5. Testleri hata ayıklama modunda çalıştırmanıza, test kaynak kodu dosyasını açmanıza veya test edilen kaynak koddaki satıra atlamanıza olanak tanıyan içerik menüsünü görüntülemek için ağaç görünümünde bir satırı sağ tıklayın.

Test hatalarını analiz etme

Testlerinizden biri veya daha fazlası başarısız olduğunda, sonuçlar penceresinde bir uyarı işareti ve hata sayısı gösterilir (örneğin, "Test başarısız oldu: 1").

Şekil 12. Çıkış bölmesindeki test ayrıntıları başarısız oldu.

Soldaki ağaç görünümünde başarısız testi tıkladığınızda, sağdaki çıkış bölmesinde söz konusu testin ayrıntıları gösterilir. Beklenen değeri gerçek değerin yanında gösterir. Böylece 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 farklılık görüntüleyici açar.

Daha fazla bilgi

Bu sayfada, Android Studio'yu kullanarak ilk testinizi oluşturup çalıştırırken izlemeniz gereken temel adımlar ele alınmaktadır. Komut satırından test çalıştırmayı da seçebilirsiniz. Testle ilgili IntelliJ belgelerine de göz atabilirsiniz. Daha büyük bir test paketi oluştururken testlerinizi nasıl yapılandıracağınız hakkında daha fazla bilgi edinmek için Gelişmiş test kurulumu bölümüne bakın.