Kalite Güvencesi
QA
- İngilizcesi
- Quality Assurance
- Okunuşu
- kualıti ışurıns
Günlük kullanımda iki ad da yaygın.
Kısaca
Kalite güvencesi (QA), yazılımın gereksinimlerini karşılayıp güvenilir çalışmasını sağlayan uygulamalardır; hataları yalnızca bulmayı değil, önlemeyi amaçlar.
Yazılımda kalite güvencesi (QA) nedir?
Test etmek bir ürünün çalışıp çalışmadığını kontrol eder; kalite güvencesi ise ekibin ürünleri çalışacak şekilde nasıl geliştirdiğini sorar. QA bütün süreci kapsar: test edilebilir gereksinimler yazmak, tasarımları ve kodu incelemek, bir tamamlanma tanımında (definition of done) anlaşmak, testleri otomatikleştirmek, sürümleri kontrol etmek ve kullanıcılara ulaşan hatalardan ders çıkarmak. Birçok şirkette QA aynı zamanda testleri planlayıp yürüten ve kaliteyi savunan QA mühendisi rolünün adıdır.
Güvence ile kontrol arasındaki ayrım işe yarar. Kalite kontrol (QC), bitmiş bir işteki hataları bulur; örneğin bir sürüm adayını test ederek. Kalite güvencesi ise onu üreten süreci iyileştirir; böylece en baştan daha az hata oluşur. İkisine de ihtiyaç vardır; modern ekipler de onları son bir aşama gibi görmek yerine günlük işlerine harmanlar.
Bu harmanlamaya çoğu zaman sola kaydırma (shift left) denir: test uzmanlarını erkenden işe katmak, otomatik testleri kodla birlikte yazmak, bunları CI'da her commit'te çalıştırmak, production'daki sorunların hızla fark edilip sınırlanması için de izleme ve feature flag'ler eklemek. İnsanların yaptığı keşif testleri hâlâ önemlidir, çünkü insanlar betiklenmiş kontrollerin kaçırdığı kafa karıştırıcı davranışları fark eder.
Sık yapılan bir yanlış, kalitenin QA ekibinin işi olduğunu düşünmektir. Geliştiriciler kodu kontrol edilmesi için ayrı bir ekibe devrettiğinde hatalar geç bulunur ve düzeltmeleri pahalıya patlar. Kalite ortaktır: geliştiriciler kodlarının testlerinden, ürün yöneticileri net gereksinimlerden sorumludur; QA uzmanları da bütün ekibe test uzmanlığı ve stratejisi getirir.
Önemli noktalar
- QA, yazılımın gereksinimlerini karşılamaya devam etmesini sağlayan uygulamalar bütünüdür.
- Hataları yalnızca bulmayı değil, önlemeyi amaçlar.
- Kalite kontrol ürünü kontrol eder; kalite güvencesi süreci iyileştirir.
- Sola kaydırın: erken test edin, CI'da otomatikleştirin ve production'ı izleyin.
- Kalite yalnızca bir QA biriminin değil, bütün ekibin işidir.
Sık sorulan sorular
QA ile test arasındaki fark nedir?
Test tek bir faaliyettir: yazılımın beklendiği gibi davranıp davranmadığını kontrol etmek. QA ise daha geniştir ve gereksinimler, incelemeler, standartlar, otomasyon ve sürekli iyileştirme dahil kaliteye götüren bütün süreci kapsar.
QA mühendisi ne yapar?
Test stratejileri planlar, elle ve otomatik testler yazıp çalıştırır, hataları raporlar ve takip eder, gereksinimleri test edilebilirlik açısından inceler ve ekibin kaliteyi geliştirme sürecine yerleştirmesine yardım eder.
QA ile QC arasındaki fark nedir?
Kalite kontrol (QC), hataları bulmak için çıktıyı inceler. Kalite güvencesi (QA) ise hataların yapılmasını önlemek için süreç üzerinde çalışır. QC ürünle, QA onun geliştirilme biçimiyle ilgilidir.
İlgili sayfalar
- Test OtomasyonuTest ve Kalite, s. 32Test otomasyonu, testleri kodla çalıştırıp sonuçları denetlemektir; böylece aynı kontroller elle değil, her değişiklikte hızlı ve tutarlı biçimde tekrarlanır.
- Test CaseTest ve Kalite, s. 28Test case, belirli bir davranışın kontrolüdür: başlangıç koşulları, girdi ya da adımlar ve yazılımın doğru davranıp davranmadığını gösteren beklenen sonuç.
- Regresyon TestiTest ve Kalite, s. 21Regresyon testi, daha önce çalışan özelliklerin bozulmadığından emin olmak için bir kod değişikliğinden sonra mevcut testleri yeniden çalıştırma pratiğidir.
- Keşif TestiTest ve Kalite, s. 14Keşif testi, test uzmanının yazılım hakkında öğrenip testleri tasarlayarak aynı anda çalıştırdığı ve bulduklarının yönlendirdiği, uygulamalı bir yaklaşımdır.
- Code ReviewSürüm Kontrolü, s. 4Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
- Definition of DoneEkipler ve Süreç, s. 8Definition of Done, bir işin ekip tarafından tamamlanmış sayılabilmesi için karşılaması gereken kalite standartlarının ortak kontrol listesidir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin