3.5. Bölüm Sonu Uygulama Görevi (Hands-on Challenge)
Bölüm 3 boyunca; sonsuz ihtimaller dünyasında kaybolmadan sistemin çatlaklarını matematiksel kesinlikle yakalayan Kara Kutu (Black-Box) test tekniklerini öğrendin:
-
Girdileri sepetlere ayırdın (ECP),
-
Kuralların kesiştiği bıçak sırtı çizgileri hedefledin (BVA),
-
Çoklu iş kurallarını kusursuz matrislere döktün (Karar Tabloları),
-
Sistemin hafızasını ve yaşam döngüsünü denetledin (Durum Geçişi).
Şimdi eline kalemi alıp gerçek bir filo kiralama sisteminin kalite mimarisini çıkarma vakti!
Görev Senaryosu: “Filo Filo Otomotiv Kiralama Motoru”
Bir araç kiralama şirketinin online rezervasyon altyapısını test ediyorsun. Analiz dokümanındaki temel kurallar şunlardır:
-
Ekonomik Segment: Sürücü yaşı en az 21, ehliyet süresi en az 1 yıl olmalıdır.
-
Lüks Segment: Sürücü yaşı en az 27, ehliyet süresi en az 3 yıl olmalıdır.
-
Maksimum Yaş Sınırı: 70 yaşını doldurmuş bireylere (71 yaş ve üzeri) sistem üzerinden hiçbir segmentte kiralama yapılamaz.
Senden İstenenler
1. Görev: Sürücü Yaşı İçin 2-Değerli BVA Analizi
Sürücü yaşı girdi kutusu için kritik sınır noktalarını (Geçerli Sınır ve Hemen Dışındaki İlk Geçersiz Komşu) tespit et.
2. Görev: Karar Tablosu (Decision Table) Kurgusu
Sistemin tüm kararlarını gösteren sadeleştirilmiş bir Karar Tablosu hazırla.
3. Görev: Test Senaryosu Değerlendirmesi
Aşağıdaki müşteri başvurusunun sistemdeki Beklenen Sonucunu (Expected Result) belirle:
-
Girdi: Yaş: 27, Ehliyet Süresi: 2 Yıl 11 Ay.
-
Talep Edilen: Lüks Segment Rezervasyonu.
-
Beklenen Sonuç: ?
🔍 Görev Çözüm Kılavuzu ve Referans Çizelgesi
Çözümünü tamamladıktan sonra aşağıdaki standart şablonla karşılaştır:
1. Sürücü Yaşı 2-Değerli BVA Tablosu (Adım Aralığı: 1 Yıl)
Sistemde yaş kriterini ilgilendiren 3 kritik dönüm noktası vardır:
| İncelenen Sınır Çizgisi | Sınır Değeri (Min / Max) | İlk Komşu Değeri | Açıklama ve Beklenen Sistem Tepkisi |
| Alt Taban (Ekonomik) | 21 (Geçerli) | 20 (Geçersiz) | 20 yaş hiçbir araç kiralayamaz. 21 yaş en azından Ekonomik segment kapısını açar. |
| Segment Geçişi (Lüks) | 27 (Geçerli) | 26 (Geçersiz) | 26 yaş Lüks segment kiralayamaz (yalnızca Ekonomik). 27 yaş Lüks segment şartını sağlar. |
| Üst Tavan (Maksimum) | 70 (Geçerli) | 71 (Geçersiz) | 70 yaş son kiralama sınırıdır. 71 yaş sistem tarafından tüm araçlar için kesinlikle engellenir. |
2. Rezervasyon Karar Tablosu
Koşulları gereksiz yere çoğaltmak yerine, sonuç odaklı mantıksal gruplara sadeleştirdiğimizde (Reduction) ortaya çıkan ana tablo şöyledir:
| Koşullar ve Aksiyonlar | K-1 | K-2 | K-3 | K-4 | K-5 |
| Koşul 1: Yaş Uygunluğu | Yaş < 21 veya Yaş > 70 | 21 ≤ Yaş ≤ 70 | 21 ≤ Yaş ≤ 70 | 27 ≤ Yaş ≤ 70 | 27 ≤ Yaş ≤ 70 |
| Koşul 2: Ehliyet Süresi | Fark etmez (-) |
Ehliyet < 1 Yıl | Ehliyet ≥ 1 Yıl | Ehliyet < 3 Yıl | Ehliyet ≥ 3 Yıl |
| Koşul 3: İstenen Segment | Fark etmez (-) |
Ekonomik | Ekonomik | Lüks | Lüks |
| Aksiyon 1: Kiralama Onaylandı (Ekonomik) | X | ||||
| Aksiyon 2: Kiralama Onaylandı (Lüks) | X | ||||
| Aksiyon 3: İşlem Reddedildi (Hata Mesajı) | X | X | X |
-
K-1: Yaş genel sınırların dışındaysa ehliyet süresine bakılmaksızın işlem anında kesilir (Hata: “Yaş sınırları dışındasınız”).
-
K-4: Kullanıcı 27 yaşında olsa bile ehliyeti 3 yılın altındaysa Lüks kiralayamaz (Hata: “Lüks segment için en az 3 yıllık ehliyet gereklidir”).
3. Test Senaryosu Değerlendirmesi
-
Verilen Durum: Yaş: 27 (Lüks yaş şartı sağlandı: $27 \ge 27$).
Ehliyet Süresi: 2 Yıl 11 Ay (Lüks ehliyet şartı: En az 3 Yıl, yani 36 Ay).
-
Fiili Durum: Sürücünün 35 aylık ehliyeti vardır ($35 < 36$).
-
Beklenen Sonuç (Expected Result):
-
Lüks araç kiralama rezervasyonu reddedilmelidir.
-
Sistem kullanıcıyı yanıltmayacak netlikte bir hata mesajı sunmalıdır: “Lüks segment araçlar için en az 3 yıllık ehliyet süresi gereklidir. Dilerseniz Ekonomik segment araçlarımızı tercih edebilirsiniz.”
-
Kredi kartından rezervasyon provizyonu veya çekim yapılmamalıdır.
-
4. “Bir de Şöyle Düşün” (Kutu İçeriği)
💡 Bir de Şöyle Düşün: Lunaparktaki Boy Çizgisi ve Hızlı Tren
Lunaparktaki adrenalin treninin kapısında iki ayrı boy ölçme tahtası olduğunu hayal et:
120 cm Çizgisi: Çocuk trenine binmek için asgari boy.
140 cm Çizgisi: Dev hızlı trene binmek için asgari boy.
Boyu 139.5 cm olan bir çocuk hızlı tren sırasına girdiğinde kapıdaki görevli “Neredeyse 140’sın, yarım santimden bir şey olmaz” diyemez. Güvenlik kemerleri tam 140 cm’ye göre kalibre edilmiştir.
Sınır Değer Analizinde “neredeyse oldu” diye bir kavram yoktur. 2 Yıl 11 Ay, 3 yıl değildir. 1 gün veya 1 milimetre dahi eksik olsa sistem kapıyı kapatmalıdır. Kalite mühendisi o kapının ödünsüz kilit mekanizmasıdır.
5. Mini Alıştırma
Mülakat Sorusu: Karar tablosundaki K-1 kuralında “Yaş < 21 ise Ehliyet süresi kontrol edilmez (- / Fark etmez)” dedik.
Bir test uzmanı adayı olarak; sistem mimarisinin yaşı 20 olan bir kullanıcı için ehliyet süresine hiç bakmadan anında hata vermesine (yani ikinci şartı değerlendirmeden kestirmeden çıkmasına) yazılım mühendisliğinde ne ad verilir?
-
A) Exhaustive Testing (Tükenmez Test)
-
B) Short-Circuit Evaluation (Kısa Devre Mantıksal Değerlendirme)
Doğru Yanıt: B Seçeneği.
Yazılım dillerinde
VE (AND)operatörüyle bağlanan şartlarda, ilk şart yanlış (False) çıktığı anda bilgisayar diğer şartları kontrol etme gereği duymaz ve işlemi hemen sonlandırır. Buna Short-Circuit Evaluation (Kısa Devre Değerlendirme) denir. Karar tablolarında gereksiz sütunları birleştirmemizi sağlayan temel mantık da budur.