SlideShare a Scribd company logo
.com




                    Kurumsal Java.com
Özcan Acar © 2009
Test Güdümlü Yazılım
Test Driven Development (TDD)

               Özcan Acar
              acar@unitedinter.net
          http://www.ozcanacar.com
         http://www.kurumsaljava.com
                                                           Kurumsal Java.com
                                                           Kurumsal Java.com
                                       Özcan Acar © 2009
                                                  © 2009
Özcan Acar Hakkında
public class OezcanAcar
{
     public static void main(String[] args)
     {
           Acar oezcan = new Acar();
           oezcan.setBirthday(quot;18.07.1974quot;);
           oezcan.setBirthplace(quot;Izmirquot;);
           oezcan.setJob(quot;Bilgisayar Mühendisiquot;);
           oezcan.setPassion(quot;Java EEquot;);
     }
}
                                                       Kurumsal Java.com
                                                       Kurumsal Java.com
                                   Özcan Acar © 2009
                                              © 2009
Özcan Acar Hakkında




                                  Kurumsal Java.com
                                  Kurumsal Java.com
              Özcan Acar © 2009
                         © 2009
Java Tasarım Şablonları ve Yazılım Mimarileri
                     Tasarım şablonu nedir?
                     Interface / Abstract sınıf nedir?
                     Oluşturucu Tasarım Şablonları
                              Factory, Abstract Factory,
                              Builder, Prototype,
                              Singleton
                     Yapısal Tasarım Şablonları
                              Adapter, Bridge, Facade,
                              Decorator, Composite,
                              Flyweight, Proxy
                     Davranışsal Tasarım Şablonları
                              Command, Memento,
                              Strategy, Iterator, State,
                              Observer, Visitor
                                                           Kurumsal Java.com
                                                           Kurumsal Java.com
                                       Özcan Acar © 2009
                                                  © 2009
Extreme Programming
        Çevik süreç nedir?
        Çevik manifesto
        Extreme Programming nedir?
        XP değerleri ve prensipleri
        Çevik proje planlaması
        Çevik süreçlerde iletişim
        Çevik tasarım
        Sürekli entegrasyon
        Test güdümlü yazılım
        Yazılım metrikleri



                                              Kurumsal Java.com
                                              Kurumsal Java.com
                          Özcan Acar © 2009
                                     © 2009
Sunumun Đçeriği
TDD nedir?
TDD nasıl uygulanır?
TDD avantajları
Pratik TDD uygulaması




                                            Kurumsal Java.com
                                            Kurumsal Java.com
                        Özcan Acar © 2009
                                   © 2009
Test Güdümlü Yazılım
Test Driven Development (TDD)

           Tasarım



  Test                          Test


          Đmplementasyon
          Đmplementasyon




                                               Kurumsal Java.com
                                               Kurumsal Java.com
                           Özcan Acar © 2009
                                      © 2009
Test Güdümlü Yazılım
        Test Driven Development (TDD)
                                                                            1. Hemen bir test oluştur
                               Test ekle
                                                                            2. Testleri çalıştır ve en son
                                                                                 eklenen testin çalışmadığını
                                                                                 gör
                             Testi çalıştır
[ Test çalışır durumda ]
                                                                            3. Testin çalışması için ufak bir
                                     [ Hata oluştu ]

                                                                                 değişiklik yap
                                Gerekli
                           değişiklikleri yap
                                                                            4. Testleri çalıştır ve hepsinin
                                                                                 hatasız çalışır durumda
                                                                                 olduğunu gör
                             Testi çalıştır       [ Test çalışır durumda,
       [ Hata oluştu ]                            yazılıma devam edilir ]
                                                                            5.   Aynı ve benzer kodları yok
                                       [ Test çalışır durumda,
                                                                                 et.
                                       yazılım son bulur]




                                                                                                             Kurumsal Java.com
                                                                                                             Kurumsal Java.com
                                                                                         Özcan Acar © 2009
                                                                                                    © 2009
Test Güdümlü Yazılım
Test Driven Development (TDD)

   Şelale Tarzı (Waterfall)
     Design oluştur    Kodla           Test et




   Çevik Yazılım Tarzı (Agile Development)
                               Yeniden yapılandır
      Test ekle       Kodla
                                (refactoring, design)




                                                             Kurumsal Java.com
                                                             Kurumsal Java.com
                                         Özcan Acar © 2009
                                                    © 2009
