Yazılım Kalite Güvencesi, hangi perspektiften olursa olsun yazılımda kalitenin sağlanması için yazılım mühendisliği süreçlerinde uygulanan bir dizi faaliyet olarak tanımlanabilir.
Bu faaliyetler sonunda yazılım ürünlerinde kaliteye neden olur.
Yazılım mühendisliği içerisinde yer alan ve kaliteye neden olan faaliyetler:
Süreç tanımlama ve uygulanma
Denetleme ve
Eğitim
Süreç Tanımlama ve Uygulama:
Kaliteli yazılımlar geliştirmek için aşağıdaki süreçler ve yaklaşımlar tanımlanabilir:
Yazılım Geliştirme Süreci
Proje Yönetim Süreci
Konfigürasyon yönetim süreci
Gereksinim Geliştirme / Yönetim Süreci (bu süreç iş analizi süreci olarak da tanımlanabilir)
Yazılım Test süreci (bu süreç doğrulama (verification) ve onaylama (validation) süreci olarak da tanımlanabilir)
Risk Yönetim Süreci vb
Süreçlerin tanımlanması yazılımda kalite için atılan ilk adımdır. Bundan sonra kalitenin sağlanması bu süreçlerin doğru şekilde uygulanmasını gerektirir. Bu nedenle kalite güvence denilince aklımıza aşağıdaki görevler gelir:
Süreçlerin tanımlanması süreçlerdeki zayıflıkları belirleyebilecek
Süreci sürekli iyileştirmek için bu zayıf yönleri düzeltin
Yazılım sisteminin oluşturulduğu kalite yönetim sistemi normal olarak CMMI Altı Sigma ISO 9000 gibi modellerden / standartlardan bir veya daha fazlasına dayanmaktadır.
Kalite yönetimi için birçok başka model / standart vardır, ancak yukarıda belirtilenler en popüler modellerdir.
Yazılım Kalite Güvencesi tüm yazılım geliştirme yaşam döngüsünü kapsar ve amaç, spesifikasyon / gereksinimi karşılayan ürünler üretmek için geliştirme ve / veya bakım süreçlerinin sürekli geliştirilmesini sağlamaktır.
Yazılım Kalite Kontrol Süreci (SQC) de Yazılım Kalite Güvencesi (SQA) tarafından yönetilmektedir. SQA genellikle sadece KG’ye kısaltılır.