• bir projede, genelde farkli programcilarca gelistirilen yazilim modullerin bir araya getirilmesi surecinde yapilan testlerdir.
  • unit test'ten sonra ve system test'den once yapilir.
  • genelde unit test asamasindan sonraki asamadir. birimlerin birbirleri ile olan iliskilerini test etmek icin kullanilir. ornek vermek gerekirse a, b, c diye uc classimiz oldun. a classi kendi icerisinde b ve c nin bir fonksiyonun dondurdugu degerler ile baska bir deger hesaplamaktadir. spring framework benzeri bir cati kullaniyorsak eger bu uc classimizin birbiri ile etkilesiminin tanimlandigi* bir configuration dosyasi hazirlar bu contexti ayaga kaldirarak testler calistirilir.

    integration testin kapsami genelde bir use casei kapsayacak sekilde yapilir. ornegin bir yerden dosya okunacak, modifiye edilecek ve baska bir yere yazilacaksa okuyan, modfiye eden, yazan birimler bir context icerisinde tanimlamak mantiklidir. butun bu hikayelerin bir arada ya da bunlara erisimi olan baska arayuzler*** ile etkilemesiminin test edilmesi ise genelde bir ust kapsamda degerlendirilir ki bazi yorelerde functional test ismi verilir.
  • unit bir sınıfı ya da fonksiyonu ifade eder. bu sebeple unit test bir birimin test edilmesinden başka bir şey değildir. birden fazla sınıf ve ihtiva ettiği fonksiyonlar test edildiğindeyse bu artık integration test olur.
  • modüllerin farklı parçalarının birlikte çalışıp çalışmadığını kontrol etmek için yapılan bir test türü. kapsamı geniştir, test edilen tüm uygulamayı kapsar ve bir araya getirmek için unite teste oranla daha fazla çaba gerekir.
  • sadece geliştirilen sistemdeki bileşenler arasındaki etkileşime karşı yazılmayan testlerdir. buna ek olarak sisteme eklenen herhangi bir 3.parti bir dependency'nin sistemde doğru çalışıp çalışmadığı için de yazılır.

    örneğin bir spring projesinde, api isteklerimizin bazı durumlarda tekrar edilmesini sağlamak için spring-retry adlı kütüphaneyi ekledim. sistemde doğru entegre olup olmadığını ve çalışıp çalışmadığını test etmek için de integration test yazdım.

    bu arada integration testler eğer bir application framework kullanıyorsanız o framework ile birlikte çalışır. unit testler ise framework'den bağımsız çalışmaları gerekmektedir ve dependency'ler mock edilir.
hesabın var mı? giriş yap