XCTest ile Mobil Uygulama Testleri Nasıl Yapılır?

XCTest ile Mobil Uygulama Testleri Nasıl Yapılır?

XCTest ile mobil uygulama testleri yapmak isteyenler için rehber niteliğinde bir makale! Detaylı adımlar ve örneklerle XCTest kullanarak test sürecinizi kolaylaştırabilirsiniz Başarılı bir mobil uygulama testi için hemen okumaya başlayın!

XCTest ile Mobil Uygulama Testleri Nasıl Yapılır?

Merhaba! Bu makalede mobil uygulama testleri nasıl yapılır konusunu ele alıyoruz. XCTest kullanarak, iOS ve macOS uygulamaları için testler hazırlamanın yöntemlerini öğreneceksiniz.

Mobil uygulama geliştirmenin önemli bir parçası, test etme işlemidir. XCTest, Apple'ın test çerçevesidir ve mobil uygulamaların test edilmesinde kullanılır. XCTest ile uygulamanızın kalitesini kontrol edebilir, hatalarını bulup düzeltebilirsiniz. Bu makale, XCTest kullanarak mobil uygulamaların nasıl test edileceği hakkında bir rehber sağlayacaktır.


XCTest Nedir?

XCTest, Apple'ın iOS ve macOS uygulamalarının test edilmesinde kullanılan bir test çerçevesidir. Bu çerçeve, geliştiricilere uygulama ve işlevlerin doğru şekilde çalıştığını ve hatalardan arındığını kontrol etme imkanı sunar. XCTest, apple platformlarında üst düzey bir mobil uygulama testi deneyimi sunar. XCTest çerçevesi, iOS veya macOS uygulamalarının test edilmesi, performansın doğrulanması ve hataların bulunması için birçok seçenek sunar. Apple'ın müşteri memnuniyeti odaklı politikalarıyla da uyumlu olan bu test çerçevesi, kullanıcılar için yüksek kaliteli uygulama deneyimi garanti etmektedir.


XCTest Kurulumu

Eğer Apple'ın iOS ve macOS uygulamaları için XCTest kullanarak mobil uygulama testleri yapmak istiyorsanız endişelenmeyin, XCTest kurulumu oldukça basittir. XCTest kurulumu Xcode ile birlikte gelir ve otomatik olarak yüklenir. Bunun için sadece ihtiyacınız olan şey, Xcode'un son sürümüdür. Eğer Xcode zaten yüklü ise, XCTest kurulumu için bir şey yapmanız gerekmez.

Bununla birlikte, bir iOS uygulama projesi oluşturduğunuzda, otomatik olarak bir test hedefi (test target) oluşturulmaz. Bu durumda, XCTest hedefi oluşturmanız gerekir. Yeni bir test hedefi oluşturmak için, Xcode projenizdeki File menüsündeki New seçeneğini tıklamanız gerekir. Ardından Target... seçeneğini seçin ve yeni bir test hedefi oluşturun. Bu şekilde XCTest testlerini kullanarak projenizin test edilmesini sağlayabilirsiniz.


Temel Bir XCTest Testi Nasıl Yazılır?

XCTest'in temel özelliklerinden biri, test yazmanın ne kadar kolay olduğudur. Temel bir XCTest testi, test edilecek işlevi (fonksiyonu) ve testin sonucunu kontrol eden bir assertion'u içerir. Bu basit test, XCTest'in nasıl kullanılacağını öğrenmek için harika bir başlangıç noktasıdır.

Önce bir fonksiyon yazalım:

```swiftfunc topla(_ sayi1: Int, _ sayi2: Int) -> Int { return sayi1 + sayi2}```

Bu fonksiyon, iki tamsayı toplayan ve sonucu döndüren basit bir işlevdir. Şimdi bu işlevi test edecek bir XCTest testi yazalım:

```swiftfunc testTopla() { let sonuc = topla(2, 3) XCTAssertEqual(sonuc, 5, "Toplama işlemi beklenen sonucu vermedi")}```

Bu test, "testTopla" adında bir işlev oluşturur. "topla" fonksiyonunu çağırır ve sonucu "sonuc" adlı bir değişkene atar. Daha sonra, "XCTAssertEqual" fonksiyonunu kullanarak, "sonuc" değişkenini 5 ile karşılaştırır. Eğer sonuç 5 değilse, "Toplama işlemi beklenen sonucu vermedi" mesajını gösterir.

Bu kadar! Testimizi yazdık. Artık testi çalıştırabiliriz ve sonucu kontrol edebiliriz. Bu testi çalıştırmak istediğimizde, test geçerliyse yeşil, geçersizse kırmızı bir sonuç görürüz.

Temel olarak, XCTest testleri işlevleri test etmek ve beklenen sonuçları kontrol etmek için kullanılır. Bu testler sayesinde uygulamaların işlevleri doğru bir şekilde çalışıp çalışmadığını doğrulayabiliriz. Bunun yanı sıra, XCTest ile performans testleri, veri yapıları testleri, uygulama akışı testleri, hata varsayımlı testler ve daha birçok test yapılabilir.


Örnek Bir XCTest Testi

=

Bir XCTest testi yazmak oldukça kolaydır. XCTest testlerinin temel yapısı, test edilecek işlevi (fonksiyonu) ve işlevin çıktısını test etmek için bir asertion içermektedir. Aşağıdaki örnekle bir XCTest testi nasıl yazılır görebilirsiniz:

func testExample() {
=     XCTAssertEqual(2+2, 4)
=}

Bu test işlevi, 2+2 işleminin sonucunu 4 ile karşılaştırır. Eğer bu karşılaştırmanın sonucu doğruysa XCTest testi başarılı olarak sonuçlandırılır.

Bu şekilde basit bir XCTest testi oluşturarak, uygulamanızın işlevselliğini kontrol edebilir ve herhangi bir hata durumunda bunu tespit edebilirsiniz.


XCTest Sınıfı Yapısı

XCTest sınıfı, XCTestCase sınıfından türetilir. XCTestCase sınıfı, XCTest çerçevesinde test taşıyıcılarını olarak kullanılmak üzere tasarlanmış bir sınıftır. XCTest sınıfı, XCTestCase sınıfının temel metotlarını içerir. Bu temel metotlar testlerin oluşturulması, çalıştırılması ve test sonuçlarının değerlendirilmesini sağlar.

Temel XCTest sınıfı metotları arasında;

  • setUp ve tearDown metotları - Test öncesi ve sonrası işlemleri yapmak için kullanılır
  • measure metodu - Test süresini ölçmek için kullanılır
  • expectation ve waitForExpectations metotları - Asenkron kodların test edilmesi için kullanılır
  • XCUIElement metodu - UI testlerinde kullanılır ve UI öğelerinin etkileşimleri için kullanılır

XCTest sınıfı, XCTest çerçevesindeki temel yapı taşlarından biridir ve doğru kullanıldığında, yazılım test sürecini daha hızlı ve verimli hale getirmeye yardımcı olabilir.


UI Testleri Nasıl Yazılır?

UI testleri, uygulamanın kullanıcı arayüzünün doğru çalıştığını doğrulamak için kullanılır. XCTest, arayüz testleri yazmak için özel bir API sağlar. Bunun için öncelikle test edilecek uygulamanın arayüz referansı oluşturulmalıdır.

Bunun için öncelikle XCUIApplication sınıfı kullanılır. Bu sınıf, uygulama referansı oluşturmak için kullanılır. Ardından, app.launch() komutu ile uygulama açılır. Daha sonra, uygulamanın arayüzündeki öğelerin erişimi sağlanır.

Örneğin:

Kod Örneği Açıklama
let app = XCUIApplication() XCUIApplication sınıfı kullanılarak uygulama referansı oluşturulur
app.launch() Uygulama başlatılır
XCTAssert(app.staticTexts[Merhaba Dünya].exists) Uygulamanın arayüzündeki bir statik metnin varlığı kontrol edilir

Bu basit bir örnektir ve diğer arayüz öğeleri de aynı şekilde test edilebilir. XCTest, arayüz testlerinin otomatik olarak yapılmasına da olanak tanır. Bu sayede hızlı ve çok sayıda testler yapılarak uygulamanın doğru çalıştığından emin olunabilir.


Örnek Bir UI Testi

Örnek Bir UI Testi

Bir XCTest UI testinin nasıl yazıldığını merak ediyor musunuz? İşte size bir örnek:

func testExample() {    let app = XCUIApplication()    app.launch()    XCTAssert(app.staticTexts["Merhaba Dünya"].exists)}

Bu örnek test basitliği ile öne çıkıyor. XCUIApplication, test edilecek uygulamayı açmak için kullanılıyor ve XCTAssert metodu, uygulamanın açıldığını ve statik metinde "Merhaba Dünya"nın görüntülendiğini kontrol ediyor.

Merhaba Dünya

Merhaba Dünya! Programlama öğrenirken sıkça kullanılan bu ifade, XCTest ile uygulama testlerinde de kullanılabilir. XCTest ile mobil uygulama testleri yapmak oldukça kolaydır. Bu test çerçevesi, iOS ve macOS uygulamalarının test edilmesi için birçok özelliğe sahiptir. XCTest kullanarak temel bir test yazmak mümkündür. Bununla birlikte, arayüz testleri, performans testleri, veri yapıları testleri ve hata varsayımlı testler gibi birçok farklı test türleri de XCTest ile yapılabilir.

].exists)

Örnek bir UI testi yazarken, öncelikle uygulamanın XCUIApplication sınıfı ile başlatılması gereklidir. Daha sonra test senaryosu belirlenip, uygulama üzerinde gerekli aksiyonlar gerçekleştirilir. Son olarak ise testin sonucunu kontrol eden bir asertion kullanılır. Örneğin, aşağıdaki kod parçası "Merhaba Dünya" başlığı olan bir statik metnin uygulamada var olup olmadığını kontrol eder.

func testExample() {
=     let app = XCUIApplication()
=     app.launch()
=     XCTAssert(app.staticTexts[Merhaba Dünya].exists)
=}


Başka Hangi Testler Yapılabilir?

XCTest kullanarak sadece basit bir test veya arayüz testi yapmakla kalmaz, aynı zamanda performans testleri, veri yapıları testleri, uygulama akışı testleri ve hata varsayımlı testler de yapabilirsiniz. Performans testleri, uygulamanın ne kadar hızlı çalıştığını ve büyük yük altında nasıl performans gösterdiğini belirlemeye yardımcı olur. Veri yapıları testleri, uygulama verilerinin doğru bir şekilde işlenip işlenmediğini kontrol etmenin yanı sıra uygulamanın beklenen sonuçlarını da doğrulamak için kullanılabilir.

Uygulama akışı testleri, uygulamanın farklı durumlarda nasıl davrandığını ve kullanıcının uygulama geçmişi üzerinde gezinmesine yardımcı olur. Hata varsayımlı testler, uygulamanın hangi hata durumlarını yönettiğini ve kullanıcılara hata mesajları verildiğinde kullanıcının gerçekten ne göreceğini belirlemeye yardımcı olur.

Tüm bunlar, XCTest kullanarak mobil uygulamaların test edilmesi için mükemmel bir çözümdür. Bu nedenle, uygulama geliştiricilerinin ve test mühendislerinin XCTest'i etkin bir şekilde kullanması gerekmektedir.