Book description
- endlich ein TDD-Buch für C++-Entwickler !* mit vielen Codebeispielen * lockerer Schreibstil
Table of contents
- Cover
- Titel
- Impressum
- Geleitwort
- Einleitung
- 1 Einführung
-
2 Testgetriebene Entwicklung: Ein erstes Beispiel
- 2.1 Setup
- 2.2 Der Soundex-Algorithmus
- 2.3 Erste Schritte
- 2.4 Unsauberen Code korrigieren
- 2.5 Schrittweises Vorgehen
- 2.6 Fixtures
- 2.7 Denkprozesse bei TDD
- 2.8 Testen und testgetriebene Entwicklung im Vergleich
- 2.9 Was wäre, wenn ...?
- 2.10 Eins nach dem anderen!
- 2.11 Die Länge einschränken
- 2.12 Vokale fallen lassen
- 2.13 Tests übersichtlich gestalten
- 2.14 Querdenken beim Testen
- 2.15 Zurück zum Thema
- 2.16 Refactoring zu Funktionen mit nur je einer Aufgabe
- 2.17 Der letzte Schliff
- 2.18 Welche Tests fehlen noch?
- 2.19 Unsere Lösung
- 2.20 Die Soundex-Klasse
- 2.21 Teardown
- 3 Testgetriebene Entwicklung: Grundlagen
- 4 Tests konstruieren
-
5 Testdoubles
- 5.1 Setup
- 5.2 Herausforderungen durch Abhängigkeiten
- 5.3 Testdoubles
- 5.4 Ein selbst gebautes Testdouble
- 5.5 Die Testabstraktion bei der Verwendung von Testdoubles verbessern
- 5.6 Mock-Frameworks verwenden
- 5.7 Testdoubles platzieren
- 5.8 Ein anderes Vorgehen beim Design
- 5.9 Strategien zur Verwendung von Testdoubles
- 5.10 Verschiedenes zum Thema Testdoubles
- 5.11 Teardown
-
6 Inkrementelles Design
- 6.1 Setup
-
6.2 Einfaches Design
- 6.2.1 Die Kosten der Redundanz
- 6.2.2 Der Portfoliomanager
- 6.2.3 Einfache Redundanz im Portfoliomanager
- 6.2.4 Können wir die inkrementelle Vorgehensweise wirklich beibehalten?
- 6.2.5 Noch mehr Redundanz
- 6.2.6 Vorteile kleiner Methoden
- 6.2.7 Letzte Hand an den Funktionsumfang legen
- 6.2.8 Inkrementelles Design leicht gemacht
- 6.3 Was ist mit dem Design im Voraus?
- 6.4 Hindernisse für das Refactoring
- 6.5 Teardown
- 7 Qualitativ hochwertige Tests
-
8 Herausforderungen durch Legacy-Code
- 8.1 Setup
- 8.2 Legacy-Code
- 8.3 Kernsätze
- 8.4 Die Altanwendung
- 8.5 Die Denkweise der testgetriebenen Entwicklung
- 8.6 Sicheres Refactoring zur Unterstützung von Tests
- 8.7 Tests zur Beschreibung des vorhandenen Verhaltens hinzufügen
- 8.8 Ablenkungen durch die Realitäten des vorhandenen Codes
- 8.9 Ein Testdouble für rlog erstellen
- 8.10 Testgetriebene Änderungen
- 8.11 Eine neue Story
- 8.12 Schnellere Tests finden
- 8.13 Mondo Extracto
- 8.14 Verwendung einer Membervariablen
- 8.15 Verwendung eines Mocks
- 8.16 Alternative Injektionstechniken
- 8.17 Umfassende Änderungen mit der Mikado-Methode
- 8.18 Die Mikado-Methode im Überblick
- 8.19 Methoden mit Mikado verschieben
- 8.20 Weitere Überlegungen zur Mikado-Methode
- 8.21 Lohnt sich der Aufwand?
- 8.22 Teardown
-
9 TDD für Threads
- 9.1 Setup
- 9.2 Grundprinzipien für die testgetriebene Thread-Entwicklung
- 9.3 GeoServer
- 9.4 Performance-Anforderungen
- 9.5 Eine asynchrone Lösung gestalten
- 9.6 Dies ist immer noch einfaches TDD
- 9.7 »Einfädeln«
- 9.8 Probleme der Parallelverarbeitung offenlegen
- 9.9 Client-Threads im Test erstellen
- 9.10 Mehrere Threads in ThreadPool erstellen
- 9.11 Zurück zu GeoServer
- 9.12 Teardown
- 10 Weitere Aspekte von TDD
-
11 Wachstum und Pflege von TDD
- 11.1 Setup
- 11.2 Laien TDD erklären
- 11.3 Die Todesspirale schlechter Tests (»SCUMmy-Kreislauf«)
- 11.4 Pair Programming
- 11.5 Katas und Dojos
- 11.6 Metriken zur Codeabdeckung wirkungsvoll anwenden
- 11.7 Kontinuierliche Integration
- 11.8 Teamstandards für TDD aufstellen
- 11.9 Mit der Community auf dem Laufenden bleiben
- 11.10 Teardown
- A Unit-Test-Frameworks im Vergleich
- B Code-Kata: Umrechner für römische Zahlen
- Literaturverzeichnis
- Index
- Fußnoten
Product information
- Title: Testgetriebene Entwicklung mit C++
- Author(s):
- Release date: November 2014
- Publisher(s): dpunkt
- ISBN: 97833864901898
You might also like
book
Testgetriebene Entwicklung mit JavaScript
Dieses Buch zeigt wie testgetriebene Entwicklung mit JavaScript in der Praxis funktionieren kann. Der Leser lernt …
book
Netzwerkprotokolle hacken
Der umfassende Leitfaden befasst sich mit Netzwerken aus der Perspektive eines Angreifers, um Schwachstellen zu finden, …
book
Produktiv auf der Linux-Kommandozeile
Souverän unterwegs auf der Kommandozeile: Ob als Systemadministrator, Softwareentwicklerin, Teammitglied im Site Reliability Engineering oder einfach …
book
Versionsverwaltung mit Git
Von grundlegenden Funktionen über die Handhabung von Branches und Remote-Repositories bis zu Tipps und Tricks für …