Yazılım Geliştirme Yaşam Döngüsünde Testin Yeri
- Melih Can Demirtel

- 28 May
- 2 dakikada okunur
Güncelleme tarihi: 8 Ağu
Yazılım Geliştirme Yaşam Döngüsü Nedir?
Yazılım geliştirme yaşam döngüsü (Software Development Life Cycle – SDLC), yazılımın nasıl geliştirileceğini, sürdürüleceğini ve iyileştirileceğini tanımlayan yapılandırılmış bir süreçtir. Temel amacı; kaliteli bir yazılım ürünü oluşturmak için izlenecek adımları, roller arasındaki iş birliğini ve zamanlamayı belirlemektir.
Bu yaşam döngüsünde testin uygulanma şekli, büyük ölçüde kullanılan model türüne göre değişiklik gösterir. Örneğin sıralı (sekansiyel) modeller ile çevik (agile) modeller arasında testin yeri ve zamanı bakımından önemli farklılıklar vardır. Üstelik bir organizasyon içinde birden fazla ürün farklı geliştirme modelleriyle ilerleyebilir. Her proje için en iyi model farklılık gösterebilir; bu nedenle model, projenin doğasına uygun şekilde seçilmeli ve gerektiğinde uyarlanmalıdır.

Geliştirme Yaşam Döngüsü Modelleri
Sıralı Modeller
Waterfall (Şelale)
V Model
W Model
Bu modellerde süreç adım adım ilerler. Her aşama, bir sonraki başlamadan önce tamamlanmalıdır. Örneğin: Analiz → Tasarım → Geliştirme → Test → Yayın.
Yinelemeli ve Artımlı Modeller
Çevik (Agile)
Spiral Model
Bu modellerde yazılım, parça parça ve döngüsel olarak geliştirilir. Her teslimat (artım) küçük ama çalışabilir bir ürün ortaya çıkarır ve geri bildirim doğrultusunda geliştirme tekrarlanır.
Testin Tüm Modellerdeki Yeri ve Önemi
Model ne olursa olsun aşağıdaki prensipler tüm projeler için geçerlidir:
Her geliştirme faaliyetiyle eşleşen bir test faaliyeti bulunur.
Her test seviyesi, kendine özgü hedeflere sahiptir.
Test analizi ve test tasarımı, ilgili geliştirme faaliyetleriyle paralel şekilde başlamalıdır.
Test uzmanları, dokümantasyon hazırlandığında mümkün olan en erken aşamada gözden geçirme sürecine dahil edilmelidir.
Doğrulama (Verification) ve Onaylama (Validation)
Yazılım testinin bir doğrulama ve onaylama süreci olduğundan bahsetmiştik:
Doğrulama: Ürün doğru şekilde geliştirildi mi? (Doğru şekilde yapıldı mı?)
Onaylama: Doğru ürün mü geliştirildi? (Doğru şeyi mi yaptık?)
Bu iki temel soruya yanıt ararken kullanılan test türleri farklılık gösterir. Aşağıdaki gibi özetleyebiliriz:
Test Türü | Amacı | Kapsam |
Birim Testi, Entegrasyon Testi | Doğrulama | Sistem doğru şekilde mi geliştirildi? |
Kullanıcı Kabul Testi (UAT), Kullanılabilirlik Testi | Onaylama | Kullanıcı doğru ürünü mü alıyor? |

Bazı testler yalnızca doğrulama ya da yalnızca onaylamaya hizmet ederken, bazıları her ikisine de katkı sağlayabilir. Örneğin, bir kullanıcı arayüzü testinde hem doğru tasarımı hem de kullanıcı ihtiyaçlarını değerlendirebilirsiniz.
Sıralı Modellerin Özellikleri
Tüm sistem tek seferde geliştirilir.
Her aşama bitmeden sonraki başlatılamaz.
Belgeler ve çıktılar her adım sonunda netleşir.
Test süreci genellikle geliştirme tamamlandıktan sonra başlar.
Bu yöntem daha planlı ve tahmin edilebilirdir, ancak değişikliklere karşı daha az esneklik sunar.
Artımlı ve Yinelemeli Modellerin Özellikleri
Yazılım parçalara (artımlara) bölünerek geliştirilir.
Her artımda analiz, tasarım, kodlama ve test döngüsü tekrarlanır.
İlk teslimat genellikle temel işlevleri içerir; sonraki teslimatlarla özellikler genişletilir.
Müşteriden alınan geri bildirimler doğrultusunda yön değiştirilebilir.
Örnek:
1. Artım → Giriş ekranı + Kullanıcı kaydı
2. Artım → Profil yönetimi + E-posta doğrulama
3. Artım → Şifre sıfırlama + Bildirim sistemi
Yinelemeli modelde, her özellik seti sabit bir sürede geliştirilir. Her döngü sonunda çalışan bir yazılım sunulur ve bu döngüler sırasında test süreci de aktif şekilde ilerler. Bu yaklaşım, test mühendislerinin geliştirme sürecine sürekli entegre olmasını sağlar.
Yazılım geliştirme sürecinde hangi modeli kullanırsak kullanalım, testin proaktif bir rol oynaması gereklidir. Test, yalnızca son aşamada yapılan bir kalite kontrol faaliyeti değil, yazılımın her adımında katkı sunan stratejik bir bileşendir. Testlerinizde başarılı sonuçlar almanız dileğiyle.


Yorumlar