Entegrasyon testleri

Java'da Teste Giriş

Maria Milusheva

Senior Software Engineer

Entegrasyon testinin tanımı

  • Entegrasyon - bireysel yazılım bileşenlerini veya alt sistemleri uyumlu çalışan tek bir sisteme birleştirme süreci.
  • Entegrasyon testi - bir uygulamadaki birden çok bileşenin/modülün etkileşimini birlikte doğru çalıştıklarını doğrulamak için test eder. Genellikle harici bağımlılıklarla test içerir.

Montajdan hemen önce Ikea mobilyasının resmi

Java'da Teste Giriş

Bağımlılıklar

  • Yazılım bağımlılığı - bir bileşenin çalışmak için başka birine dayandığı ilişki

1 Chart made using Mermaid: https://mermaid.live
Java'da Teste Giriş

Entegrasyon vs. birim testi

Birim testleri:

  • Bileşenleri izole şekilde test eder
  • Hatalar belirli bir kısmı işaret eder
  • Yazması ve çalıştırması daha hızlıdır
  • Bağımlılıkları test etmemek için çeşitli araçlar kullanır
  • Tam sonuçlara ve çıktılara karşı doğrular

Entegrasyon testleri:

  • Birden çok bileşeni ve etkileşimlerini test eder
  • Hatalar iz sürmeyi gerektirir
  • Kurulum ve çalışma ağır ve daha uzun sürebilir
  • Gerçek bağımlılıklarla gerçek etkileşimleri test eder
  • Tam değerler yerine genel davranışları doğrulayabilir
Java'da Teste Giriş

Örnek: Döviz

Döviz kuru uygulaması geliştirdiğimizi varsayalım:

public class ExchangeApp {
    private EuropeanCentralBankServer bank; // ExchangeApp'in banka sunucusunu kullanmasını sağlar

    public ExchangeApp(EuropeanCentralBankServer bank) {
        this.bank = bank; // Kurucu ile geçirilen nesneyi kaydet
    }


public double convertEuroTo(String currency, double amount) { double rate = this.bank.getRateEuroTo(currency); return amount * rate; // Banka metodunun dönüş değerini hesaplamalarda kullan } }
Java'da Teste Giriş

Döviz için entegrasyon testi

Entegrasyon testi, convertEuroTo metodunu ve EuropeanCentralBankServer'ı birlikte doğrular:

@Test
void convert_convertsWithoutError() {
    EuropeanCentralBankServer bank = new EuropeanCentralBankServer();
    ExchangeApp exchangeApp = new ExchangeApp(bank); // Banka nesnesini kurucuya geçir

double amount = 1000.0; String currency = "USD"; // convertEuroTo, banka nesnesinden getRateEuroTo'yu çağırır double result = exchangeApp.convertEuroTo(currency, amount); assertTrue(result > 0); // Kesin değer öngörülemez, sadece akla yatkınlık testi yapılır }
Java'da Teste Giriş

Hadi pratik yapalım!

Java'da Teste Giriş

Preparing Video For Download...