Test Driven Development

Eğitim Hakkında

Bu eğitim, TDD’nin felsefesini ve prensiplerini Red/Green/Refactor döngüsü üzerinden ele alırken; birim testlerin amacı, test türleri, mock yaklaşımları ve Dependency Injection ile test edilebilir tasarımı uygulamalı olarak öğretir. Katılımcılar; refactoring, test kodu kalitesi ve BDD yaklaşımlarıyla birlikte code coverage, test organizasyonu ve Continuous Integration/Delivery ilişkisini gerçekçi örneklerle deneyimler.

Ön Koşul

Nesne yönelimli programlama (OOP) temellerine ve tercih edilen dilin (ör. C# veya Java) temel sözdizimine giriş seviyesinde hâkimiyet gereklidir.

Eğitim İçeriği

  • TDD Nedir?
  • Agile Manifesto
  • TDD’nin Temel Felsefesi
  • TDD Prensipleri
  • Unit Test’in Amacı
  • Test Yöntem ve Tipleri
  • Unit Test ve Araçlar
  • Hello Unit Testing
  • Hello Test First Development
  • IoC Nedir? Ne İşe Yarar?
  • Temel DI Prensipleri
  • Test Kodunda DI’ın Önemi
  • Unity ile Dependency Injection
  • Fake Object ile Test Kodu Yazmak
  • State ve Interaction Temelli Verifikasyon
  • Stub ve Mock Kavramları
  • Dinamik Mock Kütüphaneleri ile Çalışmak
  • Harici Kütüphanelerin Test Edilmesi (Db, FileSystem vs)
  • Temel Refactoring Teknikleri
  • Mevcut Bir Kodun Test Edilebilir Hale Gelmesi
  • Temel OOP Prensipleri ve Test Koduna Etkisi
  • Test Edilebilir Yazılım Tasarımı
  • İyi bir Unit Testin Yapısı
  • Test Fixture’da Olması Gerekenler
  • ObjectBuilder ve ObjectMother Kalıpları
  • Test Smells
  • Unit Test Patterns / Antipatterns
  • TDD ile Farkları
  • Acceptance Test Driven Development
  • Specification by Example
  • Code Coverage Kavramı
  • Başarılı ve Başarısız Testlerin Ele Alınması
  • Test Kodunun Organizasyonu
  • Test Kodunun Tekrar Kullanımı
  • Başarılı ve Başarısız Testlerin Ele Alınması
  • Test Kodunun Organizasyonu
  • Test Kodunun Tekrar Kullanımı
  • Otomatik Build’lar ve Test Kodu İlişkisi
  • Continuous Integration
  • Continuous Delivery

Kazanımlar

TDD yaklaşımını amaçları ve faydalarıyla birlikte günlük akışa entegre etmek

Red/Green/Refactor döngüsünü disiplinli biçimde uygulamak

Birim testin amacını ve test yöntemlerini doğru seçmek

Dependency Injection ile bağımlılıkları izole ederek test edilebilir tasarım kurmak

Stub/Mock/Fake gibi test doubles kullanarak yan etkileri kontrol altına almak

Refactoring uygulayarak kodu sadeleştirmek ve test edilebilir hâle getirmek

İyi testin yapısını kurmak; fixture, ObjectMother/ObjectBuilder kalıplarını kullanmak

Test smells ve antipatternleri tespit etmek ve gidermek

Code coverage ve test organizasyonu pratikleriyle sürdürülebilir test setleri oluşturmak

CI/CD hatlarında testlerin konumunu anlayarak otomatik çalıştırmaları yönetmek

Hedef Kitle

Yazılım Geliştiriciler

Yazılım Mimarları

QA Mühendisleri

Test Otomasyon Mühendisleri

DevOps Mühendisleri

Ürün Sahipleri

Kıdemli Yazılım Mühendisleri

Teknik Liderler

Sertifika

Eğitimlerimize %80 oranında katılım gösterilmesi ve eğitim müfredatına göre uygulanacak sınav/projelerin başarıyla tamamlanması durumunda, eğitimin sonunda dijital ve QR kod destekli “BT Akademi Başarı Sertifikası” verilmektedir.

SEKTÖRÜN GÜVENDİĞİ ÇÖZÜM ORTAĞI

BT Akademi'yi tercih eden 4.000'den fazla kurum yanılmıyor.

TEB
LC Waikiki
Bosch
J.P. Morgan
Mavi
Havelsan
Yapı Kredi
Ziraat teknoloji
Istanbul Bilgi Universitesi
Boyner
RedBull
Trendyol
DeFacto
İş Bankası
Aksigorta
Innova
QNB Finansbank
Işik Universitesi
Logo Yazılım
THY DO CO
Roketsan
QNB Invest
TAAC Havacılık TR
Sahibinden
Sompo Japan
TEB
LC Waikiki
Bosch
J.P. Morgan
Mavi
Havelsan
Yapı Kredi
Ziraat teknoloji
Istanbul Bilgi Universitesi
Boyner
RedBull
Trendyol
DeFacto
İş Bankası
Aksigorta
Innova
QNB Finansbank
Işik Universitesi
Logo Yazılım
THY DO CO
Roketsan
QNB Invest
TAAC Havacılık TR
Sahibinden
Sompo Japan
Bilgi İstiyorum