Kayıt Ol

Gönderilerinizi yayınlamak, insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne kaydolun.

Hesabın var mı? Giriş Yap
Google ile devam et Linkedin ile devam et GitHub ile devam et
ya da

Hesabın var mı? Şimdi Giriş Yap

Giriş Yap

Gönderilerinizi paylaşmak ve insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne giriş yapın.

Buradan kaydolun
Google ile devam et Linkedin ile devam et GitHub ile devam et
ya da

Parolamı unuttum?

Hesabınız yok mu? Buradan kaydolun

Parolamı unuttum

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Hesabın var mı? Şimdi Giriş Yap
Giriş YapKayıt Ol

Yazılım Köyü

Yazılım Köyü Logo Yazılım Köyü Logo

Yazılım Köyü Navigation

  • Anasayfa
  • Hakkımızda
  • Etkinlikler & Eğitimler
    • Ücretsiz Eğitimler
    • Ücretli Eğitimler
  • İş İlanları
  • Ekibimiz
  • Partnerler
  • Sponsorlar
  • İletişim
Ara
Paylaşım Yap

Mobile menu

Close
Paylaşım Yap
  • Anasayfa
  • Etkinlikler & Eğitimler
  • Partnerler
  • Sponsorlar
  • Ekibimiz
  • Gruplar
  • Grup Ekle
  • Kategoriler
  • Tüm Paylaşımlar
    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
  • Oylamalar
  • Etiketler
  • Rozetler
  • Tüm Kullanıcılar
  • Destek
  • İletişim
Anasayfa/ Paylaşımlar/Q 62360
Sonraki
Cemaltuysuz
Cemaltuysuz

Cemaltuysuz

  • Mobile Developer
  • 19 Paylaşımlar
  • 3 Yorumlar
  • 0 En İyi Yanıtlar
  • 358 Puan
Profili gör
CemaltuysuzKöyün Muhtarı
Tarih: Aralık 8, 20212021-12-08T11:56:25+03:00 2021-12-08T11:56:25+03:00Kategori: Diğer

Test Odaklı Geliştirme

Test Odaklı Geliştirme

Test Odaklı Geliştirme Nedir?

Standart kodlama süreci şuna benzer:

 

Talep doğrultusunda bir koda çatapat girer kodu yazar ve run ederiz, eğer görünürde her şey iyi gözüküyor ve kabul ediliyorsa yolumuza devam ederiz.
Oysa bir TDD iş akışı şöyle görünür:


Test odaklı geliştirme , üç aktivitenin karıştırıldığı bir programlama stilini ifade eder: kodlama , test etme ve tasarım . Kodun ne yapacağını tanımlamak ve doğrulamak için test senaryolarının geliştirildiği bir yaklaşımdır. Yani önce testler yazmamız, ardından üretim kodunu yazmamız gerekiyor. Geliştiricilerin işlevsellik yazmadan önce test senaryolarını kullanması fikrine dayanır.

TDD’de testleri birim testleri olarak adlandırıyoruz. Birim testi, “birimlerin” (bireysel yazılım bileşenleri) test edildiği bir yazılım test yöntemidir . Programcılar, kodun doğru çalıştığından emin olmak için birim testleri yazarlar. Ayrıca, birim testleri yazmak, kodun kendisini daha sağlam ve bakımı daha kolay hale getirmeye de yardımcı olur.

Test Odaklı Geliştirmenin Faydaları

Artık TDD ile tanıştığımıza göre, kodumuzda neden TDD’yi uygulamamız gerektiğini merak edebiliriz. Güçlü yanlarını ve en iyi nerede kullanıldığını anlamak için sunduğu temel faydaları gözden geçirelim.

1. Yüksek düzeyde kullanılabilir yazılım geliştirmek

Önce test yaklaşımı sayesinde, geliştiricilere, kullanıcıların karşılaşabileceği kullanılabilirlik zorluklarını daha dikkatli düşünme fırsatı verilir.

2. Hataları azaltın

Bu, TDD’yi uygulamanın yadsınamaz bir faydasıdır. Testler, geliştirmenin her aşamasında kodun açık kalmasını sağlar. Ayrıca testler, geliştiricilerin sorunları hemen tespit etmesine ve ardından hızla düzeltmesine yardımcı olur. Hata bulmak için daha az kaynak harcanarak ekipler bir projenin sonraki aşamasına geçebilir

3. Kod tekrarından kaçının

Kod, yeniden düzenleme yoluyla sürekli olarak temizlenir ve yeni kodun eklenmesi için yer açılır. Ayrıca bu , programınızın temiz kod özelliğini de geliştirir . Yeniden kullanılabilir kod herkes için bir kazançtır: Temiz, verimli ve tutarlıdır.

4. Kodu basitleştirin

TDD, kodun basitleştirilmesini teşvik eder. Fazla Kodu sınırlayabilir ve kodun kullanımını kolay tutmaya yardımcı olur.

5. Kodun kalitesini kontrol edin

Testler, kod için kalite metrikleri oluşturur. Geliştirici ekibi, kodun ne kadar iyi olduğunu etkili bir şekilde belirlemek için TDD’yi kullanabilir. Ayrıca, birim testi kod kapsamını iyileştirir. Bu, birim testleri yazarak, bir projenin veya işlevin toplam kapsama yüzdesini kontrol edip belirleyebileceğimiz anlamına gelir.

Yukarıdaki tüm noktalara rağmen, kod karmaşıklığını azaltmak, performansı ölçmek, vb. gibi TDD’nin sunabileceği birçok avantaj vardır .

Test Odaklı Geliştirme Nasıl Gerçekleştirilir?

 
Artık TDD’nin ne olduğunu ve faydalarını öğrendiğinize göre, TDD testinin nasıl yapılacağına ilişkin adımları görelim. guru99’a göre, TDD’nin nasıl gerçekleştirileceğine ilişkin adımlar şunlardır:

  1. Bir test ekle. (Birimlerini ve fonksiyonlarını oluştur.)
  2. Testlerini çalıştır ve başarısız olup olmadıklarını gözlemle.
  3. Biraz kod yaz.
  4. Test ve Refactor Code
  5. Tekrarla

Kırmızı -Yeşil-Refactor

Bunun dışında, TDD’deki kırmızı-yeşil-refactor döngüsüne de aşina olabilirsiniz . Sorumluluk reddi için, trafik ışıklarından bahsetmiyoruz. Şimdi şu grafiğe bir göz atın:


Şimdi, kırmızı-yeşil-refactor nedir?

  1. Kırmızı → Burada neyi geliştirmek istediğinizi düşünün . Genellikle testleri oluşturur, çalıştırırız ve henüz kodu uygulamadığımız için başarısız olurlar.
  2. Yeşil → Bu aşama, testinizi geçmek için kodu uyguladığınız yerdir. Amaç, uygulamanızı optimize etme konusunda endişelenmeden bir çözüm bulmaktır.
  3. Refactor → Refactor aşamasında, hala “yeşildesiniz”. Ancak, kodunuz hala dağınık olabilir. Burada, kodunuzu nasıl düzgün veya verimli bir şekilde uygulayacağınızı düşünmeye başlayabilirsiniz.

 

Son sözler

Sonuç olarak, TDD’yi uygulamak, yazılım geliştirmede birçok fayda sağlar. Hataları, hataları azaltır ve kod oluştururken kesinlikle zaman kazandıracaktır. Ayrıca, TDD’yi kullanmak, daha fazla iyileştirme için kodunuzu büyütmenize de yardımcı olabilir.

Kaynak : https://medium.com/@jeromezebua/software-methodology-test-driven-development-359009dcc47c

tdd
  • 0 0 Yanıt
  • 945 Görüntüleme
  • 8 Beğeni