Test Güdümlü Yazılım
    Test Driven Development (TDD)
JUnit testleri programcıyı, sınıfların nasıl kullanıldıklarını düşünmeye zorlar.
Kullanıcı gözüyle sınıflara bakıldığı taktirde, daha basit ve kullanışlı
yapılandırılmaları kolaylaşır.
Programcı JUnit testlerini hazırlarken, sistemin nasıl çalışması gerektiğini hayal
etmek zorundadır. TDD ile sadece gerekli sınıflar ve metotlar oluşturulur. TDD,
programcının “belki ilerde kullanılır, bu metodu eklemekte fayda var” tarzı
düşünmesini engeller. Böylece TDD proje maliyetini düşürür, çünkü sadece gerekli
sınıf ve metotlar için zaman harcanır.
TDD ile test kapsama alanı (test coverage) geniş olur. Hemen hemen her satır kod
test metotları tarafından çalıştırılır.
JUnit testlerinden yola çıkarak oluşturulan sınıflar daha sağlam bir yapıda olurlar.
Programcı JUnit testlerini oluştururken, oluşturduğu sınıfların kullanılış tarzı,
olabilecek hatalar ve performansı hakkında düşünür ve buna göre sınıfı
yapılandırır.


                                                                                 Kurumsal Java.com
                                                                                 Kurumsal Java.com
                                                             Özcan Acar © 2009
                                                                        © 2009
Test Güdümlü Yazılım
    Test Driven Development (TDD)
JUnit testleri koda olan güveni artırır. Kod üzerinde yapılan değişiklikler yan
etkilere sebep verebilir. JUnit testleri olmadan oluşabilecek yan etkilerin tespiti çok
zordur. JUnit testleri ile kodun yeniden yapılandırılması (refactoring) kolaylaşır,
çünkü oluşabilecek hatalar JUnit testleri ile lokalize edilebilir.
JUnit testleri sistemin nasıl çalıştığını gösteren dokumentasyon olarak
düşünülebilir. Programcılar JUnit testlerini inceleyerek, sistemin nasıl çalıştığını
çok kısa bir zaman içinde öğrenebilirler.
TDD tarzı programlama programcının debugger ile hata arama zamanını kısaltır
yada tamamen ortadan kaldırır.




                                                                                 Kurumsal Java.com
                                                                                 Kurumsal Java.com
                                                             Özcan Acar © 2009
                                                                        © 2009
Gereksinimlerden Testler Doğar

Bir müşterimiz DVD film alım-satım ve kiralama işiyle
uğraşmaktadır. Bizi sahip olduğu filmleri yönetebileceği bir
programın hazırlanması için görevlendirir. Programdan
beklentileri (gereksinimler) şu şekildedir.


   • Filmler alfabetik sıraya göre listelenir. Listeye yeni film
     eklenebilir
   • Film isimleri değiştirilebilir.
   • Film ismine yada oyuncu ismine göre arama yapılabilir.




                                                                     Kurumsal Java.com
                                                                     Kurumsal Java.com
                                                 Özcan Acar © 2009
                                                            © 2009
Görev Listesi

Müşteri filmleri alfabetik olarak bir listenin içinde görmek
istemektedir. Bunun yanı sıra listeye yeni film eklenebilmelidir.
Böyle bir gereksinim için geleneksel yöntemler kullanılacak
olursa, aşağıdaki şekilde bir görev listesi çıkartılabilir.
Programcı bu görevleri baz alarak yazılım yapacaktır.


   • Filmlerin konduğu bir liste oluştur. ArrayList yada Vector
     olabilir. Filmlerin alfabetik sırası önemli.
   • Filmlerin listelenebileceği bir arayüz oluştur.
   • Yeni bir film eklemek için arayüze “Film Ekle” butonu
     ekle. Filmler bu buton üzerinden listeye eklenir.


                                                                   Kurumsal Java.com
                                                                   Kurumsal Java.com
                                               Özcan Acar © 2009
                                                          © 2009
Test Listesi

Şimdi aynı gereksinimleri baz alarak TDD için gerekli testleri
oluşturalım ve görev listesi ve test listesi arasındaki farkı
inceleyelim.


   • Boş bir listenin büyüklüğü (size) 0 olmalı.
   • Listeye bir film eklendiğinde listenin büyüklüğü 1 olmalı.
   • Listeye iki film eklendiğinde listenin büyüklüğü 2 olmalı.
   • BBB ve AAA ismini taşıyan iki film listeye eklendiğinde
     AAA ismini taşıyan film listede BBB isimli filmden önce
     yer almalıdır.


                                                                   Kurumsal Java.com
                                                                   Kurumsal Java.com
                                               Özcan Acar © 2009
                                                          © 2009
Görev ile Test Kıyaslaması

Görev listesi bize sadece ne yapılması gerektiği hakkında bilgi
veriyor. Nasıl yapılması gerektiği bilgisini görev listesinden
edinemiyoruz.
Ayrıca bu liste yazılımda ne kadar ilerlediğimizi gösterecek
özellikte değildir, yani hangi görevi tamamladıktan sonra
programın % kaçını tamamlamış olacağız, bu konuda fikir
sahibi olamıyoruz, çünkü görev tanımlamaları detaylı bir
şekilde ne yapılması gerektiğini ihtiva etmiyor ve somut
değiller.
Testler ilk bakışta ne yapılması gerektiğini ifade edebilen, daha
somut ve işletilebilir yapıdadır.
Bu yüzden somut testlerden yola çıkarak programı oluşturmak
daha mantıklı ve doğal olanıdır
                                                                   Kurumsal Java.com
                                                                   Kurumsal Java.com
                                               Özcan Acar © 2009
                                                          © 2009
Test Đmplementasyonu

Boş bir listenin büyüklüğü (size) 0 olmalı.
Listeye bir film eklendiğinde listenin büyüklüğü 1 olmalı.
Listeye iki film eklendiğinde listenin büyüklüğü 2 olmalı.
BBB ve AAA ismini taşıyan iki film listeye eklendiğinde
AAA ismini taşıyan film listede BBB isimli filmden önce
yer almalıdır.




                                                                  Kurumsal Java.com
                                                                  Kurumsal Java.com
                                              Özcan Acar © 2009
                                                         © 2009
Test Đmplementasyonu

TDD Demo




                                       Kurumsal Java.com
                                       Kurumsal Java.com
                   Özcan Acar © 2009
                              © 2009
Kaynak: KurumsalJava.com




                                     Kurumsal Java.com
                                     Kurumsal Java.com
                 Özcan Acar © 2009
                            © 2009
KurumsalJavaAkademisi.com




                                     Kurumsal Java.com
                                     Kurumsal Java.com
                 Özcan Acar © 2009
                            © 2009
Son
Đlginiz için teşekkür ederim.




                                           Kurumsal Java.com
                       Özcan Acar © 2009

More Related Content

Similar to Test Güdümlü Yazılım

Özcan Acar Ankara Cankaya Universitesi Wicket Webframework Sunumu
Özcan Acar  Ankara Cankaya Universitesi Wicket Webframework SunumuÖzcan Acar  Ankara Cankaya Universitesi Wicket Webframework Sunumu
Özcan Acar Ankara Cankaya Universitesi Wicket Webframework Sunumu
Özcan Acar
 
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri SemineriBilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
Mimar Aslan
 
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
İbrahim ATAY
 
Crossover Chief Architect Sinav Surecleri
Crossover Chief Architect Sinav SurecleriCrossover Chief Architect Sinav Surecleri
Crossover Chief Architect Sinav Surecleri
Sinan Ata
 
005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]
Erol Bozkurt
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development
Nezir Yürekli
 
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE TeknolojileriKıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
Mimar Aslan
 
Canan Batur Extreme Programming
Canan Batur   Extreme ProgrammingCanan Batur   Extreme Programming
Canan Batur Extreme Programming
Fatih Çengel
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Mimar Aslan
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriMurat Başeren
 

Similar to Test Güdümlü Yazılım (10)

Özcan Acar Ankara Cankaya Universitesi Wicket Webframework Sunumu
Özcan Acar  Ankara Cankaya Universitesi Wicket Webframework SunumuÖzcan Acar  Ankara Cankaya Universitesi Wicket Webframework Sunumu
Özcan Acar Ankara Cankaya Universitesi Wicket Webframework Sunumu
 
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri SemineriBilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
Bilgisayar Mühendisleri Odası - Java EE Teknolojileri Semineri
 
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
 
Crossover Chief Architect Sinav Surecleri
Crossover Chief Architect Sinav SurecleriCrossover Chief Architect Sinav Surecleri
Crossover Chief Architect Sinav Surecleri
 
