Schulung Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit C++ und C++-Testframeworks (z.B. Google Test (gtest / gmock), MSTest, CPPUnit)

Beschreibung/Inhalt

# Konzepte

  • Motivation für Unit Tests
  • Grundkonzept Unit Testing
  • Unittest vs. Integrationstest
  • White-Box-Test vs. Black-Box-Test
  • Unit Testing versus Test Driven Development (TDD)
  • Testfallfindung / User-Stories als Dreh- und Angelpunkt zur Testfallfindung
  • Testmethodik und Testerstellung
  • Der Zusammenhang von Refactoring und Testen
  • Ermitteln der Testqualität durch Code-Coverage
  • Anwendung von Stellvertreterobjekten (Dummy & Mock)
  • Testdatenerstellung und -pflege
  • Grenz- und Extremwerte
  • Äquivalenzklassen
  • Abgrenzung und Zusammenspiel von Unit Tests mit Integrations- und Systemtests
  • Anwendung von TDD-Praktiken


  • # Testarten
  • Unit Tests
  • Integrationstests
  • Oberflächentests
  • Datenbanktests
  • HTTP-Tests (Web-UI und/oder Web-APIs)


  • # Überblick über die Werkzeuge für Unit Testing und TDD
  • Unit-Test-Frameworks
  • Unit-Test-Runner
  • Werkzeuge für Code Coverage
  • Mock-Objekt-Hilfsbibliotheken


  • # Testing in der Praxis
  • Testautomatisierung mit Werkzeugen (Werkzeuge nach Kundenwunsch/Vereinbarung)
  • Erstellen einer Testumgebung
  • Testgetriebenes Design
  • Entwicklung von testbarem Code ("Design for Testability": Verwendung von Abstraktion, Schichten, Pattern)
  • Ermitteln der Testqualität durch Code-Coverage und Fehlerinjektion
  • Mocking: Anwendung von Stellvertreter-Objekten (Dummy-Objekte) und die Gefahren dabei
  • Das Prinzip von Integration von in Continuous Integration (CD) und Continuous Delivery/Deployment


  • # Testing mit einem C++-Testframework nach Wahl (z.B. gtest/gmock, MSTest, CPPUnit)
  • Grundlagen
  • Exceptions
  • Fixtures
  • Assertions
  • Parametriesierte Tests


  • # Testing – Übungen
  • Stack
  • Trimmer
  • CSVReader
  • Statemachine
  • CommandHandling
  • SharedPtr


  • # Mocking – Das gmock-Framework
  • Assertions
  • Arrangements


  • # Mocking – Übungen
  • AcountService
  • GroupChangeReader


  • # Übungen zum Test Driven Development
  • Parser für numerische Ausdrücke
  • Entwurf logischer Schaltungen


  • # Übung zum Thema "Refactoring"

    # Optional
  • Testen Datenbank-basierter Anwendungen

  • Dauer
    Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
    Ort
    Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
    Schulungsdidaktik
    Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil