6.5. Bölüm Sonu Uygulama Görevi (Hands-on Challenge)
Bölüm 6 boyunca elindeki hazır raylardan (senaryolu testlerden) çıkıp, bir kâşif titizliğiyle yazılımın karanlık dehlizlerinde iz sürmeyi öğrendin. Seans Bazlı Test Yönetimi (SBTM) ile zamanı nasıl kutulayacağını, Test Görev Belgesi (Charter) ile pusulanı nasıl ayarlayacağını ve Hata Tahmini (Error Guessing) ile yazılımcıların unuttuğu kör noktaları nasıl koklayacağını gördün.
Şimdi bu disiplini havayolu taşımacılığının en kaygan zeminlerinden birinde, canlı bir promosyon kampanyası üzerinde sahaya sürme vakti!
Görev Senaryosu: “Arkadaşını Getir, İkinci Bileti %50 İndirimle Al!”
Global bir uçak bileti rezervasyon platformu, yolcu sayısını artırmak amacıyla mobil uygulamasında yeni bir kampanya başlattı:
“Aynı uçuşa birlikte bilet alacak iki yolcudan ikincisinin biletine net %50 indirim uygulanır!”
Standart test senaryoları koşuldu: İki yetişkin yolcu seçildi, kampanya kodu girildi, %50 indirimin düştüğü görüldü ve yeşil yandı. Ancak canlıya çıkış öncesinde Test Liderin masana geldi ve şunu söyledi:
“Bu özelliğin etrafında dönen karanlık noktaları kimse araştırmadı. Senden 60 dakikalık odaklanmış bir Keşifçi Test seansı yürütmeni istiyorum.”
Senden İstenenler
-
Test Görev Belgesi (Charter) Hazırla: Bu seans için sınırları, hedefleri ve kapsam dışı alanları net bir biçimde belirleyen resmi bir Charter yaz.
-
Hata Tahmini (Error Guessing) Senaryoları Kurgula: Sistemin mantığını ve finansal hesaplamalarını altüst edebilecek en az 3 sıra dışı saldırı senaryosu üret.
-
Seans Notu (Session Sheet) Düzenle: 60 dakikanın sonunda Test Liderinin masasına koyacağın profesyonel bir seans karnesi hazırla.
🔍 Görev Çözüm Kılavuzu ve Referans Çizelgesi
Kendi çözümünü hazırladıktan sonra aşağıdaki kurumsal standart ile çalışmanı karşılaştır:
1. Test Görev Belgesi (Test Charter)
================================================================================
TEST GÖREV BELGESİ (TEST CHARTER)
================================================================================
Charter Kodu : CH-PROMO-FLIGHT-02
Hedef Modül : Mobil Rezervasyon > Yolcu Bilgileri ve Ödeme Ekranı
Seans Süresi : 60 Dakika (Time-Boxed)
Test Uzmanı : Kıdemli Aday / Test Mühendisi
GÖREV AMACI:
"Arkadaşını Getir" kampanyasında; farklı yolcu tipleri (bebek/çocuk/yetişkin),
farklı kabin sınıfları ve bilet iptal/iade kombinasyonları denenerek, sistemin
hatalı vergi/indirim hesaplama ve yarış durumu (race condition) açıklarını keşfetmek.
KULLANILACAK SALDIRI TAKTİKLERİ:
- Hata Tahmini (Error Guessing): Farklı para birimleri ve yaş grupları.
- Davranışsal Manipülasyon: Son ödeme aşamasında yolcu çıkarma/değiştirme.
KAPSAM DIŞI ALANLAR (OUT OF SCOPE):
- Banka Sanal POS 3D Secure SMS ekranları (zaman kaybını önlemek için mocklanacak).
- Koltuk seçim haritasındaki grafiksel animasyonlar.
================================================================================
2. Hata Tahmini Taktikleriyle Üretilen 3 Kritik Senaryo
-
Senaryo 1: Fiyat Asimetrisi ve Ters İndirim Tuzağı (Pahalı vs. Ucuz Bilet):
-
Uygulama: 1. Yolcuya “Ekonomi” sınıfı (2.000 TL), 2. Yolcuya (Arkadaşa) “Business” sınıfı (10.000 TL) bilet seçmek.
-
Aranan Risk: Sistem %50 indirimi ucuz olan 1. bilete mi (1.000 TL indirim), yoksa pahalı olan 2. bilete mi (5.000 TL indirim) uygulayacak? Sistem açığı kullanılarak Business biletler yarı fiyatına kapatılabilir mi?
-
-
Senaryo 2: Vergi ve Harç Ayrımı Körlüğü (Legal / Finans Riski):
-
Uygulama: Bilet tutarının 1.000 TL Taban Fiyat + 800 TL Havalimanı Alan Vergisi olduğu bir uçuş seçmek.
-
Aranan Risk: Havacılık mevzuatına göre devlet vergilerinden asla indirim yapılamaz; indirim sadece havayolu taban biletinden düşülmelidir. Yazılım %50 indirimi toplam tutardan mı düşüyor (1.800 TL’nin yarısı = 900 TL $\rightarrow$ Havayolu cepten vergi öder), yoksa sadece taban ücretten mi düşüyor (500 TL taban + 800 TL vergi = 1.300 TL)?
-
-
Senaryo 3: Sahte Arkadaş ile Bileti Teke Düşürme (İptal Açığı):
-
Uygulama: İki bilet %50 indirimli alındıktan hemen sonra, “Rezervasyon Yönetimi” ekranına gidip 1. tam biletli yolcuyu iptal etmek / iade istemek.
-
Aranan Risk: Sistem 1. yolcunun parasını tam iade edip, 2. yolcunun %50 indirimli biletle tek başına uçmasına göz yumuyor mu?
-
3. Seans Sonu Değerlendirme Raporu (Session Sheet)
================================================================================
SEANS RAPORU (SESSION SHEET)
================================================================================
Charter Kodu : CH-PROMO-FLIGHT-02
Başlangıç/Bitiş : 14:00 - 15:00 (Tam 60 Dakika)
ZAMAN DAĞILIMI (TBS METRİKLERİ):
- Test Hazırlığı & Veri Kurulumu (Setup) : %15 (9 Dakika - Farklı uçuş verileri açıldı)
- Saf Test Koşumu ve Keşif (Test) : %65 (39 Dakika)
- Hata İnceleme ve Log Toplama (Bug) : %20 (12 Dakika)
İZLENEN ROTALAR & BULGULAR:
1. Ekonomi + Business karma seçim denendi: Sistem %50 indirimi yanlışlıkla en yüksek
fiyatlı bilete (Business) uyguladı! (Devasa ticari kaçak tespit edildi).
2. Bebek yolcu (0-2 yaş) arkadaş olarak eklendi: Bebek zaten %90 indirimliyken sistem
bebeğin biletinden ekstra %50 daha düştü, bilet eksi bakiyeye dönüştü.
AÇILAN JIRA BİLETLERİ:
- [BUG-9402] [High/Critical]: İki farklı kabin sınıfı seçildiğinde %50 indirim kuralı
düşük fiyatlı bilet yerine pahalı bilete uygulanıyor.
- [BUG-9405] [Medium/Major]: Bebek yolcu seçildiğinde taban fiyat eksi değere düşüyor.
KALAN RİSKLER & ÖNERİLER:
Gidiş-Dönüş biletlerde gidişin kullanılıp dönüşün iptal edilmesi senaryosu
seans süresi bittiği için test edilemedi. Yarın için ek 45 dk seans önerilir.
================================================================================
4. “Bir de Şöyle Düşün” (Kutu İçeriği)
💡 Bir de Şöyle Düşün: Sinemadaki “Bir Bilet Alana İkincisi Bedava” Hilesi
Bir sinema gişesinde “1 bilet alana 2. bilet hediye” kampanyası olduğunu düşün:
Senaryolu Testçi: Arkadaşıyla gider. İki tane standart salon bileti ister, birini öder, diğerini bedava alır ve salona girer. Sistem tıkır tıkır çalışır.
Keşifçi Testçi (Error Guessing): Gişedeki personele şunu sorar: “Ben 150 TL’lik standart salona bilet alacağım, hediye olan 2. bileti ise 600 TL’lik VIP yataklı Gold Salondan istiyorum, verir misiniz?”
Gişedeki insan görevli “Olur mu öyle şey, hediye olan bilet ancak aynı salonda ve eşit veya daha düşük fiyatlıysa geçerlidir” der. Fakat bilgisayar koduna bu istisnayı yazmayı unuttuysanız, yazılım en pahalı bileti bedavaya verir! Keşifçi test; insanların suiistimal edebileceği bu tür mantık açıklarını yakalama sanatıdır.
5. Mini Alıştırma
Mülakat Sorusu: Yukarıdaki Seans Raporunda yer alan TBS (Setup %15 / Test %65 / Bug %20) dağılımını inceleyen bir Test Yöneticisi; test mühendisinin bu 60 dakikalık seansı verimli geçirip geçirmediğini nasıl yorumlar?
-
A) Verimsizdir; çünkü zamanın %100’ü yalnızca test koşmaya ayrılmalıydı, hazırlık ve log inceleme gereksizdir.
-
B) Oldukça dengeli ve sağlıklıdır; çünkü saf keşif süresi (%65) yüksek tutulmuş, hata analizi (%20) ve hazırlık (%15) kabul edilebilir ideal sınırlar içinde kalmıştır.
Doğru Yanıt: B Seçeneği.
SBTM literatüründe ideal bir seansın en az %60-70’i kesintisiz test koşumuna (Test) ayrılmalıdır. Setup (Hazırlık) süresinin %15-20’yi aşmaması seansın odağını koruduğunu; bulunan hataların loglanması için ayrılan %20’lik dilim ise testçinin tavşan deliğine düşmeden kanıt topladığını gösteren mükemmel bir denge göstergesidir.