Yorum Yap
Paylaş
  • Facebook

    Benzer Paylaşımlar

    • iPhone 15 Pro Max Kazanma Şansı için arabunu.com Ücretsiz Çekilişine Katılın!
    • Yazılım Öğrenme Uygulamamız
    • Yazılım Köyü | Temel SQL Eğitimi Tarihi Revize!

    Sidebar

    Paylaşım yap
    • Popüler
    • Yanıtlar
    • Etiketler
    • Buse TURAN

      FULL STACK SUPERMAN / SUPERWOMAN OLMAK İÇİN YAPMANIZ GEREKEN ÜCRETSİZ ...

    • Selin Dayıoğlu

      4 Ücretsiz Sertifika Sitesi

    • Yazılım Köyü

      Zemin İstanbul'la SQL Server Eğitimi | Teknik Test Aşaması

    • ibrahim Demirli

      Angular 12 ile gelen önemli yenilikler

    • Sait ORHAN

      Stajyerlerimi Nasıl Eğitiyorum?

    • Yazılım Köyü

      AFET BÖLGESİ İÇİN ÜCRETSİZ YAZILIM EĞİTİMLERİ

    • Buse TURAN

      Her Geliştiricinin Favorilerine Eklemesi Gereken 12 Ücretsiz Tasarım Kaynağı

    • Buse TURAN

      BİR SONRAKİ PROJENİZ İÇİN 12 EĞLENCELİ API

    • Edanur Öztürk

      Geleceğe Giriş-Doğuş Teknoloji

    • Buse Öztan

      HTML-CSS gibi kodlamalarda kullandığınız en favori editörünüz hangisi?

    • Leonard Bryan
      Leonard Bryan Yanıtlandı Thanks for the valuable post! Hey, Send emails, automate marketing,… Mayıs 5, 2025 at 7:43 pm
    • Tyrone Munoz
      Tyrone Munoz Yanıtlandı GetResponse is a game-changer for email marketing! It offers powerful… Nisan 12, 2025 at 4:45 am
    • Journey Bradshaw
      Journey Bradshaw Yanıtlandı GetResponse is a game-changer for email marketing! It offers powerful… Nisan 11, 2025 at 7:39 pm
    • Kasen Frye
      Kasen Frye Yanıtlandı GetResponse is a game-changer for email marketing! It offers powerful… Nisan 9, 2025 at 10:25 am
    • Cihad Köse
      Cihad Köse Yanıtlandı gayet güzel Haziran 18, 2023 at 12:03 am
    #abap#sap #aspnetcore #dependencyinjection #aop #autofac #işarayışı #destek #javascript #angular12 #software #education #oyun #yazılım .net .net6 .net core .netcore 3des 5g 100 daily ui free :staj :java abap abd acid adesense adobe adviceslip aes ai airbnb akademi aksigorta algoritma amazon android android-libraries android-smart-tv android achitecture andromo angular anijs animate.css anime.js animista ansible ant design api api gateway apple appsetting appsettings apps geyser app yet appy pie arabunu arama motorları arduino argondesignsystem artifical intelligence artificial intelligence artificialintelligence arçelik asimetrik şifreleme asp:net atom awesome screenshot & screen recorder aylıkgelir backend backgroundjob bakış açısı basis başarı belge bilgisayar bilgisayarmühendisliği bilgisayar mühendisliği bilişim birey blockchain blogger blueprint blush bootcamp borunv brave browser budibase buffer business analytics büyük veri c# altın kurlarını gösterme c# json İle veri Çekme c++ cakephp calculated columns canva cdn chakra ui class cloud cobalt 2 codepen challenges coderbyte codewell coding coding ninjans colorpick eyedropper component containers convertio cookie coursera'dan veri bilimine giriş kursu cqrs css cssbattle css peeper cte cursor cyber cybersecurity dapper data database datamining data science with r by pluralsight dba db shading deeplearning delivery hero deney derin Öğrenme derin Öğrenme ve makine Öğrenimi des design destek mühendisi developer değerlendirme değişim dijital göçebelik dijital ihracat dikey büyüme dikkat edilecekler dil eğitimi discord django dns docker double dracula official dyno bot döviz çevirici e-ticaret e-ticaret mağazası ecommerce edabit edit editör educative elektrik elektronik elon musk empati engineer eninovatif50şirket entityframework entity framework core 5 environment variables erasmus etkinlik exception eğitim facebook face recognition fastai fastapi figma firebase firefox teması firewall flask float fluentvalidation flutter flutterdeveloper fonksiyon fonts fonts ninja fortinet framework free freecodecamp freeillustrations freelance frond-end front-end front-end developer roadmap front-end geliştirici yol haritası frontend frontenddeveloper frontend mentor fullstack funny fuul stack react game game developer gary hamel gateway geeksforgeeks geliştirici geliştirme gerçek zamanlı sohbet uygulaması getir geçikme girişim girişimcilik git github gitlab gittigidiyor gittigidiyor teknoloji akademisi go golang goodbarber google gsap gui gzip güvenlikduvarı hackerearth hackerrank hamburgers hangfire harvard data science course hash hata hava durumu raporu uygulaması hayat hobi home office hover.css hsd hsdturkey html html5-semantic html mail gönderme http http bağlantısı kurma http durum kodları httpie http mesajları http yöntemleri hulu humaaans icongenarator icons 8 ieee spectrum ikaros partners ileri image downloader infrastructure inovasyon insider insomnia internet intership invision app ios ira design it iş iş analitiği işbulma iş fırsatı iş imkanı işimkanı işletme java java eğitim bootcamp javascript javascript30 jetpack js jservice js kütüphanleri junior kariyer fırsatı kategori yönetimi kaynak keras kestrel kevin murray kitaplık kişisel gelişim kişisel portfolyo kod kodlama komunite kotlin kriptoloji kullanımamaçları kute.js kültür kütüphane laravel laserwave latency leanback learn learncpp library liderlik lightbootstrapdashboard lime linkedin liquid liquid dili liquid lang localstorage maaş macbook machine learning machinelearning machine learning a-z: hands-on python and r --- in data science magic effects mail send makine Öğrenimi makine Öğrenimi nasıl Çalışır? makine Öğrenimi nedir? makine Öğreniminin kullanımları makine Öğrenmesi makineöğrenimi manta manypixels mark text marvelcomicsapi maslow material ui merge sort metodoloji microsoft microsoft sql server eğitimi cv İnceleme sonuçları middleware mikro orm mikroservis mikroservisler mikroservis mimarisi mikroservis yönetimi ml mng kargo mo.js mobile modelleme mongodb montaj motion ui mssql mvc mvm münazara. müzik oynatıcısı n11 nasaapi nestjs net5 netflix network networking networking fundamentals new features night owl nintendo nlp no-code nocode node.js node.js indir node.js kurulumu node.js nedir nodejs nodejs javascript frontend noktalı sayı not notusreact nrkdrk ntp nuxtjs nvidia oci oh my zsh olacaklar ve öğrenilecekler omnichannel one dark pro online online eğitim siteleri oop opentowork ortalama maaş outrun paaatterns pagedlist palenight pandas par-tİme parçalama pasif gelir paypal pazarama pgpool phalcon php phpmyadmin phpstorm phyton pil platformlar arası uygulama playstation podman popmotion posgresql parçalama postgresql postgresql cte posthog power bi prerender prisma problem tanımı productivity profesyonel programlama programming proje pycharm pyramid python python ile veri bilimi pytorch querying razer rdp react react datepicker reactjslanding react native react navigation typescript reactopen reactreduction react select reactstrap reba recommender systems renova requests responsive rest api ripng rosetta stone rsa s3 salesforce sap sap abap scikit-learn scrapy screencat scrollreveal js search ui security selamlaşma sentry seo sertifika server serversiderender seviye shades of purple shap shardsdashboardlites shopify sibergüvenlik simetrik şifreleme simterik şifreleme single page application slack slackhq smooth ui snyk software software engineer sohbet geçmişi solid solid prensipleri sortable- hoc sorting source spa spacex spagetti kod spotifyapi spring sql sqlite sql quick guide sql server sqlserver ssr staj staj iş arayışı stajyer startup stevejobs storybook stratejik yatırım struct sublime text supabase svg export swagger swift symfony sınıflar ve yapılar arasındaki farklar sıralama sıralama algoritma sıralama algoritmaları t-sql tallyforms tanışma tasarım tdd tech tech-academy teknoloji temiz kod template langueage tensorflow the future of management three.js tools toptalent topwebsites tpt tph treehouse trendyol tsql turkcell typescript udacity'den veri bilimine giriş ui ui space undraw uniqid unity uplabs user secrets uuid ux uygulama uzaktan validation velocity.js vercel veri veri analizi veri bilimcisi olmak İster misiniz? veribilimi veri bilimi az: gerçek hayat veri bilimi alıştırmaları dahil veri bilimi sertifikasyon eğitimi --- r programlama veri bilimi ve makine Öğrenimi için python eğitim kampı veritabanı veri tabanı veritabanıyöneticisi video vierbinding visual studio visual studio code vivus.js vizyon vmd vscode vs code vue vue fundemental vue fundemental eğitimi vue router web webdev webdeveloper webinar website web tarayıcı web tasarım weekly whatsapp whirl winter is coming wordpress wpf wrapkitreactliteuikit xai yabancı dil yapay genel zeka yapay zeka yapayzeka yapay zekanın tanımı yapay zekanın tarihi ve dönüm noktası yardım yatırım yaz stajı yazılım yazılımcı yazılım ekibi yazılım fikri yazılım geliştirici yazılım mühendisliği yemeksepeti yenimezun yeni özellikler yetiştirilmek üzere eleman yii 2 youtube youtube-dl yönetim yük testi zorunlustaj zuckerberg Çalışma ortamı Çerezler Özellikler ÖĞrencİ Ücretsiz Ücretsiz eğitim Ücretsiz Eğitimler çalışma çağlayan çekiliş çevik ölçeklendirme önyüz tasarımı özgeçmiş ücret üniversite İkaros&partners İletişim İş zekası İş İlanı Şirket şifreleme şifre sıfırlama

    Ekibe Katıl!

    Sosyal Medya

    Trend Etiketler

    algoritma android bootcamp c++ eğitim insider java javascript kod kodlama python react sql staj veri vue fundemental eğitimi web yazılım Ücretsiz eğitim Ücretsiz Eğitimler İş İlanı

    Benzer Paylaşımlar

    • Yazılım Köyü

      iPhone 15 Pro Max Kazanma Şansı için arabunu.com Ücretsiz Çekilişine ...

      • 0 yanıt
    • nihatzp

      Yazılım Öğrenme Uygulamamız

      • 0 yanıt
    • Yazılım Köyü

      Yazılım Köyü | Temel SQL Eğitimi Tarihi Revize!

      • 2 yanıt

    Başvuru Yap

    Popüler Kullanıcılar

    Yazılım Köyü

    Yazılım Köyü

    • 102 Paylaşımlar
    • 7k Puan
    İşinin Ehli
    Buse TURAN

    Buse TURAN

    • 36 Paylaşımlar
    • 2k Puan
    İşinin Ehli
    Serkan Koç

    Serkan Koç

    • 8 Paylaşımlar
    • 2k Puan
    İşinin Ehli
    Mustafa(Hüseyin) Sungur

    Mustafa(Hüseyin) Sungur

    • 44 Paylaşımlar
    • 1k Puan
    İşinin Ehli
    Sait ORHAN

    Sait ORHAN

    • 15 Paylaşımlar
    • 1k Puan
    İşinin Ehli

    Explore

    • Anasayfa
    • Etkinlikler & Eğitimler
    • Partnerler
    • Sponsorlar
    • Ekibimiz
    • Gruplar
    • Grup Ekle
    • Kategoriler
    • Tüm Paylaşımlar
      • Güncel Paylaşımlar
      • Trend Paylaşımlar
      • En Çok Tıklanan Paylaşımlar
    • Oylamalar
    • Etiketler
    • Rozetler
    • Tüm Kullanıcılar
    • Destek
    • İletişim

    Footer

    Yazılım Köyü; Türkiye’nin yazılım üretmek, ihraç etmek ve her yaştan kendini geliştirip meslek sahibi olmak isteyen insanları için kurulmuş bir sosyal sorumluluk projesidir.

    Paylaşımlar

    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
    • Yanıtlanmayan Paylaşımlar

    Kurumsal

    • Blog
    • Partnerler
    • Sponsorlar
    • Ekibe Katıl
    • Hakkımızda
    • İletişim

    Yardım

    • Destek
    • Rozetler
    • Logolarımız
    • Kullanım Koşulları
    • Kişisel Verilerin Korunması
    • Aydınlatma Metni

    Sosyal Medya

    © 2021-2022 yazilimkoyu.org. Sosyal sorumluluk projesi. Bütün hakları saklıdır.

    Web sitemizde size en iyi deneyimi sunabilmemiz için çerezleri kullanıyoruz. Bu siteyi kullanmaya devam ederseniz, bunu kabul ettiğinizi varsayarız.Tamam