Arekan'ın teslim ettiği her uygulama, kullanıcılarınıza ulaşmadan önce yapılandırılmış, çok katmanlı bir test sürecinden geçer. Ekibimiz testi tek bir faz olarak değil, ilk component'ten son deployment'a kadar geliştirmeyle paralel yürüyen bir disiplin olarak ele alır. Bu rehber, yeni inşa edilen web ve mobil uygulamaları nasıl test ettiğimizi, hangi araçları ve framework'leri kullandığımızı ve herhangi bir go-live öncesinde talep ettiğimiz özel onay adımlarını tam olarak belgeler.
Test Fazları Neden Atlanamaz?
En pahalı bug'lar ekibinizin değil, kullanıcılarınızın bulduklarıdır. Bunu müşteri projelerinde gördük: ödeme akışında, kimlik doğrulama sisteminde veya veri işleme pipeline'ında lansman sonrası bir bug, geliştirme aşamasında bulunana göre üstel olarak daha pahalıya düzeltilir. Test sürecimiz sorunları olabilecek en ucuz noktada — kullanıcılar görmeden önce — yakalamak için vardır.
Bug tespit maliyeti çarpanı: geliştirmede yakalanan bir bug 1x'e düzeltilir. Staging'de 6x'e mâl olur. Prodüksiyonda 15–100x'e — olay yanıtı, veri kurtarma, müşteri iletişimi ve itibar hasarı dahil.
Regresyon önleme: uygulamalar büyüdükçe yeni kod eski işlevselliği bozar. Otomatik test suite'leri regresyonları yayına çıkmadan yakalar ve "dokunmadığımız bir şeyi bozduk" türü prodüksiyon olaylarını ortadan kaldırır.
Müşteri güveni: belgelenmiş kapsama sahip bir test suite müşteriye sadece "çalışıyor" şeklindeki sözlü güvence yerine objektif kalite kanıtı verir.
Uyumluluk gereksinimleri: finans, sağlık ve kamu sektörlerindeki kurumsal müşteriler genellikle tedarikçi yeterlilik süreçlerinin parçası olarak gösterilebilir test kanıtı talep eder.
Onboarding hızı: iyi test edilmiş bir kod tabanı, yeni geliştiricileri çok daha hızlı dahil eder — testler sistemin nasıl davranması gerektiğinin canlı dokümantasyonu olarak hizmet eder.
Web Uygulama Testinin 5 Katmanı
Web uygulamaları birden fazla katmanda test gerektirir; her katman farklı bir problem sınıfını yakalar. Herhangi bir katmanı atlamak, prodüksiyona kadar tespit edilmemiş bir bug kategorisi bırakır. Teslim ettiğimiz her web uygulamasında çalıştırdıklarımız:
Unit test'ler: bireysel fonksiyonlar, yardımcı araçlar ve iş mantığı component'leri izole olarak test edilir. İş açısından kritik kod (ödeme işleme, kimlik doğrulama, veri dönüşümü) için %80+ branch coverage hedefliyoruz. Yığın: Vue/Nuxt için Vitest, Node.js için Jest, Python için pytest.
Integration test'ler: birden fazla component'in birlikte doğru çalıştığını doğrular — veri tabanı sorgularıyla API rotaları, route guard'larıyla kimlik doğrulama middleware'i, üçüncü taraf servis entegrasyonları. Bunlar, unit test'lerin kaçırdığı bağlantı hatalarını yakalar.
End-to-end (E2E) test'ler: tarayıcı üzerinden gerçek kullanıcı yolculuklarını simüle eder — login, navigasyon, form gönderimi, ödeme akışları, hata durumları. Yığın: otomatik ekran görüntüsü karşılaştırmalı Playwright. Her uygulama için 5–10 kritik kullanıcı yolculuğunu kapsıyoruz.
Yük ve performans test'leri: uygulamanın prodüksiyon düzeyinde trafiği taşıyabildiğini doğrulamak için eş zamanlı kullanıcı simüle eder. Gerçekçi kullanım kalıplarını modellemek için k6 kullanıyoruz. Her endpoint profillenir; yavaş sorgular (>200ms) lansmandan önce işaretlenir.
Güvenlik taraması: CI pipeline'ına entegre edilmiş OWASP ZAP ile otomatik OWASP Top 10 taraması, ayrıca kimlik doğrulama, yetkilendirme ve veri doğrulama mantığının manuel incelemesi. Güvenlik ekibimiz, hassas kullanıcı verisi işleyen her uygulamaya onay verir.
Mobil-Özel Testler: Farkı ve Neden Önemli Olduğu
Mobil uygulamalar, web uygulamalarına göre temelden farklı bir test zorluğuyla karşı karşıyadır. Cihaz parçalanması, OS sürüm çeşitliliği, ağ değişkenliği ve donanım kısıtları, tarayıcı tabanlı uygulamalarda bulunmayan başarısızlık modları yaratır. Orta Doğu ve Türkiye'deki projelerimizden beslenen mobil-özel test katmanımız:
Cihaz matrisi testi: yalnızca emülatörler değil — hedef pazarın gerçek cihaz türlerinin ilk %80'ini kapsayan, tanımlı bir gerçek fiziksel cihaz matrisinde test ederiz. Orta Doğu müşterileri için bu, güncel ve 2 nesil eski iPhone'ları, Samsung Galaxy (S ve A serisi) ve pazara hâkim olan Xiaomi cihazlarını kapsar.
OS sürüm kapsaması: iOS 16, 17 ve 18 ile Android 12, 13, 14 ve 15'te test ederiz. Gördüğümüz en yaygın prodüksiyon çökmeleri yalnızca hâlâ yaygın kullanımdaki eski sürümlerde ortaya çıkan OS-spesifik API değişikliklerinden kaynaklanır.
Ağ koşulu simülasyonu: 4G, 3G ve zayıf WiFi koşullarında ağ throttling ile test ederiz. Hızlı bağlantılarda çalışan uygulamalar yavaş bağlantılarda sıklıkla bozulur — timeout'lar, eksik loading state'ler ve kırık retry mantığı en sık bulgulardır.
İzin ve yaşam döngüsü testi: mobil uygulamalar izin reddedilmelerini (kamera, konum, bildirim), uygulamanın arka plana alınması ve ön plana dönmesini, düşük bellek koşullarını ve kesintileri (aramalar, bildirimler) yönetmek zorundadır. Tüm bu geçişleri açıkça test ederiz.
Crash raporlama entegrasyonu doğrulaması: her mobil sürümden önce Sentry veya Firebase Crashlytics'in doğru projeye crash raporladığını doğrularız — böylece lansman sonrası bir şey ters giderse anında görünür olur.
App store uyumluluk ön kontrolü: submission öncesinde Apple App Store ve Google Play Store kılavuz kontrollerini yürütürüz — privacy manifest gereksinimleri, izin gerekçeleri ve içerik derecelendirme beyanları dahil — ekipleri hazırlıksız yakalayan çok günlü inceleme reddi döngüsünden kaçınmak için.
Go-Live Onay Kontrol Listesi
Herhangi bir uygulama müşteriye teslim edilmeden veya prodüksiyona deploy edilmeden önce ekibimiz yapılandırılmış bir go-live kontrol listesi çalıştırır. Bu, lansmandan önceki son geçittir. Bu listedeki her şey geçmek zorundadır — deadline baskısı için istisna yoktur.
Tüm otomatik test suite'leri prodüksiyon build üzerinde geçer (sadece development build değil): dev ve prodüksiyon arasındaki ortam farkları, "lokalde tüm testler geçti" diyen projelerde go-live arızalarına neden oldu.
Hata izleme aktif ve doğrulanmış: lansmandan önce kasıtlı bir test hatası tetikler ve 60 saniye içinde Sentry veya Crashlytics'te göründüğünü doğrularız.
Performans baseline'ı belgelenmiş: sayfa yükleme süreleri (web), uygulama başlatma süresi (mobil) ve kritik API yanıt süreleri kaydedilir. Bu baseline, lansman sonrası hızlı regresyon tespitine olanak verir.
Yedekler ve rollback planı doğrulanmış: web uygulamaları için deployment pipeline'ının önceki sürüme tek-komutla rollback'i olduğunu doğrularız. Mobil için önceki build, acil durum rollback'i için app store'da tutulur.
Müşteri walkthrough'u tamamlanmış: müşterinin uygulamayı bir staging ortamında bizzat test ettiği bir ekran paylaşımlı oturum. Bu opsiyonel değildir — hiçbir teknik testin bulamadığı beklenti boşluklarını yakalar.
Staging-prodüksiyon paritesi doğrulanmış: veri tabanı şeması, ortam değişkenleri, feature flag'leri ve üçüncü taraf API anahtarları geçiş yapılmadan önce prodüksiyon ortamı için doğrulanır.

