Test Perspektifi
2025
jqy6dznsclassroom.google.com → Sınıfa katıl → kodu girin (bil.omu.edu.tr ile).
Bu dersin sonunda öğrenciler;


Geliştirme boyunca:
Test süreci şu adımlara bölünebilir:
Çalıştırma geçmişi esas olarak test yönetimi için tutulur; örnek alanlar:
Örnek: Hava koridoru kısıtları + hava durumu verisi ile “en iyi rota”yı bulan bir sistem
- “Gerçekten en iyi rota hangisi?” sorusunun cevabı her zaman net değildir.
Bu bölümde basit bir Venn diyagramı ile “neyi test ediyoruz?” sorusunu netleştireceğiz.
“Doğruluk”, sadece spesifikasyon + uygulama birlikte düşünülünce anlamlıdır.
İyi testçiler bu yüzden gereksinim/tasarım incelemelerine katılmalıdır.
Amaç: - S ∩ P ∩ T kesişimini (hepsi aynı anda) mümkün olduğunca büyütmek
Bu yüzden sadece bu yaklaşım yetmez; kod-temelli yaklaşımla tamamlanır.
Spesifikasyon-temelli (black-box) tekniklere örnekler:
Örnek risk: Spesifikasyonda yok ama kodda “gizli” davranış (örn. trojan benzeri)
Bir sistemde riskler şöyleyse:
Sizce test stratejisinde:
Kusurlar farklı açılardan sınıflandırılabilir:
Buradaki odak: Kusurun “anormallik olarak ortaya çıkma biçimi”.
Kusur (anormallik) şu biçimlerde görülebilir:
| Tür | Örnekler |
|---|---|
| Input | Doğru girdinin kabul edilmemesi |
| Input | Yanlış girdinin kabul edilmesi |
| Input | Açıklamanın yanlış veya eksik olması |
| Input | Parametrelerin yanlış veya eksik olması |
| Output | Yanlış format |
| Output | Yanlış sonuç |
| Output | Doğru sonucun yanlış zamanda gelmesi (çok erken/çok geç) |
| Output | Eksik veya hiç üretilemeyen sonuç |
| Output | Gereksiz/uygunsuz sonuç |
| Output | Yazım/dilbilgisi |
| Output | Kozmetik (görsel/biçimsel) |
| Mantık Kusurları |
|---|
| Eksik durum(lar) (missing case(s)) |
| Yinelenen durum(lar) (duplicate case(s)) |
| Aşırı uç koşulun göz ardı edilmesi (extreme condition neglected) |
| Yanlış yorumlama (misinterpretation) |
| Eksik koşul (missing condition) |
| Gereksiz koşul(lar) (extraneous condition(s)) |
| Yanlış değişkenin test edilmesi (test of wrong variable) |
| Yanlış döngü iterasyonu (incorrect loop iteration) |
| Yanlış operatör (örn. ≤ yerine <) (wrong operator) |
| Hesaplama Kusurları |
|---|
| Yanlış algoritma (incorrect algorithm) |
| Eksik hesaplama (missing computation) |
| Yanlış operand (incorrect operand) |
| Yanlış işlem (incorrect operation) |
| Parantez hatası (parenthesis error) |
| Yetersiz hassasiyet (yuvarlama/kesme) (insufficient precision) |
| Yanlış gömülü fonksiyon (wrong built-in function) |
| Arayüz Kusurları |
|---|
| Yanlış kesme yönetimi (incorrect interrupt handling) |
| G/Ç zamanlaması (I/O timing) |
| Yanlış prosedür çağrısı (call to wrong procedure) |
| Var olmayan prosedür çağrısı (call to nonexistent procedure) |
| Parametre uyumsuzluğu (tip/sayı) (parameter mismatch) |
| Uyumsuz tipler (incompatible types) |
| Gereksiz dahil etme (superfluous inclusion) |
| Veri Kusurları |
|---|
| Yanlış ilklendirme (incorrect initialization) |
| Yanlış depolama/erişim (incorrect storage/access) |
| Yanlış bayrak/indeks değeri (wrong flag/index value) |
| Yanlış paketleme/açma (incorrect packing/unpacking) |
| Yanlış değişken kullanımı (wrong variable used) |
| Yanlış veri referansı (wrong data reference) |
| Ölçek/birim hatası (scaling or units error) |
| Yanlış veri boyutu (incorrect data dimension) |
| Yanlış alt indis (incorrect subscript) |
| Yanlış tip (incorrect type) |
| Yanlış veri kapsamı (incorrect data scope) |
| Sensör verisi limit dışı (sensor data out of limits) |
| Bir eksik/bir fazla (off by one) |
| Tutarsız veri (inconsistent data) |
Spesifikasyon-temelli bakışta şu eşleşme özellikle nettir:
Genel kabul gören pratik ilişki:
Bu, “hangi bilginin o aşamada daha hazır olduğu” ile de ilgilidir.
Verilen ifadeyi yansıtacak şekilde bir Venn diyagramı çizin: “… yapmamız gerekeni yapmadık ve yapmamamız gerekeni yaptık …”
Aşağıdaki senaryo için S (tanımlı davranış), P (uygulanmış davranış) ve T (test edilmiş davranış) kümelerini düşünerek bir Venn diyagramı çizin ve hangi bölgelerde risk oluştuğunu belirtin:
Yazılım Test Süreçleri – OMÜ | 🏠