Kullanıcı etkileşimlerini test etmek, kullanıcıların uygulamanızla etkileşim kurarken beklenmedik sonuçlarla karşılaşmamasını veya kötü bir deneyim yaşamamasını sağlar. Uygulamanızın kullanıcı arayüzünün düzgün şekilde çalıştığından emin olmanız gerekiyorsa kullanıcı arayüzü (UI) testleri oluşturma alışkanlığı edinmeniz gerekir.
Kullanıcı arayüzü testine yönelik bir yaklaşım, gerçek bir test kullanıcısının hedef uygulamada bir dizi kullanıcı işlemi gerçekleştirmesini ve uygulamanın doğru şekilde davranıp davranmadığını doğrulamasını sağlamaktır. Ancak bu manuel yaklaşım zaman alıcı ve hatalara açık olabilir. Daha verimli bir yaklaşım, kullanıcı arayüzü testlerinizi kullanıcı işlemlerinin otomatik olarak gerçekleştirileceği şekilde yazmaktır. Otomatik yaklaşım, testlerinizi tekrarlanabilir bir şekilde hızlı ve güvenilir bir şekilde çalıştırmanıza olanak tanır.
Kullanıcı arayüzü testleri bir uygulamayı (veya bir bölümünü) başlatır, ardından kullanıcı etkileşimlerini simüle eder ve son olarak uygulamanın uygun şekilde tepki verip vermediğini kontrol eder. Bu testler, küçük bir bileşenin davranışını doğrulamaktan tüm kullanıcı akışını kapsayan büyük bir gezinme testine kadar çeşitlilik gösterebilir. Gerileme olup olmadığını kontrol etmek ve farklı API düzeyleri ile fiziksel cihazlarla uyumluluğu doğrulamak için yararlıdırlar.
Kullanıcı arayüzü testleri çalıştırma
- Android Studio'yu kullanarak donanımla desteklenmiş kullanıcı arayüzü testleri çalıştırmak için test kodunuzu ayrı bir Android test klasörüne (
src/androidTest/java
) uygularsınız. Android Gradle Eklentisi, test kodunuzu temel alan bir test uygulaması oluşturur ve ardından test uygulamasını hedef uygulamayla aynı cihaza yükler. Test kodunuzda, belirli kullanım senaryolarını kapsayan test görevlerini gerçekleştirmek için hedef uygulamadaki kullanıcı etkileşimlerini simüle etmek üzere kullanıcı arayüzü test çerçevelerini kullanabilirsiniz. - JVM'de kullanıcı arayüzü testleri çalıştırmak için Robolectric'i de kullanabilirsiniz.
Mimari ve test kurulumu
Uygulamanızın mimarisi, testlerin test çiftleri için bazı bölümlerini değiştirmesine izin vermelidir ve testlere yardımcı olacak yardımcı programlar sağlayan kitaplıklar kullanmanız gerekir. Örneğin, bir veri deposu modülünü, teste sahte ve belirlenebilir veriler sağlayan bellek içi bir sürümüyle değiştirebilirsiniz.
Bağımlılıkları değiştirmek için önerilen yaklaşım, bağımlı yerleştirmedir. Kendi sisteminizi manuel olarak oluşturabilirsiniz ancak bunun için Hilt gibi bir DI çerçevesi kullanmanızı öneririz.
Kullanıcı arayüzlerini neden otomatik olarak test etmelisiniz?
Android uygulamaları, birçok API düzeyi ve form faktöründe binlerce farklı cihazı hedefleyebilir. OS'nin kullanıcıya sunduğu yüksek düzeyde özelleştirme, uygulamanızın bazı cihazlarda yanlış şekilde oluşturulmasına veya hatta kilitlenmesine neden olabilir.
Kullanıcı arayüzü testi, bir uygulamanın farklı bağlamlardaki davranışını doğrulayarak uyumluluk testi yapmanıza olanak tanır. Kullanıcı arayüzü testlerinizi aşağıdaki şekillerde farklı olan cihazlarda çalıştırmak isteyebilirsiniz:
- API düzeyi: 21, 25 ve 30.
- Yerel ayar: İngilizce, Arapça ve Çince.
- Yön: Dikey, yatay.
Ayrıca uygulamalar, davranışı telefonların ötesinde de kontrol etmelidir. Testi tabletlerde, katlanabilir cihazlarda ve diğer cihazlarda yapmanız gerekir. Farklı ekran boyutlarını test etme hakkında daha fazla bilgi edinin.
Kullanıcı arayüzü testi türleri
Bu bölümde iki tür kullanıcı arayüzü testi ele alınmaktadır:
- Davranış testleri, kullanıcı arayüzü öğelerinin özellikleri hakkında iddialarda bulunmak için kullanıcı arayüzü hiyerarşisini analiz eder.
- Ekran görüntüsü testleri, kullanıcı arayüzünün ekran görüntülerini alıp bunları daha önce onaylanmış resimlerle karşılaştırır.