Yazılım geliştirme sürecinde test denildiğinde çoğu zaman akla yalnızca kodun tamamlanmasının ardından başlayan bir kontrol aşaması gelir. Ancak ISTQB Foundation Level müfredatının ikinci bölümü incelendiğinde, bu algının gerçeği tam olarak yansıtmadığı görülmektedir. Test süreci, yazılım geliştirme yaşam döngüsünün (YGYD) ayrı bir aşaması değil, sürecin baştan sona eşlik eden bir parçasıdır.
Geliştirme Modeli Test Sürecini Şekillendirir
Bu noktada devreye giren kavram YGYD (Software Development Lifecycle) yaklaşımlarıdır:
- Sıralı modeller → Şelale Modeli, V-Model
- Döngüsel modeller → Spiral Model, Prototipleme
- Artımlı modeller → Unified Process
Sıralı modellerde test uzmanları erken aşamalarda gereksinim gözden geçirme ve test tasarımına dahil olurken, çalıştırılabilir kod geç ortaya çıktığı için dinamik testler de gecikmektedir. Döngüsel ve artımlı modellerde ise her iterasyonda hem statik hem dinamik testler tekrarlanabilir hale gelir.
Çevik (Agile) yaklaşımlar ise farklı bir boyut kazandırır: sık teslimat, hızlı geri bildirim ve yoğun test otomasyonu bu modelin belirleyici unsurlarıdır.
Test Artık Geliştirmeyi Yönlendirebiliyor
Testin yalnızca kontrol eden bir taraf olmaktan çıkıp geliştirme sürecini yönlendiren bir unsura dönüşmesi, bu bölümün en dikkat çekici kısmı:
| Yaklaşım | Mantık |
|---|---|
| TDD | Kod yazılmadan önce test hazırlanır |
| ATDD | Testler kabul kriterlerinden türetilir |
| BDD | Davranış Given–When–Then formatıyla ifade edilir |
DevOps ve Shift-Left
DevOps yaklaşımı test süreçlerini merkezi bir konuma taşır:
- CI/CD sayesinde kod kalitesi hakkında hızlı geri bildirim
- Shift-left yaklaşımının desteklenmesi
- Regresyon testlerinin otomatikleştirilmesi
Önemli bir yanılgı: DevOps’un yaygınlaşması manuel testin ortadan kalkacağı anlamına gelmez. Özellikle kullanıcı deneyimine dayalı testlerde manuel değerlendirme hâlâ vazgeçilmezdir. 5 Test Seviyesi
Müfredat, en küçük parçadan gerçek kullanıcı deneyimine kadar genişleyen beş seviye tanımlar:
- Bileşen Testi
- Bileşen Entegrasyon Testi
- Sistem Testi
- Sistem Entegrasyon Testi
- Kabul Testi → kendi içinde çeşitlenir: Kullanıcı Kabul Testi, Operasyonel Kabul Testi, Sözleşmesel Kabul Testi, Düzenleyici Kabul Testi, Alpha ve Beta testleri
Onaylama Testi vs Regresyon Testi
Sıkça karıştırılan iki kavram:
- Onaylama Testi (Confirmation Testing): “Bu hata gerçekten düzeldi mi?”
- Regresyon Testi (Regression Testing): “Bu düzeltme başka bir şeyi bozdu mu?”
Regresyon testlerinin tekrarlanan doğası, bu testleri otomasyon için güçlü bir aday haline getirmektedir.
Bakım Testleri
Bakım süreci yalnızca hata düzeltmekten ibaret değildir:
- Ortam değişikliklerine uyum sağlama
- Performans iyileştirmeleri
- Sistemin kullanım dışına çıkarılması
Bu içerik, hazırladığım ISTQB Foundation Level not serisinin kısa bir özetidir.
Yazının detaylı halini ve serinin devamını Medium hesabımda, kısa ve özet teknik versiyonlarını ise Siber Havadis üzerinden paylaşmaya devam edeceğim.
