Yazılım Test Mühendisliği Dersleri

YTM Dersleri: Bölüm 10

Mobil Uygulama Testi | Native, Hibrit, Emülatör ve Store Testleri | yazilimtestmuhendisligi.com

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.

Native Hibrit Emülatör / Simülatör App Store Google Play

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.

Bir mobil uygulamanın kalitesi, sadece “ekranda doğru göründü mü?” sorusuyla değil; “zayıf internette ne oluyor?”, “arama geldiğinde uygulama durumu korunuyor mu?”, “pil %5’e düştüğünde davranış nasıl?” gibi mobile özgü sorularla da ölçülür.

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.

Test odağı: Platforma özgü davranışlar, işletim sistemi API entegrasyonları, performans.

🌐 Hibrit

Web teknolojileriyle (HTML/CSS/JS) yazılıp bir native “kabuk” (WebView) içinde çalıştırılır (örn. Ionic, Cordova).

Test odağı: WebView performansı, native köprü (bridge) fonksiyonlarının doğruluğu, platformlar arası tutarlılık.

🔄 Cross-Platform

Tek bir kod tabanından hem iOS hem Android için native’e yakın performansta derlenir (örn. React Native, Flutter).

Test odağı: Platform-spesifik bileşenlerin (native modüller) her iki platformda da doğru çalışması.
KriterNativeHibritCross-Platform
PerformansEn yüksekOrta (WebView’a bağlı)Yüksek (native’e yakın)
Geliştirme MaliyetiYüksek (2 ayrı kod tabanı)Düşük (tek kod tabanı)Orta-Düşük (tek kod tabanı)
Cihaz Özelliklerine ErişimTam erişimPlugin’lere bağımlı, sınırlıNative modüllerle geniş erişim
Tipik ÖrneklerBankacılık, oyun uygulamalarıBasit içerik/kurumsal uygulamalarInstagram, 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.

BoyutEmülatör / SimülatörGerçek Cihaz
Hız / ErişimHızlı kurulum, sınırsız sanal cihaz oluşturmaFiziksel cihaz temini gerekir, daha yavaş kurulum
Performans DoğruluğuGerçek performansı tam yansıtmazGerçek işlemci/bellek davranışını yansıtır
Donanım ÖzellikleriKamera, GPS, sensörler kısıtlı/simüleTüm donanım özellikleri gerçek şekilde test edilir
Kullanım AlanıGeliştirme aşaması, hızlı UI kontrolü, CI/CD’de otomasyonYayın öncesi son doğrulama, performans/pil/ağ testleri
İpucu: BrowserStack App Live, Firebase Test Lab veya AWS Device Farm gibi bulut tabanlı platformlar, onlarca gerçek cihaz modeline internetten erişim sağlayarak her cihazı fiziksel olarak satın almanıza gerek bırakmaz.

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?

Sık atlanan senaryo: Uygulama arka plana alınıp uzun süre (örn. 30 dakika) bekletildikten sonra tekrar öne getirildiğinde — oturum süresi dolmuş olabilir, form verileri kaybolabilir veya uygulama çökebilir. Bu senaryo test planında mutlaka yer almalıdır.

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
İpucu: Google Play’in “Internal Testing” / “Closed Testing” ve Apple’ın TestFlight özellikleri, uygulamayı herkese açık yayınlamadan önce sınırlı bir grup gerçek kullanıcıyla beta test etmenizi sağlar — bu, önceki bölümde gördüğümüz Beta Testing (UAT) aşamasının mobil dünyadaki doğal karşılığıdır.

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.

Altın kural: Test matrisinizi cihaz/OS kombinasyonuna göre değil, kullanıcı davranışına göre kurun: “en çok kullanılan 3 cihaz + en eski desteklenen OS sürümü + en yeni OS sürümü” formülü, sınırlı kaynakla maksimum kapsam sağlamanın en pratik yollarından biridir.
Başa Dön →

yazilimtestmuhendisligi.com — Nihat Ük

Bu içerik eğitim amaçlı hazırlanmıştır. © 2026

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir