Mobile App Wiki

Mobile App Wiki

mobileapp.wiki

Ana Sayfa

Kategoriler

mobileapp.wiki

Mobile App Wiki

Mobil uygulama geliştirme bilgi tabanı

GizlilikAna SayfaSitemapRSS
© 2026 mobileapp.wiki
Ana Sayfa/Test & QA/Regression Testing & Release QA
Test & QA4 dk okuma

Regression Testing & Release QA

Her release öncesi yapılması gereken regression test ve QA süreçleri. Smoke test, staged rollout, feature flag ve rollback stratejileri.

regression testingrelease qasmoke teststaged rolloutphased releasefeature flagrollbackhotfixtestflightinternal testing

İçindekiler

Release Öncesi Test Neden Kritik?Smoke Test vs Regression TestTest Checklist OluşturmaFeature Flag ile Güvenli ReleaseStaged Rollout (Google Play)Phased Release (App Store)Rollback StratejisiHotfix SüreciTestFlight ve Internal TestingRelease Notes Yazmaİlgili Konular

Release Öncesi Test Neden Kritik?

Bir mobil uygulamayı yayınlamak web'den çok farklıdır. Web'de hata çıkarsa dakikalar içinde fix deploy edebilirsiniz. Mobil'de ise store review süreci var, kullanıcılar güncellemeyi hemen yüklemeyebilir ve kötü bir sürüm store puanınızı ciddi şekilde düşürebilir.

Bu yüzden her release öncesinde sistematik bir test süreci uygulamak zorunludur.

Smoke Test vs Regression Test

Smoke Test:

  • Uygulamanın temel fonksiyonlarının çalışıp çalışmadığını hızlıca doğrular
  • 15-30 dakika sürer
  • "Uygulama açılıyor mu? Login olabiliyor muyum? Ana akışlar çalışıyor mu?"
  • Her build sonrası yapılır

Regression Test:

  • Yeni değişikliklerin mevcut özellikleri bozup bozmadığını kontrol eder
  • Saatler sürebilir (kapsamlı suite)
  • Daha önce düzeltilmiş bugların tekrar çıkıp çıkmadığını doğrular
  • Release öncesi yapılır

Her build'den sonra smoke test, her release öncesinde full regression test yapmanız gerekir.

Test Checklist Oluşturma

Temel Fonksiyonlar:

  • Uygulama sorunsuz açılıyor (cold start ve warm start)
  • Kullanıcı kayıt ve giriş akışları çalışıyor
  • Ana navigasyon tüm sekmelerde sorunsuz
  • Push notification doğru ekrana yönlendiriyor
  • Deep link'ler çalışıyor

Veri ve Ağ:

  • Offline durumda uygulama crash etmiyor
  • Yavaş bağlantıda timeout'lar düzgün handle ediliyor
  • API hata durumlarında anlamlı mesaj gösteriliyor

Platform Spesifik:

  • iOS: en düşük desteklenen sürümde test edildi
  • Android: farklı ekran boyutlarında test edildi
  • Dark mode'da UI elementleri görünür

Feature Flag ile Güvenli Release

Feature flag, yeni bir özelliği kodun içinde açıp kapayabilmenizi sağlar. Release riskini büyük ölçüde azaltır.

  • Yeni özelliği önce %5 kullanıcıya açıp metrikleri gözlemleyebilirsiniz
  • Sorun çıkarsa store güncellemesi yapmadan flag'i kapatabilirsiniz
  • A/B test yapabilirsiniz

Popüler araçlar: LaunchDarkly, Firebase Remote Config (ücretsiz), Statsig, Unleash (open source), PostHog Feature Flags.

Kritik kural: eski flag'leri temizleyin. Kullanılmayan flag'ler kod tabanını karmaşıklaştırır.

Staged Rollout (Google Play)

