Test Driven Development (TDD) Nedir?

Slides:



Advertisements
Benzer bir sunumlar
HTML.
Advertisements

.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Sınav ve Test Tekniği Her işin bir tekniği vardır.
ClickMerkez İş Ortaklığı Sistemi Daha çok kazanmak için beklemeyin!
Meslek Yüksekokulu, 25 kasım 2010
İSİM UZAYLARI.
ÖLÇME VE DEĞERLENDİRME Temel Kavramlar
BT Denetimi Uygulama Başarısı
MESLEĞE YÖNELTME SEMİNERİ
RAID Nedir?.
OKUL-AİLE İŞBİRLİĞİNİN ÖNEMİ
ERK İSG&İK – –
Nesneye Dayalı Programlama
VIEW (BAKIŞ) OLUŞTURMA
YZM Yazılım Doğrulama ve Geçerlileme
Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini.
Bilgisayar Programlama
ÖLÇME VE DEĞERLENDİRME DERSİ
OKUL REHBERLİĞİNDE MESLEK DANIŞMANLIĞI
FONKSİYONLAR.
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Eğitim ile İlgili Uluslararası Bilimsel Dergilerde Yayın Yapma Süreci
Proje Yönetimi Proje Yönetimine Giriş
Öğrenci İçin Pozitif Kazançlar
Yıldız Teknik Üniversitesi Makina Müh. Bölümü
İŞLEMCİ MİMARİLERİ – Derya Işık
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
DOĞAL AFET BTÖ–302 Internet Ortamında Yazarlık Dilleri ve Uygulamaları
WİNDOWS GEZGİNİ.
Çevik Metodolojiler mi Geleneksel Metodolojiler mi?
Programlama Dili nedir? Programlama Dili nedir?. Programlama Dili: Programcının bir bilgisayara ne yapmasını istedi ğ ini anlatmasının standartlaştırılmış.
Sınav Kaygısı ve Önleme Yolları.
Hatalarda Normal Dağılım
" Nasıl Başarılı Oldum ?”.
Verimli Ders Çalışmayı öğrenmek istiyor musunuz?
18 Adımda Test Çözme Becerisi
MESLEĞE YÖNELTME SEMİNERİ. MESLEK SEÇİMİ NEDEN HAYATINIZIN DÖNÜM NOKTALARINDAN BİRİDİR?
TEMEL php Dersleri - Ders 1 Değişgenler
Bilgilendirme Teknikleri
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
n Düzey: n Düzey: Lise 1. Sınıf öğrencileri n Genel Hedef: n Genel Hedef: Karar verme becerisini geliştirmelerini sağlayabilme. n Oturum Sayısı: n Oturum.
DUYURU ATATÜRK İLKELERİ VE İNKILAP TARİHİ DERSİ ARASINAVI
Sebep Sonuç İlişkileri. Sebep sonuç ilişkilerini belirleme gerek günlük düşünmelerimizde gerekse bilimsel düşünmede önemli bir yere sahiptir.
ÜYELİK İÇİN ÖNCELİKLE «ONLİNE-TEST» SEKMESİNİ TIKLIYORUZ ÜYELİK İÇİN ÖNCELİKLE «ONLİNE-TEST» SEKMESİNİ TIKLIYORUZ.
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
Bulanık Mantık Kavramlar:
TEST ÇÖZME TEKNİKLERİ ŞAHİNBEY REHBERLİK VE ARAŞTIRMA MERKEZİ Hazırlayan: Psikolojik Danışman Gamze UĞUR.
Üniversiteler İçin Proje Yönetim Bilgi Sistemi
Kurumsal Ağlarda Uzak ve Merkezi İşlem Birimlerinin Sanallaştırılması: Bir Uygulama Emrah ÇOLAK, SGK Aydın ÇETİN, Gazi Üniversitesi ŞUBAT 2016.
Ailenin Çocuğun Başarısındaki Rolü ,Sağlıklı İletişim ve Aile Sağlığı
2013 SBS SİSTEMİ VE SINAVLARDA NASIL BAŞARILI OLURUM SEMİNERİMİZE HOŞ GELDİNİZ Sevilay TAGTAŞ Rehber Öğretmen AKEV REHBERLİK SERVİSİ.
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Sistem Analizi ve Tasarımı
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
BASILI MATERYALLER. CİHAT YAĞIZ AHMET AKTAŞ ENES UZUN EBRU AKBAŞ.
Bölüm 1 Giriş. Bölüm 1 Giriş Teknolojik Yeniliğin Önemi Teknolojik yenilik günümüzde birçok endüstrideki rekabet başarısının en önemli tek itici gücüdür.
ADIYAMAN ÜNİVERSİTESİ
BİLME-BİLGİ EDİNME, BİLGİ EDİNMENİN YOLLARI VE ÖNEMİ
Girİşİmcİ Kİmdİr? ÖĞR.GÖR.TAYLAN VURGUN.
ÜGD MEVZUATI ve TAREKS - II
Yazılım Bakımı Yazılım Mühendisliği.
TEST ÇÖZME TEKNİKLERİ YGS ve LYS test tekniğine dayalı sınavlardır. Bu sınavlarda başarılı olmak test çözme becerisi kazanmayı gerektirir.
SINAVLARDA BAŞARILI OLMA YOLLARI
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması
YER TEMİZLEME MAKİNASI
POLYÜREA MASTİK.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Kriptopara Yatırım Stratejileri ve Yatırım Psikolojisi
TEST.
Sunum transkripti:

Test Driven Development (TDD) Nedir? Test Driven Development diğer adlarıyla Test First Development olarak adlandırılır. TDD, test bazlı bir yazılım geliştirme yöntemidir. Bu yöntem, basit ve kısa adımlarla, önceden tasarlanmış senaryoları hızlı bir şekilde koda dökmeyi hedeflemektedir. Bunun yanında bu yöntemin pek çok avantajı da geliştirme sırasında fark edilebilir, ancak bunlara yazının ilerleyen kısımlarında değinmek istiyorum. Test Driven Development’ın dışarıdan adını ilk duyduğunuzda geliştirdiğiniz yazılımı test etme ile ya da yazılım ekibindeki Tester arkadaşlarla alakalı olduğunu düşünebilirsiniz fakat gerçekte geliştirilmiş yazılımı test etmekten ziyade onu geliştirirken kullanılan yöntemidir. Kısaca tanımlarsak kodu yazmadan önce testlerini yazıyoruz ardından bu testleri geçecek kodu yazıyoruz.TDD bu şekilde devam eden bir yazılım geliştirme yöntemidir.Bu testleri kim yazacak? Tabi ki kodu geliştiren yazılımcılar yani biz. Yeni bir fonksiyon ya da geliştirmeyi tanımlamak için fail eden otomatik test yazma tekniği büyük ya da küçük birçok firmanın sundukları servislerin kalitesini arttırmak ve geliştirme yapmak için mükemmel yöntemlerden biridir.

Test Driven Development (TDD) Neden Kullanılır? Doğru ve bilinçli uygulanan TDD sayesinde, projelerin başarı oranlarının ciddi artışlar gösterdiği ispat edilmiştir. TDD nin getirdiği iş yükü, sağladığı kazancın yanında önemsenmeyecek kadar küçüktü

Test Driven Development (TDD) Nasıl Oluşturulur? Test kodunu yaz, Test kodunu derle, (bu aşamada kodun derlenemiyor olması gerekmektedir. Çünkü test kodunda yazdığımız hiç bir şeyi aslında henüz tanımlanmadı) Test kodunun derlenmesine yetecek kadar kod yazıp kodu derle, Testleri çalıştır ve testlerin başarısız olduğunu gör, Sadece testlerin başarılı olmasını sağlayacak kadar tanım yap, Testleri tekrar çalıştır ve başarılı olduğundan emin ol, Kodun açıklayıcı olması ve tekrarlanmaması için gerekli düzenlemeleri yap, Bir sonraki adım için başa dön. İlk yazılan testler patlar, Sonra bu patlayan testleri düzeltmek için uygulamaya iş yapan sınıflar eklenir. Ve  süreç bu testlerin elden geçirilmesiyle (refactoring) devam eder. Bu iş döngü şeklinde devam eder ve gider.

Test Driven Development (TDD) nin Avantajlar Nedir? Yeni eklenen kodlar, ya da değiştirilen kodlarda mevcut kodların işlevlerinin bozulmaması. Daha hızlı yazılım geliştirme Çok daha az hata içeren kod Daha kaliteli kod Hataların daha çabuk tespiti - Basit ,karmaşıklık içermeyen kod

Test Driven Development (TDD) Dezavantajları Nedir? Test Driven Development (TDD) Dezavantajı yeterli tecrübe yok ise çok fazla vakit kaybına neden olabilirsiniz.

Teşekkürler Orhan YENER