UNIT TEST EĞİTİMİ
Yazılım projelerinde hataların kolay bulunması, değişikliklerin daha hızlı yapılabilmesi ve entegrasyon problemlerinin en aza indirilebilmesi gibi konularda birim testlerin kullanımı oldukça önem taşımaktadır. Bu doğrultuda, iki günlük uygulamalı teknik eğitim kapsamında:
- Birim testlerinin yazılım hayat döngüsü içerisindeki rolünü anlamak,
- Birim testlerini sistematik ve tekrarlanabilir bir yaklaşım dahilinde geliştirmek,
- Birim testleri için planlama, tasarım, hazırlık ve çalıştırma/doğrulama adımlarını gerçekleştirmek,
- Birim testlerini farklı teknikler ile tasarlamak ve geliştirmek,
- Birim test geliştirme ortamlarını farklı yöntemler ile hazırlamak, gibi konular işlenecektir.
EĞİTİMİN İÇERİĞİ
Eğitim sırasınca işlenecek konular:
1. Gün
1. Giriş
a. Birim testi nedir?
c. Birim testi bize ne kazandırır?
Birim testi;
i. Kimler yazar?
ii. Neleri test eder?
iii.Ne zaman yapılır?
b. Yazılım birimini ne oluşturur?
i. Kimler yazar?
ii. Neleri test eder?
iii.Ne zaman yapılır?
c. Birim testi bize ne kazandırır?
2. Birim testi temelleri
a. Basit bir birim testi
b. JUnit örneği
b. JUnit örneği
3. JUnit Altyapısı
a. Otomatikleştirilmiş birim testi araçları hakkında
b. Kurulum
b. Kurulum
i. Platform gereksinimleri
ii. Ortam kurulumu
iii. Birim testi yapısı
ii. Ortam kurulumu
iii. Birim testi yapısı
1. Test Fixture
2. Test Method
3. Setup & Tear Down metodları
4. Test Suite
iv. Basit bir birim testi (tekrar)
2. Test Method
3. Setup & Tear Down metodları
4. Test Suite
4. Birim testi teknikleri
a. Blackbox & Whitebox testleri
b. Birim testi taslakları
b. Birim testi taslakları
2. Gün
5. Birimlerin izolasyonu
a. “Stub” sınıfları
b. “Mock” sınıfları
c. In memory DB
b. “Mock” sınıfları
c. In memory DB
6. Birim testi taslakları (devam)
a. Veri tabanı katmanını test etmek
b. Utility sınıflarını test etmek
c. İş mantığı sınıflarını test etmek
b. Utility sınıflarını test etmek
c. İş mantığı sınıflarını test etmek
7. Test edilebilir yazılım tasarımı
a. Esnek bağlar
b. “Dependency Injection”
c. “Interface” kullanımı
b. “Dependency Injection”
c. “Interface” kullanımı
8. “Mock” objeler ile birim testi
a. “Mock” objeleri nelerdir?
b. JMock (Bir “Mock Object” alt yapısı)
c. İzolasyon;
b. JMock (Bir “Mock Object” alt yapısı)
c. İzolasyon;
i. System Bileşenleri
ii. İş Mantığı Bileşenleri
ii. İş Mantığı Bileşenleri
9. Mevcut kodun test için tekrar düzenlenmesi (Refactoring)
a. Örnek bir durum
10. Birim testleri organizasyonu
a. Örnek bir durum
11. Bir sonraki adım
a. Birim testler ile önyüz testleri
b. Entegrasyon testleri
c. Refactoring
d. TDD
b. Entegrasyon testleri
c. Refactoring
d. TDD
KİMLER KATILMALI
Bu eğitim, halen devam etmekte ya da yeni başlayacak olan projelerde birim testi tasarımı ve yazılımı yapma ihtiyacı olan yazılım tasarımcıları/geliştiricilerine yöneliktir.
GEREKSİNİMLER
Nesneye yönelik programlama (OOP)
Yazılım test süreçleri ve prensipleri konularında bilgi sahibi olmak gerekmektedir.