
Yazılım testi (Software Testing) ve kalite güvence (Quality Assurance – QA), yazılım geliştirme sürecinde kaliteyi sağlamak için kullanılan iki kritik süreçtir.
- Kalite Güvence (QA): Hata oluşumunu önlemeye yönelik bir süreçtir. QA, yazılım geliştirme sürecinin tamamında uygulanır ve süreçlerin düzgün işlediğini garanti altına almak için standartlar, prosedürler ve denetimler içerir.
- Yazılım Testi: Geliştirilen yazılımın, beklenen gereksinimleri karşılayıp karşılamadığını doğrulamak için yapılan bir süreçtir. Yazılımın hatalarını (bug) tespit etmek için manuel veya otomatik test teknikleri kullanılır.
Kriter | Kalite Güvence (QA) | Yazılım Testi |
![]() | ![]() | |
Tanım | Kaliteyi sağlamak için süreçleri ve standartları belirler. | Yazılımın hatalarını bulmak için yapılan teknik işlemler. |
Odak Noktası | Süreç ve önleyici tedbirler üzerine odaklanır. | Ürün ve hata tespiti üzerine odaklanır. |
Amaç | Hataları oluşmadan önce önlemek. | Hataları bulmak ve düzeltmek. |
Ne Zaman Uygulanır? | Geliştirme sürecinin her aşamasında uygulanır. | Geliştirme sonrası ve dağıtımdan önce uygulanır. |
Kimler Sorumlu? | QA mühendisleri, proje yöneticileri. | Test mühendisleri, geliştiriciler. |
Yaklaşım | Proses odaklı, hata oluşmasını önlemeye çalışır. | Ürün odaklı, mevcut hataları tespit etmeye çalışır. |
Örnekler | Kod incelemesi, süreç denetimi, dokümantasyon kontrolü. | Manuel ve otomatik testler, hata raporlama, kullanıcı kabul testi. |
Örnekler:
- Kalite Güvence Örneği:
- Bir şirket, yazılım geliştirme sürecinde tüm kodların kod incelemesine (code review) tabi tutulmasını zorunlu kılar. Bu süreç, daha test aşamasına gelmeden hataların önlenmesine yardımcı olur.
- Yazılım Testi Örneği:
- Bir e-ticaret sitesinde, kullanıcıların sepete ürün ekleyip sipariş verip veremediğini kontrol eden testler yazılır. Bir hata bulunursa düzeltilir.
- Aralarındaki İlişki:
- Kalite güvence, yazılım testi süreçlerini düzenleyen ve testlerin etkin çalışmasını sağlayan bir çerçeve sunar. Eğer bir firmada QA süreçleri eksikse, testler eksik çalışabilir ve kullanıcılar hatalı bir yazılım ile karşılaşabilir.