# Entegrasyon Testi vs Uçtan Uca Test

Adres: https://softwaredictionary.org/tr/karsilastirma/integration-test-vs-end-to-end-test
Son güncelleme: 2026-10-06

Kısaca: Entegrasyon testi, kod ve veritabanı gibi birkaç bileşenin birlikte çalıştığını denetler; uçtan uca test ise tüm uygulamada tam bir kullanıcı akışı yürütür.

## Entegrasyon testi ile uçtan uca test arasındaki fark nedir?

Entegrasyon testi, bir sistemin iki ya da daha fazla parçasının doğru şekilde birlikte çalıştığını doğrular: bir API rotası ile veritabanı, bir servis ile bir mesaj kuyruğu ya da HTTP üzerinden konuşan iki servis gibi. Uçtan uca (E2E) test ise kayıt olmak ya da ödeme yapmak gibi eksiksiz bir görevi bir kullanıcının yaptığı gibi denetler; genellikle çalışan uygulamada gerçek bir tarayıcıyı yöneterek arayüzden veritabanına ve geri gider.

Fark kapsamdadır. Entegrasyon testi kodu ya da bir endpoint'i doğrudan çağırır, yalnızca ihtiyaç duyduğu parçaları, çoğu zaman bir container içindeki test veritabanını kurar ve bir yanıt ile tablodaki yeni bir satır gibi sonuçları denetler. E2E test ise bütün sistemi production'a yakın bir ortamda başlatır ve ekranda neyin göründüğünü denetler; böylece ön yüzdeki, yapılandırmadaki ve servisler arasındaki bağlantılardaki sorunları da yakalar.

Bu daha geniş erişimin bir bedeli vardır. E2E testlerin her biri saniyeler ya da dakikalar sürer, eksiksiz bir ortam gerektirir ve zamanlama ya da test verisi gibi değişiklikle ilgisiz nedenlerle daha sık başarısız olur. Entegrasyon testleri daha hızlıdır ve hata ayıklaması daha kolaydır, çünkü bir başarısızlık daha küçük bir alanı işaret eder. Test piramidi tabana çok sayıda birim testi, ortaya daha az entegrasyon testi, tepeye de en kritik akışlar için az sayıda E2E test koyar.

Sık yapılan bir yanlış, E2E testlerin daha çok şeyi kapsadıkları için entegrasyon testlerinin yerini alabileceğini düşünmektir. Bir akışın çalıştığını kanıtlarlar, ama biri başarısız olduğunda sorunun nerede olduğunu nadiren söylerler; iyi bir test paketi ikisini de kullanır. Terimler pratikte de karışır: tamamen deploy edilmiş bir sisteme karşı tarayıcı olmadan çalışan bir API testine bazı ekipler entegrasyon testi, bazıları uçtan uca test der.

| Özellik | Entegrasyon Testi | Uçtan Uca Test |
| --- | --- | --- |
| Kapsam | Birkaç bileşen ve aralarındaki bağlantılar | Arayüzden veritabanına bütün uygulama |
| Giriş noktası | Bir fonksiyon, modül ya da API endpoint'i | Gerçek ya da headless bir tarayıcı üzerinden kullanıcı arayüzü |
| Ortam | Yalnızca gereken parçalar; çoğu zaman bir container içinde veritabanı | Production'a yakın, eksiksiz bir kurulum |
| Hız | Test başına milisaniyeler ile saniyeler | Test başına saniyeler ile dakikalar |
| Sayısı | Çok; test piramidinin ortasında | Az; en kritik akışlar için |
| Başarısız olduğunda | Küçük bir alanı işaret eder | Bir akışın bozulduğunu gösterir, ama tam olarak nerede olduğunu değil |
| Kararsızlık (flakiness) | Düşük ile orta arası | Bütün test türleri arasında en yüksek |
| Tipik araçlar | Testcontainers ile Jest, pytest ya da JUnit | Playwright, Cypress ya da Selenium |

## Entegrasyon Testi şu durumlarda doğru seçim

- Kodunuzun bir veritabanı, kuyruk ya da API ile doğru konuştuğunu denetlemek istiyorsunuz.
- Hatalar ve uç durumlar dahil pek çok durum için hızlı geri bildirim gerekiyor.
- Doğrudan bozuk sınırı işaret eden başarısızlıklar istiyorsunuz.

## Uçtan Uca Test şu durumlarda doğru seçim

- Giriş, kayıt ya da ödeme gibi iş açısından kritik bir akış var.
- Ön yüzün, arka yüzün ve yapılandırmanın birlikte çalıştığının kanıtına ihtiyacınız var.
- Hiç görünmeyen bir buton gibi yalnızca gerçek bir tarayıcının gösterdiği sorunları yakalamak istiyorsunuz.

## Sık sorulan sorular

**API testi entegrasyon testi mi, uçtan uca test mi?**

Kapsama bağlı. Bir test veritabanıyla çalışan tek bir servisi çağıran test bir entegrasyon testidir; deploy edilmiş her servisten bir istemcinin geçeceği gibi geçen test ise uçtan uca teste daha yakındır, yalnızca tarayıcısızdır.

**Kaç tane uçtan uca testim olmalı?**

Az: bozulduğunda en çok zarar verecek giriş ve ödeme gibi akışları kapsayacak kadar. Geri kalan her şeyi birim ve entegrasyon testleriyle denetlemek daha ucuz ve daha güvenilirdir.

**Entegrasyon testleri harici servisleri mock'lamalı mı?**

Size ait olmayanı, örneğin bir ödeme sağlayıcısını mock'layın; veritabanınız gibi size ait olan için gerçeğini kullanın. Bu gerçek bağlantıyı test etmek, entegrasyon testinin asıl amacıdır.

---

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