Google Play yeni sürümü kademeli yayınlamanıza olanak tanır:

  1. %1: İlk gün, crash rate ve ANR rate izleyin
  2. %5: 1-2 gün bekleyin, kullanıcı yorumlarını takip edin
  3. %10: Performans metriklerini karşılaştırın
  4. %25: Geniş cihaz çeşitliliğinde test
  5. %50: Ciddi sorun çıkmadıysa devam
  6. %100: Full rollout

Sorun görürseniz "Halt rollout" ile dağıtımı durdurun.

Phased Release (App Store)

Apple'ın phased release sistemi 7 gün boyunca otomatik kademeli dağıtım yapar: 1. gün %1, 2. gün %2, 3. gün %5, 4. gün %10, 5. gün %20, 6. gün %50, 7. gün %100.

Manuel güncelleme yapan kullanıcılar bu kademeden etkilenmez. Phased release'i istediğiniz zaman duraklatabilir veya hemen %100'e çıkarabilirsiniz.

Rollback Stratejisi

Mobil'de gerçek anlamda rollback yapamazsınız. Bunun yerine:

  • Hotfix release: Sorunu düzelten yeni sürümü hızlıca yayınlayın
  • Feature flag kapatma: Sorunlu özelliği uzaktan devre dışı bırakın
  • Server-side kontrol: Backend'de versiyon bazlı farklı davranış
  • Staged rollout durdurma: Tüm kullanıcılara ulaşmadıysa dağıtımı durdurun

Hotfix Süreci

  1. Sorunu tespit et ve severity'sini belirle
  2. main/release branch'ten hotfix branch'i oluştur
  3. Minimal düzeltmeyi yap (yeni feature ekleme)
  4. Smoke test uygula
  5. Versiyon numarasını güncelle (patch increment)
  6. Store'a gönder ve expedited review talep et

TestFlight ve Internal Testing

TestFlight (iOS): Internal testing (100 kişi, review gerektirmez), External testing (10.000 kişi, beta review gerekir). Crash raporları otomatik toplanır.

Google Play Internal Testing: Internal track (anında, review yok), Closed testing (Alpha), Open testing (Beta). Pre-launch report ile otomatik cihaz testi yapılır.

Her release'den önce en az internal testing aşamasından geçirin.

Release Notes Yazma

  • Teknik jargondan kaçının ("API refactor" yerine "Daha hızlı yükleme süreleri")
  • Bug fix varsa kabul edin ("Bilinen çökme sorunu giderildi")
  • "Bug fixes and performance improvements" gibi genel ifadelerden kaçının

Release süreci bir pipeline'dır. Her aşamayı atlamamak ve süreci dokümante etmek, uzun vadede uygulamanızın kalitesini ve store puanınızı doğrudan etkiler.

İlgili Konular

  • A/B Testing (Uygulama Ici)
  • Remote Config & Feature Flags
  • İlk Uygulama Yayınlama Checklist'i

Bu makaleyi nasıl buldunuz?

Paylaş

← Önceki

Beta Testing

Sonraki →

Crash Reporting (Crashlytics & Sentry)

İlgili Makaleler

Beta Testing

Mobil uygulama beta test süreci rehberi. TestFlight ve Google Play Testing ile closed/open beta, geri bildirim toplama ve kalite güvence stratejileri.

Crash Reporting (Crashlytics & Sentry)

Uygulama çökme raporlama rehberi. Firebase Crashlytics ve Sentry ile crash-free rate yönetimi, stack trace analizi ve production hata izleme.

A/B Testing (Uygulama Ici)

Mobil uygulama içi A/B testing rehberi. Firebase Remote Config, Statsig ve RevenueCat ile experiment tasarımı ve istatistiksel anlamlılık analizi.

Performance Profiling

Mobil uygulama performans profiling rehberi. Startup time, frame rate, memory ve battery analizi araçları ile optimizasyon teknikleri detayları.

Unit Testing (Mobil)

Mobil uygulama birim test rehberi. Jest, XCTest ve JUnit araçları, AAA pattern, test coverage hedefleri ve platform bazlı test stratejileri.