Test Driven Development
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.