Mühendislik ve çeşitli alt disiplinlerinde kabul testi, bir şartnamenin ve ya sözleşmenin gerekliliklerinin karşılanıp karşılanmadığını belirlemek için yapılan bir testtir.
Yazılım mühendisliğinde, Uluslararası Yazılım Test Yeterlilik Kurulu(ISTQB) kabul testini şu şekilde tanımlar:
Bir sistemin kabul kriterlerini karşılayıp karşılamadığını belirlemek ve kullanıcının, müşterilerin ve ya diğer yetkili birimin sistemi kabul edip etmeyeceğini belirlemek için gerçekleştirilen kullanıcı ihtiyaçları, gereksinimleri ve iş süreçleri ile ilgili testlerdir.
Kabul testi aynı zamanda kullanıcı kabul testi (UAT), son kullanıcı testi, operasyonel kabul testi (OAT), kabul testine dayalı geliştirme (ATTD) ve ya alan (kabul) testi olarak da bilinir. Kabul kriterleri, bir sistem veya bileşenin kullanıcı, müşteri ve ya diğer yetkili bir kurum tarafından kabul edilebilmesi için yerine getirmesi gereken kriterlerdir.
Bir Smoke Test, ana test sürecine bir yazılım inşa etmeden önce bir kabul testi olarak kullanılabilir.
Test, test edilen bir ve ya daha fazla öğenin özelliklerinin keşfedilmesini ve değerlendirilmesini kolaylaştırmak için yürütülen bir dizi faaliyettir. Test durumu olarak bilinen her bir test, test hedeflerini karşılamak için test öğesinin yürütülmesini sağlamak için geliştirilmiş bir dizi önceden tanımlanmış test etkinliği gerçekleştirir. Doğru uygulama, hata tanımlama, kalite doğrulama ve bunlara ek diğer değerli detaylar. Test ortamı genellikle beklenen üretim ortamıyla aynı ve ya mümkün olduğunca yakın olacak şekilde tasarlanmıştır. Yazılım testini gerçekleştirmek için kullanılan tüm donanımı, yazılımı, prosedürleri ve belgeleri içerir.
UAT ve OAT test senaryoları, ideal olarak ticari müşteriler, iş analistleri, test uzmanları ve geliştiricilerle işbirliği içinde türetilir. Bu testlerin hem iş mantığı testlerini hem de çalışma ortamı koşullarını içermesi önemlidir. Ticari müşteriler (ürün sahipleri) bu testlerin ana paydaşlarıdır. Test koşulları kabul kriterlerini başarıyla yerine getirdikçe, paydaşların gelişimin doğru yönde ilerlediğine dair güvence verilmektedir.
Kullanıcı kabul testi (UAT) kriterleri (çevik yazılım geliştirmede) genellikle ticari müşteriler tarafından oluşturulur ve bir işletme etki alanı dilinde ifade edilir. Bunlar, bir sprint sırasında bir kullanıcı hikayesinin ve ya “oynatılan” hikayelerin eksiksizliğini doğrulamak için üst düzey testlerdir.
Operasyonel kabul testi (OAT) kriterleri (metodoloji kullanımına bakılmaksızın) fonksiyonel ve fonksiyonel olmayan gereksinimler açısından tanımlanır; işlevsel istikrar, taşınabilirlik ve güvenilirlik gibi temel kalite özelliklerini kapsar.
Tüm test senaryoları tek bir test iterasyonunda yürütülemeyebileceğinden, kabul test paketinin birden çok kez gerçekleştirilmesi gerekebilir.
Kabul test paketi, test vericilerini hangi verilerin kullanılacağını adım adım izlenecek süreçleri ve yürütülmesini takiben beklenen sonucu yönlendirmek için önceden tanımlanmış kabul testi prosedürleri kullanılarak çalıştırılır. Gerçek sonuçlar beklenen sonuçlarla karşılaştırılmak üzere korunur. Gerçek sonuçlar her test durumu için beklenen sonuçlarla eşleşirse test durumunun geçtiği söylenir. Geçmeyen test senaryolarının miktarı projenin önceden belirlenmiş eşiğini ihlal etmezse, test takımının geçtiği söylenir. Böyle bir durumda, sistem daha önce müşteri ile üretici arasında kararlaştırılan şartlarda reddedilebilir ve ya kabul edilebilir.
Başarılı bir test uygulamasının beklenen sonucu
- Önceden belirlenmiş veriler kullanılarak test senaryoları yürütülür
- Gerçek sonuçlar kaydedilir
- Gerçek ve beklenen sonuçlar karşılaştırılır ve
- Test sonuçları belirlenir.
Amaç, geliştirilen ürünün hem işlevsel hem de işlevsel olmayan gereksinimleri karşıladığına dair güven sağlamaktır. Kabul testinin amacı, tamamlandığında ve kabul kriterlerinin karşılanması koşuluyla, ürün geliştirmede tanımlanan gereksinimleri üreticinin yerine getirmesi beklenir.