005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]005 Alternatif Yazilim Surecleri [99 Slides]
005 Alternatif Yazilim Surecleri [99 Slides]
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development
 
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE TeknolojileriKıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
Kıbrıs Doğu Akdeniz Üniversitesi DAU - Java EE Teknolojileri
 
Canan Batur Extreme Programming
Canan Batur   Extreme ProgrammingCanan Batur   Extreme Programming
Canan Batur Extreme Programming
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
 
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
 

Test Güdümlü Yazılım

  • 1. .com Kurumsal Java.com Özcan Acar © 2009
  • 2. Test Güdümlü Yazılım Test Driven Development (TDD) Özcan Acar acar@unitedinter.net http://www.ozcanacar.com http://www.kurumsaljava.com Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 3. Özcan Acar Hakkında public class OezcanAcar { public static void main(String[] args) { Acar oezcan = new Acar(); oezcan.setBirthday(quot;18.07.1974quot;); oezcan.setBirthplace(quot;Izmirquot;); oezcan.setJob(quot;Bilgisayar Mühendisiquot;); oezcan.setPassion(quot;Java EEquot;); } } Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 4. Özcan Acar Hakkında Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 5. Java Tasarım Şablonları ve Yazılım Mimarileri Tasarım şablonu nedir? Interface / Abstract sınıf nedir? Oluşturucu Tasarım Şablonları Factory, Abstract Factory, Builder, Prototype, Singleton Yapısal Tasarım Şablonları Adapter, Bridge, Facade, Decorator, Composite, Flyweight, Proxy Davranışsal Tasarım Şablonları Command, Memento, Strategy, Iterator, State, Observer, Visitor Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 6. Extreme Programming Çevik süreç nedir? Çevik manifesto Extreme Programming nedir? XP değerleri ve prensipleri Çevik proje planlaması Çevik süreçlerde iletişim Çevik tasarım Sürekli entegrasyon Test güdümlü yazılım Yazılım metrikleri Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 7. Sunumun Đçeriği TDD nedir? TDD nasıl uygulanır? TDD avantajları Pratik TDD uygulaması Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 8. Test Güdümlü Yazılım Test Driven Development (TDD) Tasarım Test Test Đmplementasyon Đmplementasyon Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 9. Test Güdümlü Yazılım Test Driven Development (TDD) 1. Hemen bir test oluştur Test ekle 2. Testleri çalıştır ve en son eklenen testin çalışmadığını gör Testi çalıştır [ Test çalışır durumda ] 3. Testin çalışması için ufak bir [ Hata oluştu ] değişiklik yap Gerekli değişiklikleri yap 4. Testleri çalıştır ve hepsinin hatasız çalışır durumda olduğunu gör Testi çalıştır [ Test çalışır durumda, [ Hata oluştu ] yazılıma devam edilir ] 5. Aynı ve benzer kodları yok [ Test çalışır durumda, et. yazılım son bulur] Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 10. Test Güdümlü Yazılım Test Driven Development (TDD) Şelale Tarzı (Waterfall) Design oluştur Kodla Test et Çevik Yazılım Tarzı (Agile Development) Yeniden yapılandır Test ekle Kodla (refactoring, design) Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 11. Test Güdümlü Yazılım Test Driven Development (TDD) JUnit testleri programcıyı, sınıfların nasıl kullanıldıklarını düşünmeye zorlar. Kullanıcı gözüyle sınıflara bakıldığı taktirde, daha basit ve kullanışlı yapılandırılmaları kolaylaşır. Programcı JUnit testlerini hazırlarken, sistemin nasıl çalışması gerektiğini hayal etmek zorundadır. TDD ile sadece gerekli sınıflar ve metotlar oluşturulur. TDD, programcının “belki ilerde kullanılır, bu metodu eklemekte fayda var” tarzı düşünmesini engeller. Böylece TDD proje maliyetini düşürür, çünkü sadece gerekli sınıf ve metotlar için zaman harcanır. TDD ile test kapsama alanı (test coverage) geniş olur. Hemen hemen her satır kod test metotları tarafından çalıştırılır. JUnit testlerinden yola çıkarak oluşturulan sınıflar daha sağlam bir yapıda olurlar. Programcı JUnit testlerini oluştururken, oluşturduğu sınıfların kullanılış tarzı, olabilecek hatalar ve performansı hakkında düşünür ve buna göre sınıfı yapılandırır. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 12. Test Güdümlü Yazılım Test Driven Development (TDD) JUnit testleri koda olan güveni artırır. Kod üzerinde yapılan değişiklikler yan etkilere sebep verebilir. JUnit testleri olmadan oluşabilecek yan etkilerin tespiti çok zordur. JUnit testleri ile kodun yeniden yapılandırılması (refactoring) kolaylaşır, çünkü oluşabilecek hatalar JUnit testleri ile lokalize edilebilir. JUnit testleri sistemin nasıl çalıştığını gösteren dokumentasyon olarak düşünülebilir. Programcılar JUnit testlerini inceleyerek, sistemin nasıl çalıştığını çok kısa bir zaman içinde öğrenebilirler. TDD tarzı programlama programcının debugger ile hata arama zamanını kısaltır yada tamamen ortadan kaldırır. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 13. Gereksinimlerden Testler Doğar Bir müşterimiz DVD film alım-satım ve kiralama işiyle uğraşmaktadır. Bizi sahip olduğu filmleri yönetebileceği bir programın hazırlanması için görevlendirir. Programdan beklentileri (gereksinimler) şu şekildedir. • Filmler alfabetik sıraya göre listelenir. Listeye yeni film eklenebilir • Film isimleri değiştirilebilir. • Film ismine yada oyuncu ismine göre arama yapılabilir. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 14. Görev Listesi Müşteri filmleri alfabetik olarak bir listenin içinde görmek istemektedir. Bunun yanı sıra listeye yeni film eklenebilmelidir. Böyle bir gereksinim için geleneksel yöntemler kullanılacak olursa, aşağıdaki şekilde bir görev listesi çıkartılabilir. Programcı bu görevleri baz alarak yazılım yapacaktır. • Filmlerin konduğu bir liste oluştur. ArrayList yada Vector olabilir. Filmlerin alfabetik sırası önemli. • Filmlerin listelenebileceği bir arayüz oluştur. • Yeni bir film eklemek için arayüze “Film Ekle” butonu ekle. Filmler bu buton üzerinden listeye eklenir. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 15. Test Listesi Şimdi aynı gereksinimleri baz alarak TDD için gerekli testleri oluşturalım ve görev listesi ve test listesi arasındaki farkı inceleyelim. • Boş bir listenin büyüklüğü (size) 0 olmalı. • Listeye bir film eklendiğinde listenin büyüklüğü 1 olmalı. • Listeye iki film eklendiğinde listenin büyüklüğü 2 olmalı. • BBB ve AAA ismini taşıyan iki film listeye eklendiğinde AAA ismini taşıyan film listede BBB isimli filmden önce yer almalıdır. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 16. Görev ile Test Kıyaslaması Görev listesi bize sadece ne yapılması gerektiği hakkında bilgi veriyor. Nasıl yapılması gerektiği bilgisini görev listesinden edinemiyoruz. Ayrıca bu liste yazılımda ne kadar ilerlediğimizi gösterecek özellikte değildir, yani hangi görevi tamamladıktan sonra programın % kaçını tamamlamış olacağız, bu konuda fikir sahibi olamıyoruz, çünkü görev tanımlamaları detaylı bir şekilde ne yapılması gerektiğini ihtiva etmiyor ve somut değiller. Testler ilk bakışta ne yapılması gerektiğini ifade edebilen, daha somut ve işletilebilir yapıdadır. Bu yüzden somut testlerden yola çıkarak programı oluşturmak daha mantıklı ve doğal olanıdır Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 17. Test Đmplementasyonu Boş bir listenin büyüklüğü (size) 0 olmalı. Listeye bir film eklendiğinde listenin büyüklüğü 1 olmalı. Listeye iki film eklendiğinde listenin büyüklüğü 2 olmalı. BBB ve AAA ismini taşıyan iki film listeye eklendiğinde AAA ismini taşıyan film listede BBB isimli filmden önce yer almalıdır. Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 18. Test Đmplementasyonu TDD Demo Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 19. Kaynak: KurumsalJava.com Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 20. KurumsalJavaAkademisi.com Kurumsal Java.com Kurumsal Java.com Özcan Acar © 2009 © 2009
  • 21. Son Đlginiz için teşekkür ederim. Kurumsal Java.com Özcan Acar © 2009