Testen von C++-Anwendungen: Von Modultests bis zur Integrationsabdeckung
Testen von C++-Anwendungen: Von Modultests bis zur Integrationsabdeckung
Zusammenfassung:
Das Buch „Testen von C++-Anwendungen“ ist ein praktischer Leitfaden, der Ihnen hilft, die Kunst des Schreibens zuverlässiger, wartbarer und leicht testbarer Programme in der Sprache C++ zu meistern. In der modernen Entwicklung ist qualitativ hochwertiger Code nicht nur funktionierender Code, sondern Code, der durch Tests abgedeckt ist. Dieses Buch wird Ihr Navigator in der Welt der Modul-, Integrations- und Funktionstests sein.
Für wen ist dieses Buch?
- Für C++-Entwickler auf Junior- und Middle-Niveau, die Tests in ihre Projekte integrieren möchten.
- Für Ingenieure, die von anderen Sprachen (Java, Python, C#) wechseln und die Besonderheiten des Testens in C++ verstehen möchten.
- Für technische Leiter, die nach Möglichkeiten suchen, die Codequalität im Team zu verbessern.
- Für Studenten höherer Semester technischer Fachrichtungen, die sich mit industrieller Softwareentwicklung befassen.
Was werden Sie aus dem Buch lernen?
- Grundlagen des Modultests: Wie man einfache und isolierte Tests für Funktionen und Klassen schreibt.
- Arbeit mit gängigen Frameworks: Google Test, Google Mock, Catch2, doctest – deren Einrichtung, API und Best Practices.
- Techniken für Mock-Objekte: Isolierung des zu testenden Codes von externen Abhängigkeiten (Datenbanken, Dateisystem, Netzwerk).
- Testgetriebene Entwicklung (TDD): Wie man die Architektur einer Anwendung ausgehend von Tests entwirft.
- Integrationstests: Überprüfung der Interaktion von Komponenten, Arbeit mit temporären Dateien, Netzwerkanfragen.
- Testautomatisierung: Einrichtung von CI/CD (GitHub Actions, GitLab CI) zum Ausführen von Tests bei jedem Commit.
- Messung der Codequalität: Coverage (gcov, lcov), statische Analyse (Clang-Tidy, Cppcheck) und deren Integration in den Prozess.
- Testen von Multithreading- und asynchronen Anwendungen: Suche nach Datenrennen, Deadlocks und nichtdeterministischen Fehlern.
Warum sollten Sie dieses Buch lesen?
Im Gegensatz zu vielen theoretischen Materialien basiert dieses Buch auf realen Beispielen und Fallstudien. Sie werden nicht nur über Tests lesen – Sie werden sie gemeinsam mit dem Autor schreiben. Jedes Kapitel enthält praktische Aufgaben und Vorlagen, die Sie sofort in Ihrem eigenen Projekt anwenden können. Besonderes Augenmerk wird auf typische Anfängerfehler gelegt: wie man Code nicht übertestet, wie man mit fragilen Tests umgeht und wie man die Testbasis aktuell hält.
Das Buch eignet sich sowohl für die Arbeit an Legacy-Projekten (wie man Tests zu vorhandenem Code hinzufügt, ohne ihn komplett umzuschreiben) als auch für den Start eines neuen Projekts von Grund auf unter Verwendung der TDD-Prinzipien. Sie lernen nicht nur, Tests zu schreiben, sondern auch, Code so zu entwerfen, dass er von Anfang an testbar ist.
Nach der Lektüre des Buches werden Sie in der Lage sein, Tests selbstbewusst in jedes C++-Projekt zu integrieren, die Anzahl der Fehler in der Produktion zu reduzieren und den Refactoring-Prozess durch automatische Regressionsprüfungen zu beschleunigen.
Inhaltsverzeichnis des Buches:
- Kapitel 1: Einführung in das Testen von C++ (Testarten, Testpyramide, Werkzeuge).
- Kapitel 2: Google Test und Google Mock: Installation, Schreiben von Tests, Makros, Parametrisierung.
- Kapitel 3: Catch2 und doctest: Leichte Alternativen, Leistungsvergleich.
- Kapitel 4: Mock-Objekte: Isolierung von Abhängigkeiten, Nachahmung von Verhalten.
- Kapitel 5: TDD in der Praxis: Schreiben eines Taschenrechners und Parsers von Grund auf.
Empfehlungen
Java-Testen
Swift (iOS/macOS) für Data Science: maschinelles Lernen, neuronale Netze und Datenanalyse auf Ihrem Gerät
Architektur von PHP-Anwendungen: Vom Einfachen zum Komplexen
Sicherheit von Swift (iOS/macOS)-Apps: Von der Schwachstelle zum Schutz
Maschinelles Lernen und PHP: Ein praktischer Leitfaden für Webentwickler
Pro Spring Boot 2