Geri Dön

The effects of test driven development on software productivity and software quality

Sınamaya dayalı geliştirmenin yazılım üretkenliği ve yazılım niteliğine etkileri

  1. Tez No: 176860
  2. Yazar: CUMHUR ÜNLÜ
  3. Danışmanlar: PROF. DR. SEMİH BİLGEN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2008
  8. Dil: İngilizce
  9. Üniversite: Orta Doğu Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 99

Özet

1990'larda, yazılım projeleri boyutça daha büyük ve yapıca daha karmaşık bir hale geldi. Geleneksel geliştirme süreçleri bu büyüyen projelerin ihtiyaçlarına cevap veremedi. Geleneksel metotlarda yapılan kapsamlı dokümantasyon, süreçleri yavaşlatıyor ve yazılım geliştiricileri isteksizleştiriyordu. Kod yazımından sonra testlerin yapılması fazla zaman alıyordu, çok masraflıydı ve hata düzeltme ile hata ayıklamayı zorlaştırıyordu. Kodun projenin sonunda düzeltilmesi de yazılımın içsel niteliğini etkiliyordu. Çevik yazılım geliştirme süreçleri bilinen bu problemlere hızlı çözümler getirebilmek için geliştirildi. Sınamaya Dayalı Geliştirme (SDG) birçok çevik metotta kullanılan, dokümantasyonun azaltılmasını, kod yazılmadan önce otomatik testlerin yazılmasını ve hızlı geri besleme alınması için testlerin sıkça koşturulmasını öneren bir tekniktir. Amaç, hata düzeltme zamanını kısaltarak yazılım üretkenliğini ve yazılım geliştiriciye hızlı geri beslemeler sağlayarak yazılım niteliğini arttırmaktır. Bu tezde, SDG tekniği ile bir proje geliştirildi ve geleneksel geliştirme tekniği ile geliştirilen bir kontrol projesi ile yazılım üretkenliği ve yazılım niteliği açısında karşılaştırıldı. Buna ek olarak, SDG projesi, daha önce geliştirilmiş olan bir projeyle ürün niteliği açısından karşılaştırıldı. SDG uygulanmasının yararları ve zorlukları da çalışma boyunca incelendi.

Özet (Çeviri)

In the 1990s, software projects became larger in size and more complicated in structure. The traditional development processes were not able to answer the needs of these growing projects. Comprehensive documentation in traditional methodologies made processes slow and discouraged the developers. Testing, after all code is written, was time consuming, too costly and made error correction and debugging much harder. Fixing the code at the end of the project also affects the internal quality of the software. Agile software development processes evolved to bring quick solutions to these existing problems of the projects. Test Driven Development (TDD) is a technique, used in many agile methodologies, that suggests minimizing documentation, writing automated tests before implementing the code and frequently run tests to get immediate feedback. The aim is to increase software productivity by shortening error correction duration and increase software quality by providing rapid feedback to the developer. In this thesis work, a software project is developed with TDD and compared with a control project developed using traditional development techniques in terms of software productivity and software quality. In addition, TDD project is compared with an early work in terms of product quality. The benefits and the challenges of TDD are also investigated during the whole process.

Benzer Tezler

  1. Evaluation of productivity and observability in agile software development processes: An analytical dashboard design and implementation

    Çevik yazılım geliştirme süreçlerinde üretkenlik ve gözlemlenebilirliğin değerlendirilmesi: Analitik bir pano tasarımı ve uygulaması

    VERDA KILIÇ

    Yüksek Lisans

    İngilizce

    İngilizce

    2025

    Bilim ve Teknolojiİstanbul Teknik Üniversitesi

    İşletme Mühendisliği Ana Bilim Dalı

    DOÇ. DR. NİHAN YILDIRIM

  2. Shipyard productivity evaluation with key performance indicators

    Tersane üretim verimliliğinin temel performans göstergeleri ile değerlendirilmesi

    ÜMRAN BİLEN

    Doktora

    İngilizce

    İngilizce

    2022

    Gemi Mühendisliğiİstanbul Teknik Üniversitesi

    Gemi İnşaatı ve Gemi Makineleri Mühendisliği Ana Bilim Dalı

    PROF. DR. ŞEBNEM HELVACIOĞLU

  3. İklimlendirme sistemleri üzerinde makine öğrenmesi ile anomali tespiti

    Anomaly detection with machine learning on air conditioning systems

    REFİK KİBAR

    Yüksek Lisans

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSakarya Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ MUHAMMED FATİH ADAK

    DR. ÖĞR. ÜYESİ KEVSER OVAZ AKPINAR

  4. İnşaat projelerinde akıllı mobil cihazlarla desteklenen verimlilik kontrol sistemi önerisi ve kullanım deneyimleri hakkında inceleme

    Smart mobile devices integrated productivity control system proposal and analysis of user experiences in the construction projects

    ONUR KEREM ÖRENLİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    İnşaat Mühendisliğiİstanbul Teknik Üniversitesi

    İnşaat Mühendisliği Ana Bilim Dalı

    DOÇ. DR. DENİZ ARTAN

  5. Dijital dönüşümün çalışan motivasyonu, çalışan iş tatmini ve örgütsel bağlılığa etkisi

    The impact of digital transformation on employee motivation, employee job satisfaction and organizational commitment

    MEHMET BATUHAN BİLGİLİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Endüstri ve Endüstri Mühendisliğiİstanbul Teknik Üniversitesi

    Endüstri Mühendisliği Ana Bilim Dalı

    DOÇ. DR. CEMİL CEYLAN