AUTOMATED TESTING WITH DOCKER EĞİTİMİ

Testlerini izole, tekrarlanabilir konteynerlerde çalıştır

Docker ve Testcontainers ile birim, entegrasyon ve uçtan uca testleri izole konteynerlerde tekrarlanabilir biçimde otomatikleştirin.

Docker ile otomatik testleri izole ve tekrarlanabilir kılan orta seviye eğitim: ephemeral bağımlılıklar, docker compose test ortamı, Testcontainers ile gerçek PostgreSQL/Kafka/Redis entegrasyon testleri, multi-stage test imajı, paralellik ve CI entegrasyonu i…

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Konteyner tabanlı test izolasyonu, Testcontainers ve CI otomasyonu

Bu orta seviye eğitim, otomatik testleri Docker konteynerlerinde izole ve tekrarlanabilir şekilde çalıştırmayı öğretir. Test için tek seferlik (ephemeral) veritabanı, mesaj kuyruğu ve servis konteynerlerinin ayağa kaldırılması, docker compose ile çok servisli test ortamı kurgusu ve healthcheck ile hazır olma beklemesi işlenir. Testcontainers kütüphanesiyle (Java, Python, Node, Go) kodun içinden konteyner yaşam döngüsü yönetimi, PostgreSQL/Kafka/Redis gibi gerçek bağımlılıklarla entegrasyon testi uygulanır. Çok aşamalı (multi-stage) test imajı, test paralelleştirme, kapsam raporu ve CI hattında (GitHub Actions/GitLab CI) otomatik test çalıştırma ele alınır. Katılımcılar güvenilir ve hızlı bir test hattı kurar.

Süre ve Format

3 Gün. Her gün dört modül; test izolasyonundan Testcontainers'a ve CI entegrasyonuna ilerlenir.

Seviye

Orta Seviye — Docker ile test ortamlarını izole etme, Testcontainers, docker compose ile entegrasyon testleri ve CI hattında otomatik test.

Öğrenme Metodu

Katılımcılar örnek bir uygulama için konteyner tabanlı entegrasyon testleri yazar ve bunları gerçek bir CI hattında koşturur.

Neden Bu Eğitim?

🧪İzole Testler

Testleri tek seferlik konteynerlerde çalıştırarak ortam kirliliğini ortadan kaldırırsınız.

🔁Tekrarlanabilirlik

Her çalıştırmada aynı temiz bağımlılıkları kullanarak flaky testleri azaltırsınız.

⚙️Gerçek Bağımlılık

Mock yerine gerçek veritabanı ve kuyrukla test ederek güven kazanırsınız.

Anahtar Konular

docker testtestcontainersentegrasyon testiotomatik testdocker compose testci test otomasyonuephemeral veritabanıflaky test çözümükonteyner testtest izolasyonu
“Güvenilir yazılım, gerçek bağımlılıklara karşı çalışan testlerle doğar.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Programlama

Java, Python, Node veya Go dillerinden birinde temel test yazma deneyimi faydalıdır.

2
Docker Temeli

İmaj build etme ve konteyner çalıştırma kavramlarına aşinalık beklenir.

3
Test Kavramı

Birim ve entegrasyon testi ayrımına temel aşinalık işleri kolaylaştırır.

4
Lab Ortamı

Docker Engine kurulu ve çalışan bir bilgisayar.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, testler için tek seferlik konteyner ortamlarını ayağa kaldırabilir.
Modül 1
Test İzolasyonu
  • Paylaşılan test ortamı kaynaklı flaky testlerin kökeni
  • Her test çalıştırması için temiz durum (clean state)
  • Konteyner ile test verisinin dışa sızmasını önleme
  • Yerel geliştirme ile CI ortamı paritesi
  • Test sonrası konteynerlerin otomatik yok edilmesi
  • Port çakışmalarını rastgele port ile çözme
Modül 2
Ephemeral Servisler
  • docker run --rm ile tek seferlik servis başlatma
  • PostgreSQL test konteyneri için ortam değişkenleri
  • Redis ve RabbitMQ gibi bağımlılıkların ayağa kalkması
  • Test verisi seed etme (init script) yöntemleri
  • Named volume yerine tmpfs ile hızlı disk
  • Konteyner loglarını test teşhisinde kullanma
