# Kabul Testi

Adres: https://softwaredictionary.org/tr/terimler/acceptance-testing
Kategori: Test ve Kalite
Son güncelleme: 2026-09-30
İngilizcesi: Acceptance Testing
Okunuşu: ıkseptıns testing

Kısaca: Kabul testi, yazılımın kullanıcılarla ya da müşterilerle anlaşılan gereksinimleri karşılayıp karşılamadığını kontrol eder; ekip sürüm kararını buna göre verir.

## Kabul testi nedir?

Kabul testi, bir özelliğin ya da sistemin bütününün kullanıcıların, müşterilerin veya iş sahiplerinin gerçekten istediği şeyi yaptığını doğrular. Bir fonksiyonun doğru değeri döndürüp döndürmediğinden çok, ekibin doğru şeyi inşa edip etmediği sorusunu yanıtlar. Kontroller genellikle doğrudan bir kullanıcı hikâyesinin kabul kriterlerinden, bir gereksinim belgesinden ya da bir sözleşmeden gelir.

İki geniş biçimi vardır. Otomatik kabul testleri, geliştiriciler ya da test uzmanları tarafından sistemin UI ya da API gibi genel arayüzüne karşı yazılır ve CI/CD hattında çalışır; her test üzerinde anlaşılmış tek bir gereksinime karşılık gelir. Kullanıcı kabul testi (UAT) ise gerçek kullanıcılar, müşteriler ya da Product Owner tarafından yapılır; yazılımı bir staging ortamında dener ve sürümden önce resmen onay verirler. Bazı sektörler alfa ve beta testini ya da yedeklemeleri, izlemeyi ve kurtarmayı kontrol eden operasyonel kabul testini de ekler.

Yeni bir ev almadan önceki son gezintiye benzer: alıcı evi, boruların nasıl lehimlendiğine değil, vaat edilene göre, örneğin üç yatak odası ve çalışan ısıtma gibi, kontrol eder. Ekipler kabul testlerini bir sprint sonunda, büyük bir sürümden önce ya da bir sözleşme kapsamında geliştirilen yazılımı teslim etmeden önce çalıştırır.

Kabul testi sıklıkla uçtan uca testle karıştırılır. Uçtan uca, bir testin kapsamını, yani tüm sistemin gerçek arayüzü üzerinden çalıştırılmasını tanımlar; kabul ise amacını, yani bir gereksinimi kullanıcının bakış açısından kontrol etmeyi tanımlar. Pek çok kabul testi uçtan uca testtir, ancak bir kabul testi bir API'yi ya da servis katmanını doğrudan da çağırabilir. Kabul kriterlerinden de farklıdır: kriterler koşullardır, kabul testleri ise bunları doğrulayan kontrollerdir.

## Önemli noktalar

- Kabul testi, yazılımı üzerinde anlaşılan kullanıcı veya iş gereksinimlerine göre kontrol eder.
- Otomatik kabul testleri genellikle bir testi bir kabul kriterine eşler.
- Kullanıcı kabul testi (UAT), onaydan önce gerçek kullanıcılar veya müşteriler tarafından yapılır.
- Uçtan uca bir testin kapsamını, kabul ise amacını tanımlar.

## Örnek: Bir hikâyenin kriterlerinden yazılan otomatik kabul testleri

```python
# Story: "As a shopper, I get free shipping on orders of $50 or more."
# Each test checks one acceptance criterion through the public API.

def test_orders_of_50_dollars_or_more_ship_free(api):
    cart = api.create_cart(items=[{"sku": "BOOK-1", "price": 50.00}])
    assert api.checkout(cart).shipping_cost == 0

def test_orders_under_50_dollars_pay_standard_shipping(api):
    cart = api.create_cart(items=[{"sku": "PEN-1", "price": 12.00}])
    assert api.checkout(cart).shipping_cost == 4.99
```

## Sık sorulan sorular

**UAT nedir?**

UAT, user acceptance testing (kullanıcı kabul testi) ifadesinin kısaltmasıdır. Gerçek kullanıcılar, müşteriler ya da temsilcileri bitmiş yazılımı gerçekçi bir ortamda dener ve yayına girmeden önce işlerini desteklediğini onaylar.

**Sistem testi ile kabul testi arasındaki fark nedir?**

Sistem testi, tüm sistemin teknik şartnamesini karşıladığını kontrol etmek için geliştirme veya QA ekibi tarafından yapılır. Kabul testi aynı sisteme kullanıcının ya da işin bakış açısından bakar ve sürüme çıkmaya uygun olup olmadığına karar verir.

**Kabul testlerini kim yazar?**

Kriterler Product Owner, geliştiriciler ve test uzmanları tarafından birlikte belirlenir. Genellikle geliştiriciler ya da test uzmanları bunları otomatikleştirir; kullanıcı kabul testi ise kullanıcıların ya da müşterilerin kendileri tarafından yapılır.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
