A R O L A X
İçeriğe geç

Kalite ve Test Sürecimiz

Kurumsal

Bir projeyi yayına almadan önce hangi testleri yapıyoruz? İşlevsel testler, tarayıcı uyumluluğu, performans, erişilebilirlik ve güvenlik kontrollerini açıklıyoruz.

Kalite ve Test Sürecimiz

Test aşaması ne zaman başlıyor?

Test, projenin sonunda yapılan tek seferlik bir kontrol değil. Geliştirme başladığı andan itibaren her tamamlanan ekran kendi içinde deneniyor; haftalık staging sürümleri de sizin erken geri bildirim vermenizi sağlıyor. Yayın öncesi yapılan kapsamlı test turu, bu sürekli kontrolün son adımı oluyor.

Testi baştan almanın nedeni maliyet. Geliştirme sırasında bulunan bir hatanın düzeltilmesi dakikalar sürüyor; yayına çıkmış bir hatanın düzeltilmesi ise hem geliştirme hem doğrulama hem de yeniden dağıtım gerektiriyor. Aynı hata, bulunduğu aşama geciktikçe pahalılaşıyor.

İşlevsel testlerde neler kontrol ediliyor?

İşlevsel testlerde kullanıcının yapabileceği her işlemi elle deniyoruz. Kontrol ettiğimiz tipik maddeler:

  • Formların boş, eksik ve hatalı verilerle davranışı; hata mesajlarının anlaşılır olması.
  • Form gönderimlerinin hem veri tabanına hem bildirim e-postasına düşmesi.
  • Arama, filtreleme ve sıralama işlemlerinin beklenen sonucu vermesi ve sonuç bulunamadığında anlamlı bir ekran göstermesi.
  • Yetkilendirme kurallarının adres doğrudan yazıldığında da geçerli olması.
  • E-ticaret projelerinde sepet, stok düşümü, kupon, kargo ücreti ve ödeme akışının uçtan uca çalışması.
  • Çok dilli projelerde dil değiştirmenin aynı sayfada kalması ve hreflang etiketlerinin doğru kurulması.

Kritik akışlar için otomatik test yazıyoruz. Bir e-ticaret sitesinde ödeme akışı, bir panelde yetki kontrolü gibi bozulduğunda ağır sonuç doğuran yerlerde otomatik test, sonraki güncellemelerde emniyet ağı görevi görüyor.

Hangi tarayıcı ve cihazlarda test yapıyoruz?

Güncel Chrome, Safari, Firefox ve Edge sürümlerinde masaüstü testi yapıyoruz. Mobil tarafta iOS Safari ve Android Chrome üzerinde gerçek cihaz testi yapıyoruz; tarayıcı geliştirici araçlarındaki cihaz benzetimi ön kontrol için yeterli, ama son kontrol için değil. Dokunmatik hedef boyutları, sabit başlıkların klavye açıldığında davranışı ve yatay kaydırma sorunları ancak gerçek cihazda görülüyor.

Ekran genişliklerini üç kırılım yerine sürekli olarak deniyoruz: pencereyi yavaşça daraltıp genişleterek bozulan noktaları yakalıyoruz. Kırılım noktaları arasında kalan genişliklerde bozulan tasarımlar, sadece belirlenen üç boyutta test edildiği için gözden kaçıyor.

Performans testinde neye bakıyoruz?

Performans ölçümünü hem laboratuvar hem saha verisiyle yapıyoruz. Laboratuvar tarafında Lighthouse ile kısıtlı ağ ve orta seviye cihaz benzetimi altında ölçüm alıyoruz; masaüstü hızlı bağlantıda alınan skorlar gerçeği yansıtmıyor.

Takip ettiğimiz üç ana metrik: LCP, sayfanın en büyük görsel ögesinin ne kadar sürede göründüğünü; INP, kullanıcının etkileşimine yanıt süresini; CLS ise yükleme sırasındaki görsel kaymayı ölçüyor. Bu üçünün de "iyi" aralığında olması hedefimiz. Ayrıca sunucu yanıt süresi, toplam sayfa ağırlığı ve istek sayısını ayrıca kaydediyoruz.

Yayından sonra saha verisini de izliyoruz. Laboratuvar skoru iyi olan bir sayfanın saha verisinde kötü çıkması mümkün; genellikle nedeni gerçek kullanıcıların daha yavaş bağlantıları veya sonradan eklenen üçüncü taraf betikleri oluyor.

Erişilebilirlik kontrolleri neleri kapsıyor?

Erişilebilirliği WCAG 2.2 AA seviyesini hedefleyerek çalışıyoruz. Otomatik araçlar sorunların ancak bir bölümünü yakaladığı için elle kontroller de yapıyoruz:

  • Tüm etkileşimli ögelerin klavye ile erişilebilir olması ve odak göstergesinin görünür kalması.
  • Metin ile arka plan arasındaki kontrast oranının yeterli olması.
  • Görsellerin anlamlı alternatif metin taşıması; dekoratif görsellerin boş alternatif metinle işaretlenmesi.
  • Form alanlarının etiketle ilişkilendirilmiş olması ve hata mesajlarının ekran okuyucuya iletilmesi.
  • Başlık hiyerarşisinin (h1, h2, h3) atlanmadan kurulması.

Bu maddelerin çoğu ek maliyet yaratmıyor; baştan doğru kurulduğunda sonradan düzeltmekten çok daha ucuz oluyor. Erişilebilirlik ayrıca arama motoru görünürlüğünü ve genel kullanılabilirliği de olumlu etkiliyor.

SEO açısından yayın öncesi ne kontrol ediliyor?

Teknik SEO kontrol listemiz yayın öncesi mutlaka işletiliyor. Her sayfanın benzersiz başlık ve açıklama etiketi olması, canonical adreslerin doğru kurulması, site haritasının üretilmesi ve arama konsoluna bildirilmesi, robots.txt dosyasının istenmeyen dizinleri kapatması ve staging ortamının dizine alınmaya kapalı olması listenin ilk maddeleri.

Mevcut bir sitenin yerine geçen projelerde eski adreslerin listesini çıkarıp 301 yönlendirmelerini kuruyoruz. Yayın sonrası ilk hafta arama konsolundaki tarama hatalarını günlük izliyoruz; bu dönemde çıkan 404 hataları hızlıca kapatıldığında görünürlük kaybı en aza iniyor.

Güvenlik testinde ne yapılıyor?

Kapsamlı bir sızma testi ayrı bir uzmanlık alanı ve bunu bir güvenlik firmasının yapmasını öneriyoruz. Bizim yaptığımız, yaygın hataların kontrolü: giriş doğrulaması, parametreli sorgu kullanımı, oturum ve yetki kontrolleri, dosya yükleme kısıtları, hata mesajlarının sistem bilgisi sızdırmaması ve HTTP güvenlik başlıklarının kurulması.

Bağımlılıkları da tarıyoruz. Kullanılan kütüphanelerin bilinen açıkları için otomatik tarama çalıştırıyor, kritik seviyedeki bulguları yayın öncesi kapatıyoruz. Bakım anlaşması olan projelerde bu tarama düzenli olarak tekrarlanıyor.

Kabul testini kim yapıyor?

Son kabul testini siz yapıyorsunuz. Staging ortamına erişim veriyor, yanına da kontrol listesi ekliyoruz. Listenin amacı sizi yormak değil, gözden kaçabilecek başlıkları hatırlatmak: kendi telefonunuzdan formu doldurmak, kendi tarayıcınızda menüyü denemek, bir ürünü baştan sona satın almak gibi.

Kabul testinde bulunan maddeler önceliklendiriliyor. Yüksek öncelikli maddeler yayın öncesi kapatılıyor; düşük öncelikli maddeler yayın sonrası listeye devredilebiliyor. Bu ayrımı birlikte yapıyoruz, çünkü hangi eksikliğin sizin işinizi gerçekten aksatacağını en iyi siz biliyorsunuz.

Yayına çıktıktan sonra hata bulunursa ne oluyor?

Yayından sonraki ilk otuz gün garanti kapsamındadır; bu sürede çıkan hataları ücretsiz gideriyoruz. Hata bildirimini aldığımızda önce yeniden üretmeye çalışıyoruz: hangi ekranda, hangi tarayıcıda, hangi adımlarla oluştuğunu netleştirmeden düzeltmeye başlamıyoruz. Yeniden üretilemeyen bir hata için yapılan düzeltme, çoğu zaman başka bir yeri bozuyor.

Düzeltme önce staging ortamında uygulanıyor, doğrulandıktan sonra canlıya alınıyor. Kritik bir sorun söz konusuysa hızlı müdahale ediyor, ancak sonrasında aynı hatanın tekrar oluşmaması için otomatik test yazıyoruz.

Her hatanın nedenini kısaca kayda alıyoruz. Aynı türden hatalar tekrar ediyorsa bu, tek tek düzeltilmesi gereken sorunlar değil, süreçte düzeltilmesi gereken bir eksiklik anlamına geliyor. Kontrol listelerimizdeki maddelerin çoğu bu şekilde ortaya çıktı.

Veri kaybı riskine karşı ne yapıyoruz?

Test aşamasında yalnızca işlevlerin çalışmasına değil, hata durumunda ne olduğuna da bakıyoruz. Bir kayıt kaydedilirken bağlantı koparsa, iki kullanıcı aynı kaydı aynı anda değiştirirse veya bir aktarım yarıda kalırsa sistemin ne yaptığını ayrıca test ediyoruz.

Kritik işlemleri, ya tamamı ya hiçbiri çalışacak şekilde kuruyoruz. Yarım kalan bir işlem, hatalı bir işlemden daha tehlikeli olabiliyor; çünkü sistem kendini tutarlı sanmaya devam ediyor. Aynı isteğin iki kez gönderilmesi durumunda mükerrer kayıt oluşmasını da engelliyoruz.

Yayın öncesi mutlaka geri dönüş planı hazırlıyoruz. Bir sürüm beklenmedik bir sorun çıkarırsa önceki sürüme dönmenin adımları ve süresi önceden belli oluyor. Yedeğin alınmış olması yeterli değil; geri yüklemenin denenmiş olması gerekiyor.

Projenizi birlikte planlayalım