ACM

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?
Birim testi;
i. Kimler yazar?
ii. Neleri test eder?
iii.Ne zaman yapılır?
b. Yazılım birimini ne oluşturur?
c. Birim testi bize ne kazandırır?


2. Birim testi temelleri
a. Basit bir birim testi
b. JUnit örneği


3. JUnit Altyapısı
a. Otomatikleştirilmiş birim testi araçları hakkında
b. Kurulum
i. Platform gereksinimleri
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)


4. Birim testi teknikleri
a. Blackbox & Whitebox testleri
b. Birim testi taslakları

2. Gün

5. Birimlerin izolasyonu
a. “Stub” sınıfları
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


7. Test edilebilir yazılım tasarımı
a. Esnek bağlar
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;
i. System 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

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.