YTM Dersleri: Bölüm 10
Mobil Uygulama Testi: Native, Hibrit Uygulamalar, Emülatör ve Store Testleri
Mobil uygulamalar, web uygulamalarından farklı olarak işletim sistemi kısıtlamaları, cihaz çeşitliliği, kesintiler (arama, bildirim) ve mağaza onay süreçleriyle boğuşur. Bu rehberde uygulama türlerini, test ortamlarını, mobile özgü test senaryolarını ve App Store / Google Play mağaza test sürecini ele alıyoruz.
Bu Sayfada
i Mobil Uygulama Testine Giriş
Mobil uygulama testi, web testinin tüm zorluklarına ek olarak kendine özgü değişkenler getirir: onlarca farklı ekran boyutu ve çözünürlük, iki büyük işletim sistemi ailesi (iOS ve Android) ve bunların çok sayıda sürümü, sınırlı pil/bellek/işlemci kaynakları, gelen çağrı veya bildirim gibi kesintiler (interruptions) ve son olarak uygulamanın kullanıcıya ulaşmadan önce geçmesi gereken bir mağaza onay süreci.
1 Native, Hibrit ve Cross-Platform Uygulamalar
Mobil uygulamalar geliştirilme yöntemine göre üç ana kategoriye ayrılır; her biri farklı test stratejileri gerektirir.
📱 Native
Platforma özel dil ve SDK ile geliştirilir (iOS için Swift, Android için Kotlin/Java). En iyi performans ve platforma özgü UI/UX deneyimini sunar.
🌐 Hibrit
Web teknolojileriyle (HTML/CSS/JS) yazılıp bir native “kabuk” (WebView) içinde çalıştırılır (örn. Ionic, Cordova).
🔄 Cross-Platform
Tek bir kod tabanından hem iOS hem Android için native’e yakın performansta derlenir (örn. React Native, Flutter).
| Kriter | Native | Hibrit | Cross-Platform |
|---|---|---|---|
| Performans | En yüksek | Orta (WebView’a bağlı) | Yüksek (native’e yakın) |
| Geliştirme Maliyeti | Yüksek (2 ayrı kod tabanı) | Düşük (tek kod tabanı) | Orta-Düşük (tek kod tabanı) |
| Cihaz Özelliklerine Erişim | Tam erişim | Plugin’lere bağımlı, sınırlı | Native modüllerle geniş erişim |
| Tipik Örnekler | Bankacılık, oyun uygulamaları | Basit içerik/kurumsal uygulamalar | Instagram, Airbnb tarzı orta-büyük ölçekli uygulamalar |
2 Emülatör, Simülatör ve Gerçek Cihaz
Mobil testte üç farklı test ortamı kullanılır; her birinin güçlü ve zayıf yönleri vardır.
Emülatör (Android)
Android işletim sistemini bilgisayarda yazılımsal olarak taklit eder. Donanım davranışlarını (sensörler, kamera) tam olarak yansıtmaz.
Simülatör (iOS)
Xcode ile gelir, iOS ortamını taklit eder ancak gerçek donanım (ivmeölçer, GPS, gerçek performans) davranışını simüle edemez.
Gerçek Cihaz
Gerçek işlemci, pil, ağ koşulları, sensörler ve kullanıcı deneyimini yansıtır. Yayın öncesi mutlaka test edilmelidir.
| Boyut | Emülatör / Simülatör | Gerçek Cihaz |
|---|---|---|
| Hız / Erişim | Hızlı kurulum, sınırsız sanal cihaz oluşturma | Fiziksel cihaz temini gerekir, daha yavaş kurulum |
| Performans Doğruluğu | Gerçek performansı tam yansıtmaz | Gerçek işlemci/bellek davranışını yansıtır |
| Donanım Özellikleri | Kamera, GPS, sensörler kısıtlı/simüle | Tüm donanım özellikleri gerçek şekilde test edilir |
| Kullanım Alanı | Geliştirme aşaması, hızlı UI kontrolü, CI/CD’de otomasyon | Yayın öncesi son doğrulama, performans/pil/ağ testleri |
3 Mobile Özgü Test Türleri
Fonksiyonel testlerin ötesinde, mobil uygulamalara özgü aşağıdaki test türleri de test planına dahil edilmelidir:
Interrupt (Kesinti) Testi
Gelen çağrı, SMS, bildirim veya düşük pil uyarısı sırasında uygulamanın durumu korunuyor mu?
Yönlendirme (Orientation)
Ekran dikey/yatay çevrildiğinde layout bozulmadan yeniden düzenleniyor mu?
Ağ Koşulları
Wi-Fi, 4G, zayıf sinyal ve çevrimdışı (offline) modda uygulama nasıl davranıyor?
Pil Tüketimi
Uygulama arka planda/ön planda aşırı pil tüketiyor mu?
İzinler (Permissions)
Kamera, konum, bildirim izni reddedildiğinde uygulama çökmeden düzgün mesaj gösteriyor mu?
Dokunma Hareketleri
Kaydırma, sıkıştırma (pinch-to-zoom), uzun basma gibi jestler doğru tepki veriyor mu?
Güncelleme / Yükleme
Eski sürümden güncelleme, veri kaybı olmadan sorunsuz gerçekleşiyor mu?
Karanlık Mod
Sistem karanlık/aydınlık temaya göre uygulama arayüzü doğru uyum sağlıyor mu?
4 App Store / Google Play Mağaza Testleri
Bir mobil uygulama, kullanıcıya ulaşmadan önce ilgili mağazanın (Apple App Store veya Google Play Store) inceleme (review) sürecinden geçmek zorundadır. Bu süreç, test kapsamına özel bir boyut daha ekler.
Apple App Store
- İnceleme süreci genellikle 1-3 gün sürer, insan gözden geçirmesi içerir
- Apple İnceleme Kuralları (App Store Review Guidelines) oldukça sıkı uygulanır
- Gizlilik bildirimleri (Privacy Nutrition Labels) eksiksiz olmalıdır
- Çökme (crash) veya “placeholder” içerikte anında reddedilme riski yüksektir
Google Play Store
- İnceleme süreci genellikle daha hızlıdır, çoğunlukla otomatik taramadan geçer
- Kademeli yayın (staged rollout) ile önce küçük bir kullanıcı yüzdesine açılabilir
- İzin (permission) kullanımı gerekçelendirilmelidir
- Yayın sonrası da politika ihlali tespit edilirse kaldırılma riski vardır
Mağazaya Gönderim Öncesi Kontrol Listesi
- ✓ Uygulama, hem küçük hem büyük ekranlı cihazlarda test edildi
- ✓ Ekran görüntüleri ve mağaza açıklaması güncel ve doğru
- ✓ Gizlilik politikası linki geçerli ve toplanan veriler doğru beyan edilmiş
- ✓ Test/geliştirme amaçlı log çıktıları veya debug ekranları kaldırıldı
- ✓ Uygulama içi satın alma (varsa) hem sandbox hem gerçek ortamda test edildi
- ✓ Crash/ANR (Application Not Responding) oranı kabul edilebilir seviyede
- ✓ Minimum desteklenen işletim sistemi sürümünde de temel işlevler çalışıyor
✓ Sonuç ve Öneriler
Mobil uygulama testi, uygulamanın nasıl geliştirildiğinden (native, hibrit veya cross-platform) bağımsız olarak, cihaz çeşitliliğini, gerçek dünya kesintilerini ve mağaza onay süreçlerini kapsayan çok boyutlu bir disiplindir.
Emülatör ve simülatörler geliştirme sürecinde hız kazandırırken, gerçek cihaz testi yayın öncesi asla atlanmamalıdır. Son olarak, mağaza inceleme kurallarını test sürecine baştan dahil etmek, son dakika sürpriz retlerinin önüne geçer.
