Mobil uygulamaların test otomasyonu, akıllı telefonların kitlesel yayılmasıyla neredeyse aynı anda ortaya çıktı. Başlangıçta otomasyon zordu çünkü araçlar farklı platformlar için çok farklıydı ve bu da evrensel testlerin korunmasında sorunlar yaratıyordu.
Başlangıçta mobil uygulamaların otomasyonu, her platform için ayrı araçlarla yürütülüyordu; örneğin, Android için UI Automator ve iOS için UIAutomation/XCUITest. Bu, test senaryolarının tekrarlanmasına ve ek maliyetlere yol açıyordu.
Daha sonra, her iki platform için ortak kod kullanmayı mümkün kılan çapraz platform çerçeveleri ortaya çıktı; örneğin, Appium, kütüphanelerin ve entegrasyon yöntemlerinin çeşitliliği arttı.
Temel zorluklar:
Mobil uygulamaların otomasyonu için çapraz platform araçları (Appium, Detox vb.) kullanılması önerilir ve testler, platforma özgü özellikleri göz önünde bulundurarak kodun yeniden kullanımı ilkesiyle oluşturulmalıdır. Testlerin kaliteli mock’larla ve test verilerinin hızlı kurulumu ile desteklenmesi önemlidir.
Ana özellikler:
Appium ile bir iOS uygulaması için testleri Windows makinelerde çalıştırmak mümkün mü?
Hayır, iOS uygulamalarının tam otomatik testleri yalnızca macOS'ta mümkündür, çünkü XCUITest/Xcode gibi araçlar yalnızca Apple sistemini tanır.
Mobil uygulamalar için doğrudan Selenium/Webdriver testleri çalıştırmak neden önerilmez?
Selenium/Webdriver, tarayıcı testleri için tasarlanmıştır. Mobil uygulamalar için (örneğin, Appium) uygulama içindeki çalışmayı taklit eden özel sürücüler kullanılır.
Sadece emülatörlerde test yapmaya güvenmek yeterli mi?
Hayır, yalnızca emülatörler, platformun tüm özelliklerini kapsamaz: performans sorunları, sensör farklılıkları ve işletim sistemi davranışları yalnızca gerçek cihazlarda ortaya çıkar.
Otomatik test ekibi, UI Automator ile Android için ayrı testler ve XCUITest ile iOS için belirli testler yazıyordu, çapraz platform bağlaması kullanmadan.
Artılar:
Eksiler:
Ekip, Page Object deseni ile Appium'u entegre etti ve 90% testini genel bir mantıkla kapsayarak, platforma özgü davranışları yalnızca belirli yöntemlerde bıraktı.
Artılar:
Eksiler: