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

Yazılım Testleri ve Test Odaklı Geliştirme Yaklaşımının Kullanımı  | 179


           Test senaryolarını yazarken Given, When, Then gibi komutlar kullanılır.

            •   Given: Belirli bir senaryo yazılır.
            •   When: Bir eylem gerçekleşir.

            •   Then: Çıktı sağlanır.

           Uygulama için kabul testleri yazmak amacıyla kullanılan BDD çerçevesine dayalı bazı araçlar vardır.
           Bunlardan en bilineni Cucumber’dir. Cucumber ile iş analistleri, geliştiriciler ve test uzmanları için
           kolayca okunabilir ve anlaşılabilir formatta işlevsel doğrulamanın otomasyonu yapılabilir.





           3.3. Kabul Testi Odaklı Geliştirme (Acceptance Test Driven Development - ATDD)

           Gereksinimlerin ve kabul kriterlerinin doğrulanması bu yaklaşımın ana odağıdır. Iletişim, işbirliği

           ve berraklık esası ile hareket edilir. Tüm paydaşların (geliştiriciler, analistler, son kullanıcılar vs.)
           katılımı  ile  kabul  kriterleri  tanımlanır.  Kabul  testleri,  yazılım  bitmiş  sayılmadan  önce  mutlaka
           başarılı şekilde geçmesi gereken test seti olarak tanımlanır. Geleneksel olarak yazılım geliştirme
           sürecinin sonunda çalıştırılır.

           Ortak olarak tanımlanan kabul testi, geliştirmeye başlamadan önce otomatize edilir. Tüm proje
           üyelerinin  nelerin  tamamlanması  gerektiğini  anlamasını  sağlar.  ATDD  yaklaşımında  otomatize
           edilmiş testler, geleneksel olarak sonra çalıştırılma yerine proje boyunca çalıştırılabilir.

           Doğası gereği davranış odaklı geliştirmeye benzer, ancak kabul testi odaklı geliştirme, esas olarak

           sistemin  işlevsel  davranışını  tahmin  etmeye  odaklı,  yazılımın  gereksinimlerini  karşılayan  koda
           odaklanır. Amaç, uygulanabilir testler yapmaktır. Kodda değişiklik yapıldığından otomatik olarak
           yürütülür. BDD gibi, testler düz metin olarak yazılır.

           ATDD’nin avantajları şu şekilde sıralanabilir:

            •  Gereksinimler, herhangi bir belirsizlik olmadan çok net bir şekilde analiz edilir.

            •  Tüm ekip genelinde iletişimin iyi olmasını sağlar.

            •  Kabul testleri, yazılımı ulaşması gerektiği noktaya doğru yönlendirir ve bir kılavuz görevi
                görür.

            •  ATDD’nin otomasyonu geri bildirim süresini azaltabilir.





           3.4. Test Yaklaşımları Arasındaki Farklar

            •  TDD daha tekniktir ve özelliğin uygulandığı aynı dilde yazılır. Örneğin Java ile uygulanıyorsa,

                JUnit testleri yazılır. BDD ve ATDD ise basit Ingilizce dilinde metin olarak yazılır.

            •  TDD yaklaşımı, bir özelliğin uygulanmasına odaklanır. BDD, özelliğin davranışına odaklanır.
                ATDD ise gereksinimleri yakalamaya odaklanır.
   174   175   176   177   178   179   180   181   182   183   184