Page 185 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 185

Yazılım geliştirme sürecinde yazılım test yaklaşımı olarak TDD kullanıldığında,

                                  •  Doğru uygulandığı takdirde son satırına kadar test edilmiş bir yazılım
                                      sisteminin oluşmasını sağlar.


                                  •  Iyi  ve  zaman  içinde  gerekli  değişikliklere  ayak  uyduracak  bir  tasarım
                                      oluşturmak kolaylaşır.

                                  •  Yazılım geliştirici geliştirme sırasında, sistemin nasıl çalışması gerektiğini
                                      hayal ettiği için sadece gerekli sınıf ve metodları oluşturur.

                                  •  Yazılım geliştiricinin “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 metodlar için zaman harcanır.


                                  •  Testler  oluşturulurken,  oluşturulan  sınıfların  kullanımı  ve  performansı
                                      hakkında  da  düşünülür.  Bu  sayede  de  yazılım  tasarımında  iyileştirme
                                      yapılır.

                                  •  Test kapsama alanı geniş olur, neredeyse her kod satırı test metodları
                                      tarafından çalıştırılır.

                                  •  Testler  koda  olan  güveni  artırır  ve  kodun  yeniden  yapılandırılmasıyla
                                      oluşabilecek hatalar testler tarafından yakalanabilir.


                                  •  Yazılım geliştirici daha test edilebilir kod yazmaya çalışır. Bir kodun test
                                      edilebilirliği ne kadar fazla ise kodun içerisindeki sınıfların birbirleriyle
                                      olan bağlılığı o kadar azalır. Böylece yazılım geliştirici, nesne yönelimli
                                      programlama hedeflerinden biri olan yüksek kohezyon (high cohesion)
                                      ve gevşek bağımlılık (loose coupling) durumunu sağlamış olur.

                                  Görüldüğü üzere yazılım geliştirme sürecinde yazılım test yaklaşımı olarak

                                  TDD’nin  kullanılmasının  bir  çok  avantajı  vardır.  Her  yazılım  projesinin
                                  gereksinimleri  farklıdır  ve  TDD’nin  uygulanabilirliği  projenin  özelliklerine
                                  ve  ihtiyaçlarına  bağlı  olarak  değişebilir.  Pojenin  büyüklüğü,  geliştiren
                                  ekibin yetkinliği, proje yönetim metodu gibi konular düşünülerek TDD’nin
                                  kullanılıp kullanılmayacağına karar verilebilir. Projeyi geliştiren ekip TDD’yi
                                  benimsemeye  istekliyse  ve  bu  yaklaşımı  kullanmaya  motive  ise  projenin
                                  TDD ile yürütülmesi daha kolay olacaktır.
   180   181   182   183   184   185   186   187   188   189   190