Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. IT-Berufe-Podcast Podcast
  4. Einführung in Test Driven Development – Anwendungsentwickler-Podcast #103
Einführung in Test Driven Development – Anwendungsentwickler-Podcast #103

Einführung in Test Driven Development – Anwendungsentwickler-Podcast #103

IT-Berufe-Podcast vor 9 Jahren
Zu Sammlung hinzufügen

Du hast noch keine Sammlungen.

Herunterladen (rechte Maustaste) Teilen Fundstellen Kommentare
0:00
50:27
Eine Einführung in Test Driven Development (TDD) gibt es in der
einhundertdritten Folge des Anwendungsentwickler-Podcasts. Inhalt
Was ist Test Driven Development (TDD)? Beim TDD werden die Tests
vor dem Produktivcode geschrieben. Wie läuft der TDD-Zyklus ab?
Red, green, refactor. Der Test muss fehlschlagen, dann wird er so
einfach wie möglich grün gemacht, dann wird refaktorisiert. Was ist
der erweiterte TDD-Zyklus? Red, optimize failure message, green,
refactor, refactor tests. Zusätzlich zum normalen Zyklus wird Wert
auf sprechende Meldungen bei Fehlschlägen gelegt und auch der
Test-Code explizit refaktorisiert. Wie kann man TDD mit
Integrationstests kombinieren? Wie in GOOS* beschrieben: Zuerst
Integrationstest schreiben, der längere Zeit fehlschlägt, und dann
Schritt für Schritt mit Unit-Tests auf grünen Integrationstest
hinarbeiten. Warum heißt TDD auch Test Driven Design? Weil sich das
Design der Anwendung erst beim Programmieren ergibt. Was sind
Vorteile von TDD? Tests werden nicht vergessen. Hohe Testabdeckung
des Produktivcodes. Gute Modularisierung des Codes durch
Fokussierung der Tests. Hohe Testbarkeit des Codes (wenig
Abhängigkeiten). Langfristig Zeiteinsparung bei der
Weiterentwicklung, da Regression sofort erkannt wird. Experimente
und Refactorings werden durch Testnetz erst ermöglicht. Was sind
Nachteile von TDD? Umstellung beim Entwickler nötig. Zunächst
höherer Zeitaufwand. Legacy Code ist meist nicht gut testbar. Wie
findet man Testfälle? Start mit "Happy Path" übliche
Geschäftsvorfälle einfachste Fälle Edge-Cases/Grenzwerte
Sonderfälle Was sind Äquivalenzklassen? Werte, deren Verwendung in
Tests zum Durchlaufen des gleichen Pfades im Code führen und damit
nicht zusätzlich getestet werden müssen (Beispiel "positive Zahl" 5
und 322). Was ist ein Regressionstest? Regressionstest stellen
sicher, dass Abweichungen vom bisherigen Verhalten (Regression)
schnellstmöglich erkannt werden. Wie steigt man am besten in TDD
ein? Nicht lange schnacken (lesen), Kopp in' Nacken (coden)!
Einfach machen! Am besten mit Code Katas. Literaturempfehlungen Zum
Einstig schau dir mal diese perfekt auf die Begleitmusik angepasste
Implementierung der Kata "Prime Factors" von Uncle Bob an: Prime
Factors Kata in Ruby, Flower Duet, Lakme' Zum Thema TDD empfehle
ich zunächst das "Original" Test Driven Development: By Example*
von Kent Beck, der TDD erfunden hat. Es ist voll mit Beispielen,
gut verständlich und auch nicht allzu lang. Das Buch ist zwar schon
ein paar Tage älter, aber immer noch meine Empfehlung zum Einstieg.
* Etwas moderner geht es zu in Professional Test Driven Development
with C#*. In den Links habe ich auch meine Rezension des Buches
verlinkt. Dort erfährst du noch mehr darüber, warum ich das Buch
empfehlen kann. * Zuletzt noch ein modernes Buch zum Thema testen
und TDD: Pragmatic Unit Testing in Java 8 with JUnit*. Darüber habe
ich schon eine ganze Podcast-Episode aufgenommen und auch eine
Rezension geschrieben (siehe Links). * Falls du schon
fortgeschritten bist, kann ich wärmstens Growing Object-Oriented
Software, Guided by Tests* empfehlen. Das Buch hat mein Verständnis
von TDD noch einmal grundlegend erweitert und mich nachhaltig
geprägt. Ein tolles Buch, das auch den erweiterten TDD-Zyklus
beschreibt und über einfache Unit-Tests weit hinaus geht. * Und
falls du mal lesen willst, wie ich ein Testframework testgetrieben
entwickelt habe, kannst du dir hier den entsprechenden Teil meiner
Masterarbeit herunterladen: NUNIT: A Unit-Test-Framework for
Natural. Links Permalink zu dieser Podcast-Episode RSS-Feed des
Podcasts Regressionstest – Wikipedia Rezension: Professional Test
Driven Development with C# von James Bender und Jeff McWherter
Rezension: Pragmatic Unit Testing in Java 8 with JUnit von Jeff
Langr Pragmatic Unit Testing in Java 8 with JUnit (Buchclub)
Rezension: Growing Object-Oriented Software, Guided by Tests
(Freeman/Pryce)
Episode melden

„Einführung in Test Driven Development – Anwendungsentwickler-Podcast #103“

Worum geht es? Danach fragen wir noch nach dem Grund.

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz