ktördeki Gerçek Senaryo: 18 Yaş Altına Satılan Bireysel Emeklilik

Bir dijital bankacılık ve sigorta platformu, genç müşterileri hedefleyen yeni bir “Gelecek Planı Bireysel Emeklilik (BES)” ürününü web ve mobil şubeden satışa sundu. Ancak finans ve sigortacılık gibi alanlar kafanıza göre kural koyabileceğiniz serbest mecralar değildir. Sigortacılık Düzenleme ve Denetleme Kurumu’nun (SEDDK) koyduğu çok kesin ve tavizsiz bir yasal sınır vardı:

“Sözleşmeyi tek başına imzalayacak olan katılımcı; başvuru yaptığı gün, ay ve yıl itibarıyla tam 18 yaşını doldurmuş (18 yaş 0 gün) olmalı ve 56 yaşından gün almamış olmalıdır. 18 yaşın altındaki bireyler yalnızca kanuni vasilerinin (anne/baba) ıslak imzalı onayıyla şubelerden sisteme dahil edilebilir; dijital kanallardan velisiz kesinlikle tek taraflı onay verilemez.”

Projede çalışan yazılım geliştirici, gereksinim dokümanındaki bu maddeyi okudu ve arkasındaki derinliği fark etmeden mantığı kafasında kabaca şöyle kurguladı:

Plaintext

 
EĞER (BuYıl - DoğumYılı >= 18) VE (BuYıl - DoğumYılı <= 55) İSE:
    Başvuruya İzin Ver (Sözleşmeyi İmzalat)
DEĞİLSE:
    İşlemi Engelle ("18 Yaşından Küçüksünüz veya Yaş Sınırını Aştınız" Uyarısı Göster)

Geliştirici kendi ortamında testi yaptı: Doğum yılını 2000 girdi ($2024 – 2000 = 24$), sistem yeşil yandı. Doğum yılını 2015 girdi ($2024 – 2015 = 9$), sistem kırmızı yandı ve işlemi durdurdu. “Kodum sorunsuz çalışıyor” diyerek paketi canlıya gönderdi.

Platform yayına girdi. Aradan üç ay geçtikten sonra rutin bir devlet denetiminde kurumun tüm operasyonunu sarsan büyük bir skandal patlak verdi:

Sistem; 2006 doğumlu olan ancak henüz doğum ayı ve günü gelmemiş tam 3.400 reşit olmayan gence anne veya babasının onayı olmadan tek tıkla dijital sözleşme imzalatmıştı!

Felaketin Arkasındaki “Görünmez” Sınır Çizgisi

Bir an durup düşünelim:

Tarih 15 Mart 2024 olsun. Başvuran genç ise 20 Ekim 2006 doğumlu olsun.

  • Geliştiricinin Formülü: $2024 – 2006 = 18$ sonucunu buluyor ve genci 18 yaşında kabul edip kapıyı ardına kadar açıyordu.

  • Gerçek Hayat: Bu genç 15 Mart 2024 günü itibarıyla henüz 17 yılını ve 5 ayını doldurmuştu! 18 yaşını doldurmasına daha koca bir 7 ay vardı ve yasal olarak bir çocuktu.

Sistem, sadece yıllar üzerinden kaba bir çıkarma yaptığı için gün ve ay sınırlarını tamamen yutmuştu.

Ağır Bilanço

Regülasyon kurumu affetmedi:

  • Kanuna aykırı düzenlenen her bir sözleşme için 50.000 TL idari para cezası kesildi.

  • Toplam ceza tutarı tam 170 milyon TL‘yi buldu.

  • 3.400 gencin sözleşmesi iptal edildi, yatırılan paralar faizleriyle iade edilmek zorunda kalındı ve şirketin kurumsal itibarı yerle bir oldu.

O projede görev alan bir test mühendisi sınırları sadece kabaca “yıl” olarak değil; Sınır Değer Analizi (BVA) prensibiyle gün/ay bazında parçalasaydı ne olurdu?

Test ortamında başvuru tarihini baz alıp:

  1. Tam 18 yaşını dün doldurmuş bir genci (18 yaş 1 gün),

  2. Tam bugün 18’ine basan bir genci (18 yaş 0 gün),

  3. 18’ine girmesine sadece 1 gün kalan bir genci (17 yaş 364 gün)

sisteme girip denerdi. Üçüncü denemede koddaki o ölümcül mantık açığı 10 saniye içinde gün yüzüne çıkar, şirket tek bir kuruş dahi ceza ödemezdi.

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

💡 Bir de Şöyle Düşün: Yılbaşı Gecesi 18 Yaşına Basanlar

31 Aralık gecesi saat 23:59’da kapısında “18 Yaşından Küçükler Giremez” yazan bir mekâna girmek istediğini düşün.

  • Kaba Mantık: Güvenlik görevlisi kimliğindeki sadece doğum yılına (örneğin 2006) bakar; “Tamam 2024 yılındayız, 2024 – 2006 = 18 eder, gir içeri” der. Oysa senin doğum günün 1 Aralık’tır veya 10 gün sonradır; takvim yılı değişti diye bir anda yaş almazsın.

  • Sınır Değer Zihniyeti: Profesyonel denetçi saate ve güne bakar: “Sen 18 yaşını dün mü doldurdun, bugün mü dolduruyorsun, yoksa yarın mı dolduracaksın?”

Yazılımda en tehlikeli varsayım, zamanı “yıl” gibi kaba birimlerle ölçmektir. Tarih ve saat testlerinde sınır; her zaman milisaniye, saniye ve gün hassasiyetinde test edilir.

5. Mini Alıştırma

Senaryo: Bir araç kiralama şirketinin kuralı şudur:

“Ehliyet alış tarihi üzerinden tam 2 yıl (730 gün) geçmiş olan sürücüler araç kiralayabilir.”

Bugünün tarihi 11 Eylül 2026 olsun.

Soru: BVA (Sınır Değer Analizi) tekniğini benimsemiş bir Kalite Mühendisi olarak, ehliyet süresi kontrol algoritmasını sınamak için sisteme girmen gereken en kritik 3 ehliyet alış tarihini (sınırın hemen altı, sınırın tam kendisi, sınırın hemen üstü) belirle.

Bugün: 11 Eylül 2026 (Tam 2 yıl öncesi: 11 Eylül 2024)

  1. 12 Eylül 2024: 2 yılın dolmasına henüz 1 gün var (Geçersiz Sınır / Negatif – Sistem kiralamayı kesinlikle engellemeli).

  2. 11 Eylül 2024: Tam 2 yılın (730 gün) dolduğu sınır günü (Geçerli Sınır / Pozitif – Sistem kiralamaya izin vermeli).

  3. 10 Eylül 2024: 2 yılı 1 gün geçmiş güvenli sınır (Geçerli Sınır / Pozitif – Sistem kiralamaya izin vermeli).