Modül 3
Compose Test Ortamı
  • docker compose ile çok servisli test topolojisi
  • Ayrı compose dosyası (compose.test.yaml) kullanımı
  • depends_on ile servis başlatma sırası
  • Test runner'ın da compose servisi olarak tanımı
  • compose --profile ile test profili ayrımı
  • compose down -v ile ortamın tam temizliği
Modül 4
Hazır Olma Beklemesi
  • healthcheck tanımı ile servis sağlığı
  • condition: service_healthy ile bekleme
  • wait-for-it / dockerize ile port bekleme deseni
  • Veritabanı bağlantısı hazır olmadan test başlatmama
  • Zaman aşımı (timeout) ve yeniden deneme ayarı
  • Yarış durumlarının (race condition) önlenmesi
Günün hedefiKatılımcı, Testcontainers ile gerçek bağımlılıklara karşı entegrasyon testi yazabilir.
Modül 1
Testcontainers Temeli
  • Testcontainers'ın koddan konteyner yönetim modeli
  • GenericContainer ile keyfi imaj başlatma
  • Ryuk sidecar ile artık konteynerlerin temizlenmesi
  • withExposedPorts ve dinamik port eşleme
  • waitingFor stratejileri (log, port, http)
  • Java/Python/Node/Go istemci farklılıkları
Modül 2
Veritabanı Testleri
  • PostgreSQLContainer / MySQLContainer kullanımı
  • Test başına ayrı şema ile izolasyon
  • Migration (Flyway/Liquibase) çalıştırma
  • JDBC URL'nin dinamik konteynerden alınması
  • Reusable containers ile başlatma süresini kısaltma
  • Test verisi yükleme ve temizleme
Modül 3
Mesajlaşma Testleri
  • KafkaContainer ile producer/consumer testi
  • RabbitMQ ile kuyruk davranışı doğrulama
  • LocalStack ile AWS servis (SQS/S3) taklidi
  • Mesaj sırası ve idempotency testi
  • Tüketici tarafı hata senaryolarının testi
  • Asenkron akışta mesaj gelişini bekleme
Modül 4
İleri Kullanım
  • DockerComposeContainer ile compose dosyası başlatma
  • Network tanımı ile konteynerler arası iletişim
  • Testcontainers ile browser (Selenium) testi
  • Container.execInContainer ile komut çalıştırma
  • Imaj build'i test içinden tetikleme
  • Testcontainers Cloud ile uzak çalıştırma
Günün hedefiKatılımcı, test imajlarını optimize edip testleri CI hattında paralel çalıştırabilir.
Modül 1
Multi-stage Test İmajı
  • Dockerfile içinde test stage tanımı
  • Build ve test bağımlılıklarını son imajdan ayırma
  • docker build --target test ile test hedefi koşma
  • Katman önbelleği ile test bağımlılık kurulumu
  • Test raporu çıktısını imajdan dışarı alma
  • Güvenlik için test araçlarını prod imajına koymama
Modül 2
Paralel Çalıştırma
  • Test suite'ini parçalara (shard) bölme
  • Her shard için ayrı konteyner ortamı
  • Kaynak çakışmasını izole network ile önleme
  • Paralellik derecesini CPU'ya göre ayarlama
  • Testcontainers reuse ile paralelde hız
  • Paralel sonuçların birleştirilmesi
Modül 3
Kapsam Raporu
  • Konteyner içi testten coverage verisi toplama
  • JaCoCo / coverage.py / nyc entegrasyonu
  • Kapsam raporunu host'a volume ile aktarma
  • Minimum kapsam eşiği ile kapı (gate) koyma
  • Codecov/SonarQube'a rapor gönderme
  • Entegrasyon testi kapsamının yorumlanması
Modül 4
CI Entegrasyonu
  • GitHub Actions'ta Docker-in-Docker vs host daemon
  • GitLab CI services ile yan servis tanımı
  • CI'da Testcontainers için DOCKER_HOST ayarı
  • Imaj katman cache ile CI süresini kısaltma
  • Test başarısızlığında pipeline'ı durdurma
  • Test artefaktlarını (rapor, log) saklama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Test İzolasyonu

Testleri tek seferlik konteynerlerde izole ederek flaky testleri azaltırsınız.

✅
Compose Ortamı

docker compose ile çok servisli test topolojilerini kurup yönetirsiniz.

✅
Hazır Olma

healthcheck ve wait stratejileriyle yarış durumlarını önlersiniz.

✅
Testcontainers

Koddan konteyner yaşam döngüsü yöneterek entegrasyon testi yazarsınız.

✅
Gerçek Bağımlılık

PostgreSQL, Kafka ve Redis'e karşı güvenilir testler oluşturursunuz.

✅
Multi-stage Test

Test stage ile imajı optimize edip güvenli çıktı üretirsiniz.

✅
Paralellik

Testleri shard'layarak paralel çalıştırır ve süreyi kısaltırsınız.

✅
CI Entegrasyonu

Test hattını GitHub Actions/GitLab CI'da otomatik koşturursunuz.

Kimler İçin Uygundur?

  • Yazılım geliştiriciler
  • test otomasyon mühendisleri
  • entegrasyon testlerini güvenilir hale getirmek isteyen DevOps ekipleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yazılım geliştiriciler, test otomasyon mühendisleri ve entegrasyon testlerini güvenilir hale getirmek isteyen DevOps ekipleri için uygundur.
Testcontainers ne sağlar?
Test kodunuzun içinden gerçek veritabanı, kuyruk ve servis konteynerlerini başlatıp yaşam döngülerini yönetmenizi sağlar; test bitince konteynerler otomatik temizlenir.
Hangi diller destekleniyor?
Örnekler Java, Python, Node ve Go için verilir; Testcontainers bu ekosistemlerin tümünde kullanılır.
Mock yerine neden gerçek bağımlılık?
Gerçek PostgreSQL veya Kafka'ya karşı test, mock'ların gizlediği sürüm ve davranış farklarını yakalayarak üretime daha yakın güven sağlar.
Eğitim sonunda sertifika veriliyor mu?
Katılım ve değerlendirme sonrası Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Automated Testing with Docker Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Docker ve KonteynerleştirmeContainers in GCP Hackathon (CTRS-HACK-G) Eğitimi
DevOps ve Konteyner Eğitimleri

Containers in GCP Hackathon (CTRS-HACK-G) Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Containers in GCP Hackathon (CTRS-HACK-G): gcp hackathon, containers in gcp ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifikası i

Detayları Gör →
Docker ve KonteynerleştirmeData Persistence with Docker Volumes and Bind Mounts Eğitimi
DevOps ve Konteyner Eğitimleri

Data Persistence with Docker Volumes and Bind Mounts Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Data Persistence with Docker Volumes and Bind Mounts: docker volume, bind mount ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifika

Detayları Gör →
Docker ve KonteynerleştirmeDeploy cloud-native apps using Azure Container Apps - Applied Skills Workshop Eğitimi
DevOps ve Konteyner Eğitimleri

Deploy cloud-native apps using Azure Container Apps - Applied Skills Workshop Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Deploy cloud-native apps using Azure Container Apps - Applied Skills Workshop: azure container apps ve uygulamalı laboratuvarlar. DVA Katılım ve Başarı Sertifik

Detayları Gör →
Docker ve KonteynerleştirmeDeploying Your Microservice in Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Deploying Your Microservice in Containers Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Mikroservis konteynerleştirme eğitimi: Dockerfile, çok aşamalı derleme, imaj etiketleme ve registry'ye push, HEALTHCHECK, kaynak limitleri ve yatay ölçekleme uy

Detayları Gör →
Docker ve KonteynerleştirmeDeveloping Solutions for Microsoft Azure: Azure Container Registry Eğitimi
DevOps ve Konteyner Eğitimleri

Developing Solutions for Microsoft Azure: Azure Container Registry Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Azure Container Registry eğitimi: ACR katmanları, imaj push/pull, ACR Tasks ile bulutta derleme, içerik güveni, replikasyon ve AKS entegrasyonu AZ-204 bağlamınd

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn