Ana içeriğe geç

Entegrasyon Testi

İngilizcesi
Integration Test
Türkçe karşılığı
tümleştirme testi
Okunuşu
intıgreyşın test

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/integration-test

Kısaca

Entegrasyon testi, kod, veritabanı ve API gibi bir sistemin birkaç parçasının birlikte doğru çalışıp çalışmadığını kontrol eden otomatik bir testtir.

Entegrasyon testi nedir?

Entegrasyon testi, bir sistemin iki ya da daha fazla bileşeninin doğru biçimde iş birliği yaptığını doğrular. Tek bir fonksiyonu yalıtarak test etmek yerine uygulama kodunuz ile bir veritabanı gibi ya da HTTP üzerinden konuşan iki servis gibi gerçek parçaları birbirine bağlar ve ortaya çıkan sonucu kontrol eder.

Tipik bir entegrasyon testi, çoğunlukla bir konteyner içinde çalışan bir test veritabanı gibi gerçek bağımlılıkları başlatır, ardından bir istek gönderir ya da bir servisi çağırır; hem yanıtı hem de tabloya eklenen yeni bir satır gibi yan etkileri kontrol eder. Bu testler gerçek altyapı kullandığı için birim testlerinden daha yavaştır. Ayrıca bir testin verisinin diğerini etkilememesi için dikkatli bir hazırlık ve temizlik gerektirirler.

Bir araba yaptığınızı düşünün: birim testleri motorun ve vites kutusunun ayrı ayrı çalıştığını kontrol eder, entegrasyon testi ise her şey birbirine cıvatalandığında motorun tekerlekleri gerçekten döndürdüğünü kontrol eder. Entegrasyon testleri, bileşenler arasındaki sınırlarda yaşayan sorunları yakalar: yanlış SQL sorguları, uyumsuz veri biçimleri, hatalı yapılandırılmış middleware ya da bozulmuş API sözleşmeleri gibi.

Entegrasyon testleri, birim testleri ile uçtan uca testlerin arasında yer alır. Uçtan uca testin aksine entegrasyon testi genellikle uygulamanın tamamını kullanıcı arayüzü üzerinden çalıştırmaz. Birkaç bileşene ve aralarındaki bağlantılara odaklanır.

Önemli noktalar

  • Entegrasyon testleri, birden fazla gerçek bileşenin birlikte çalıştığını kontrol eder.
  • Veritabanı sorguları, API sözleşmeleri ve yapılandırma gibi sınırlardaki hataları yakalarlar.
  • Gerçek bağımlılıklar kullandıkları için birim testlerinden yavaştırlar.
  • Her test, bağımsız kalmak için kendi verisini hazırlamalı ve temizlemelidir.

Örnek

Kodu gerçek bir bellek içi veritabanına karşı test etmekpython
import sqlite3

def save_user(db, name):
    db.execute("INSERT INTO users (name) VALUES (?)", (name,))

def find_user(db, name):
    return db.execute("SELECT name FROM users WHERE name = ?", (name,)).fetchone()

def test_save_and_find_user():
    db = sqlite3.connect(":memory:")  # a real database, kept in memory
    db.execute("CREATE TABLE users (name TEXT)")
    save_user(db, "Ada")
    assert find_user(db, "Ada") == ("Ada",)

Sık sorulan sorular

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

Entegrasyon testi, bir servis ve veritabanı gibi birkaç bileşenin birlikte çalıştığını kontrol eder. Uçtan uca test ise tam bir kullanıcı yolculuğunu, genellikle gerçek bir kullanıcı gibi arayüz üzerinden, uygulamanın tamamında kontrol eder.

Entegrasyon testleri gerçek bir veritabanı kullanmalı mı?

Genellikle evet, çünkü amaç gerçek bağlantıyı test etmektir. Pek çok ekip, sonuçların gerçekçi olması ve verinin testler arasında sıfırlanması için her test çalıştırmasında bir konteynerde tek kullanımlık bir veritabanı başlatır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar