İçeriğe geç
parazade

Entegrasyon Testi Nedir?

İngilizce: Integration Testing

Yayın: · Son güncelleme:

Entegrasyon Testi Nedir? Kısaca

Entegrasyon testi, bir yazılımın ayrı ayrı geliştirilmiş bileşenlerinin, örneğin uygulama kodu, veritabanı ve dış servislerin, bir araya geldiğinde doğru şekilde iletişim kurup çalıştığını doğrulayan test türüdür.

Entegrasyon Testi nedir?
İçindekiler
  1. Entegrasyon testi nedir?
  2. Birim testinden farkı
  3. Uygularken dikkat edilecekler

Entegrasyon testi nedir?

Entegrasyon testi, parçaların tek başına değil birlikte nasıl davrandığına bakar. Her biri kendi içinde kusursuz çalışan iki modül, birbirine bağlandığında sorun çıkarabilir. Bu testler tam olarak o bağlantı noktalarını hedefler.

Bir benzetme yapalım. Motor ve vites kutusu ayrı ayrı test edilip onaylanmış olabilir. Entegrasyon testi, ikisini birleştirip arabanın gerçekten hareket edip etmediğine bakar.

Birim testinden farkı

Birim testi bağımlılıkları sahte nesnelerle değiştirir ve çok hızlıdır. Entegrasyon testi ise gerçek ya da gerçeğe yakın bağımlılıklarla çalışır. Bu yüzden daha yavaştır ama gerçek hayattaki sorunları daha iyi yakalar.

Örneğin bir üyelik sisteminde birim testi, şifre doğrulama fonksiyonunun doğru çalıştığını gösterir. Entegrasyon testi ise yeni kullanıcının gerçekten veritabanına kaydedildiğini, ardından giriş yapabildiğini ve hoş geldin e-postasının kuyruğa düştüğünü kontrol eder. Veritabanındaki bir sütun adı değiştiyse bunu birim testi değil, entegrasyon testi yakalar.

Uygularken dikkat edilecekler

Test için ayrı bir veritabanı kullanın ve her testten sonra temizleyin. Testlerin birbirinin bıraktığı veriye bağlı olması, rastgele başarısız olan testlere yol açar.

Dış servisler sorun yaratabilir. Bir ödeme sağlayıcısına her testte gerçek istek atmak hem yavaş hem risklidir; sağlayıcıların sunduğu test ortamlarını ya da yerel taklit servisleri kullanın. Docker, test veritabanını her çalıştırmada temiz bir şekilde ayağa kaldırmak için pratik bir araçtır.

Sıkça Sorulan Sorular

Entegrasyon testi ne zaman yapılır?

Genelde birim testlerinden sonra ve uçtan uca testlerden önce yapılır. CI/CD kullanan ekiplerde her kod değişikliğinde otomatik olarak çalıştırılır.

API testleri entegrasyon testi sayılır mı?

Çoğu zaman evet. Bir API'ye istek gönderip veritabanı ve diğer bileşenlerle birlikte doğru cevabı döndürdüğünü kontrol etmek, tipik bir entegrasyon testidir.

İlgili terimler

Birim Testi(Unit Testing)Birim testi (unit test), bir yazılımın en küçük test edilebilir parçasının, genelde tek bir fonksiyon ya da metodun, diğer bileşenlerden bağımsız olarak doğru çalışıp çalışmadığını kontrol eden otomatik testtir.Uçtan Uca Test(End-to-End Testing)Uçtan uca test (end-to-end, E2E), bir uygulamayı gerçek kullanıcının gözünden, arayüzden veritabanına kadar tüm katmanlarıyla birlikte baştan sona bir iş akışı üzerinden test etme yöntemidir.Yazılım Testi(Software Testing)Yazılım testi, bir programın beklendiği gibi çalışıp çalışmadığını kontrol etmek ve hataları kullanıcıya ulaşmadan bulmak için yapılan sistemli denemelerin bütünüdür. Elle ya da otomatik araçlarla yapılabilir.API Entegrasyonu(API Integration)API entegrasyonu, iki ya da daha fazla yazılımın API'ler üzerinden birbirine bağlanarak otomatik veri alışverişi yapmasıdır. Siparişin kargo sistemine ya da faturanın muhasebeye kendiliğinden düşmesi buna örnektir.Entegrasyon(Integration)Entegrasyon, ayrı çalışan yazılımların, sistemlerin ya da verilerin birbirine bağlanarak tek bir bütün gibi çalışmasının sağlanmasıdır. E-ticarette mağaza, kargo ve muhasebe programlarının otomatik veri paylaşması buna örnektir.Modül(Module)Modül, belirli bir işe ait fonksiyonları, sınıfları ve değişkenleri bir arada tutan, programın geri kalanından ayrı bir kod birimidir. Genellikle tek bir dosyadır ve başka dosyalardan import edilerek kullanılır.Veritabanı(Database)Veritabanı, verilerin düzenli, aranabilir ve güncellenebilir biçimde saklandığı elektronik kayıt sistemidir. Müşteri listeleri, siparişler ve ürün bilgileri gibi veriler veritabanlarında tutulur.