• 7.4. Yeni Mezun Tuzakları (Pitfalls & Anti-Patterns)

    Fonksiyonel olmayan testler; genellikle “karmaşık araçlar”, “derin kod bilgisi” veya “ayrı uzmanlık ekipleri” gerektirdiği algısıyla yeni başlayanların en çok çekindiği alandır.

    Oysa en büyük güvenlik skandalları ve erişilebilirlik fiyaskoları; gelişmiş siber saldırılardan ziyade, bir testçinin birkaç saniyelik temel hijyen kontrollerini atlamasından doğar.

    Sektöre adım atan mühendislerin bu alanda en sık düştüğü 4 tehlikeli tuzağı inceleyelim:

    Tuzak 1: “Güvenlik ve Performans Sadece Uzmanların İşidir” Deyip Sıyrılmak

    • Hatalı Yaklaşım: “Şirkette zaten siber güvenlik departmanı ve performans mühendisleri var; benim işim sadece butona basınca sipariş gidiyor mu ona bakmak, gerisine karışmam” diyerek en temel güvenlik açıklarına göz yummak.

    • Doğru Mühendislik Yaklaşımı: Derinlemesine bir sızma testi (Penetration Test) veya 100.000 kişilik dağıtık yük testi elbette uzmanlık isteyebilir. Ancak “Temel Güvenlik ve Performans Hijyeni” her testçinin günlük refleksidir:

      • Bir arama kutusuna tek tırnak ('), çift tırnak (") veya <script> yazıp gönderdiğinde sistem kırmızı bir veritabanı çökme hatası veriyor mu?

      • Şifre alanına şifre yazılırken ekranda açık metin olarak mı kalıyor yoksa maskeleniyor (••••) mu?

      • Bir web sayfasını açarken ağ sekmesinde (Network) 25 MB boyutunda devasa bir açılış görseli indirilmeye çalışılıyor mu?

      Bu üç soruyu sormak için siber güvenlik uzmanı olmana gerek yoktur; dikkatli bir kalite mühendisi olman yeterlidir.

    Tuzak 2: Erişilebilirliği (A11y) Sadece “Görsel Renk Uyumu” Sanmak

    • Hatalı Yaklaşım: Tasarımcının seçtiği renklerin birbirine uyup uymadığına göz ucuyla bakıp; “Görsel olarak güzel duruyor, okunuyor, erişilebilirlik tamamdır” diyerek görevi kapatmak.

    • Doğru Mühendislik Yaklaşımı: Erişilebilirlik sadece gözleri sağlam ve faresi olan insanlar için değildir.

      Erişilebilirliğin altın kuralı: Fareyi masadan tamamen uzaklaştır!

      Yalnızca klavyedeki TAB tuşuna basarak form alanları, butonlar ve menüler arasında sırayla gezinebiliyor musun?

      • Eğer TAB tuşuna bastığında mavi seçim çerçevesi ekrandan aniden kayboluyorsa (Focus Visible kaybı),

      • Sıralama mantıksızca başlığa gitmeden önce sayfanın en altındaki telif hakkı metnine atlıyorsa (Tab Order hatası),

      • Açılır menüler klavyeden ENTER veya BOŞLUK ile açılamıyorsa,

      burada milyonlarca engelli kullanıcının sistemi kullanmasını imkânsız kılan ağır bir erişilebilirlik kusuru vardır.

    Tuzak 3: “Benim Son Model Bilgisayarımda Hızlıysa Her Yerde Hızlıdır” Yanılsaması

    • Hatalı Yaklaşım: Testleri ofisteki 1000 Mbps fiber internete bağlı, son teknoloji yüksek donanımlı şirket bilgisayarında koşup; sayfa 1 saniyede açılınca “Performans mükemmel, sistem uçuyor” raporu vermek.

    • Doğru Mühendislik Yaklaşımı: Canlıdaki gerçek müşteriler senin gibi lüks donanımlara ve ofis internetine sahip değildir.

      Müşteri; metro çıkışında 4.5G şebekesinin 1 dişe düştüğü bir anda, 5 yıllık eski bir cep telefonundan o siteye girmeye çalışır.

      Test mühendisi, tarayıcının geliştirici araçlarını (F12 > Network) açarak bağlantıyı bilerek “Yavaş 3G (Slow 3G)” veya “Düşük Hızlı Mobil Ağ” moduna alır (Throttling). Sistem zayıf internette nasıl tepki veriyor? Ekran donup kalıyor mu yoksa zarif bir yükleme göstergesiyle kullanıcıyı bilgilendiriyor mu? Performans laboratuvarda değil, zorlu sahada ölçülür.

    Tuzak 4: Erişilebilirliği Sadece “Otomatik Araçların Yüzdesine” Emanet Etmek

    • Hatalı Yaklaşım: Tarayıcıda bir eklenti (Lighthouse, Axe vb.) çalıştırıp, erişilebilirlik skorunun yeşil renkte “%98” çıktığını görünce hiçbir el testi yapmadan sayfayı onaylamak.

    • Doğru Mühendislik Yaklaşımı: Otomatik analiz araçları kör birer robottur; bir sitedeki erişilebilirlik kusurlarının en fazla %30 ila %40’ını yakalayabilirler.

      Örneğin bir araç, bir resmin arkasında alternatif metin (alt) etiketi olduğunu görür ve yeşil onay verir. Ancak o etiketin içine yazılımcı “asdasd” veya “image1.png” yazmışsa; ekran okuyucu kullanan görme engelli bir vatandaş o resmin ne olduğunu asla anlayamaz. Anlamı ve mantığı sadece canlı bir insan zihni tartabilir.

    4. “Bir de Şöyle Düşün” (Kutu İçeriği)

    💡 Bir de Şöyle Düşün: Restoran Girişindeki Mermer Merdiven

    Lüks ve son derece şık bir restoran inşa edildiğini düşün:

    • Tuzak Yaklaşım (Sadece Görsel Bakış): Girişteki bembeyaz cilalı mermer merdivenler mimari açıdan harika görünür, renkler kusursuzdur, tabelanın ışıkları pırıl pırıldır.

    • Erişilebilirlik Zihniyeti (WCAG Bakışı): Kapıya tekerlekli sandalyeyle gelen bir müşteri o 5 basamaklı mermer merdiveni aşamaz; içeri giremez ve aç kalır. Yağmur yağdığında mermer buz pistine döner, bastonla yürüyen yaşlı biri kayıp düşer.

    Bir binaya rampa ve tutunma demiri yapmak lüks değil en temel insan hakkıdır. Yazılıma klavye desteği ve ekran okuyucu uyumu eklemek de dijital dünyanın rampasıdır. O rampa yoksa, sistemin ne kadar süslü olduğunun hiçbir önemi yoktur.

    5. Mini Alıştırma

    Senaryo: Yeni bir e-ticaret uygulamasında “Şifremi Unuttum” ekranını test ediyorsun.

    Aşağıdaki davranışlardan hangisi bir test mühendisinin gerçekleştirmesi gereken en temel güvenlik hijyen kontrolüdür ve neden?

    • A) Şifre sıfırlama linkinin kaç milisaniyede e-postaya düştüğünü kronometreyle ölçmek.

    • B) Sisteme kayıtlı olmayan rastgele bir e-posta (olmayan_kullanici_test@gmail.com) yazıp “Gönder” butonuna basıldığında, sistemin ekrana “Bu e-posta sistemde kayıtlı değildir” uyarısı verip vermediğini denetlemek.

    Doğru Yanıt: B Seçeneği kritik bir Güvenlik Hijyen Kontrolüdür (Kullanıcı Numaralandırma – User Enumeration Riski).

    Güvenli bir sistem asla “Bu e-posta kayıtlı değildir” dememelidir! Çünkü kötü niyetli bir korsan bu uyarıyı kullanarak şirketin veritabanında hangi e-postaların kayıtlı olduğunu tek tek deneyerek deşifre edebilir (User Enumeration açığı).

    Güvenli sistem, e-posta kayıtlı olsa da olmasa da nötr bir mesaj vermelidir: “Eğer sistemde kayıtlı bir hesabınız varsa, şifre sıfırlama talimatları adresinize gönderilmiştir.”