Unit Test 02: Unit Test C++
C++ Unit Testing Praxisschulung für C++ Programmierer

Du bist C++ Programmierer und willst für Deinen oder für einen fremden Code strukturierte und hochwertige Unit Tests schreiben? Du willst gerne Datenbanken und fremde APIs testen, oder schlechte und sinnlose Unit Tests auf Anhieb erkennen und anhand von bewährten Patterns in gute Unit Tests umwandeln? Oder Du willst endlich wissen, wie Test-Driven-Development in der Praxis aussieht und wie Du TDD vernünftig einsetzen kannst? Dann brauchst Du nicht weiter zu suchen. Das C++ Unit Testing Praxisseminar ist ideal für alle C++ Programmierer, die Unit Test auf effiziente und praxisorientierte Weise mittels anschaulicher Beispiele und Aufgaben erlernen möchten, um damit C++ Code sauber testen und erheblich verbessern zu können. Erfahre mehr über diese C++ Unit Test Praxisschulung... 

Nutzen

  • Schneller und effektiver Einstieg in Unit Test mit C++
  • Praktischer Einstieg in Test-Driven-Development (TDD)
  • Best Practices für Testable Design, Clean Test und Test Smell
  • Fortgeschrittene Techniken wie Test Double in C++
  • C++ Code Qualität durch gute Tests deutlich verbessern

Anhand vieler Beispiele und Aufgaben lernst Du die wichtigsten C++ Testing Frameworks sowie fortgeschrittene Techniken wie TDD aus praktischer Sicht kennen und wie Du sie in Deinem laufenden C++ Projekt erfolgreich einsetzen kannst. Auch goldene Regeln für Clean Test und Code lernst Du kennen und anzuwenden. Du verbesserst die Qualität und Güte Deines C++ Production Codes und verkürzt somit die Entwicklungszeit.

Kursformate

1-Tages-Crash-Kurs

Live-Training

Live oder online large

Lehrmaterial

Lehrmaterial

Video-Clips

Video clips
3-Tages-Kurs

Live-Training

Live oder online large

Lehrmaterial

Lehrmaterial

Verpflegung

Snacks large
4-Wochen Trainingsprogramm

Live-Training

Online large

Lehrmaterial

Lehrmaterial

Video-Clips

Video clips

Alle Kurse beinhalten zusätzlich den zeitlich unbegrenzten Zugang zu unserem Member-Bereich mit vielen weiteren Videos, Tutorials und Infos rund ums Coden.

Inhalte

Der Unit Kurs behandelt eine Auswahl folgender Themen:

  • Die Google und MockTest Frameworks
  • Test Driven Development in C++
  • C++ Testable Design
  • Test Smells
  • Test Double
  • GoogleMock
  • Matcher

Für weitere Details bitte die untenstehende Agenda ansehen.

Vorkenntnisse

Der C++ Unit Testing Kurs ist konzessioniert und optimiert für Personen mit grundlegenden C++ Kenntnissen, mindestens im Umfang unseres C++ Kurses für Einsteiger.  

Der Kurs eignet sich für Softwareentwickler und -architekten, aber auch für Tester und Product Owner, da sie hier das entsprechende Know-how erlangen, wie es hinter den Testing Frameworks aussieht, wie man mit TDD eine saubere Softwarearchitektur realisiert und wie man mit Test Double fremde APIs oder Datenbanken testen kann. Diese Themen sind nicht nur für die Softwareentwickler interessant.

  • Individuell: wir gehen gezielt auf Dich ein und berücksichtigen Deine Vorkenntnisse, Wunschthemen und Schwerpunkte

  • Strukturiert und leicht verständlich

  • Bringe deine Karriere, Studium oder Ausbildung auf die nächste Stufe: mit Zertifikat

  • Sicher und eigenständig Programme entwickeln (ob privat, beruflich oder für dein Startup)

  • Viel, viel, viel Praxis: sofort anwendbare Ergebnisse

  • kleine Gruppen: max. 8 Teilnehmer im 3-Tages-Kurs max. 15 Teilnehmer im Online-Coaching

  • Von Experten nach der Raed- Methode® entwickelt & auf die Anforderungen von Tech-Unternehmen im Jahr 2020 ausgerichtet

  • E-Mail-Support auch nach Ende des Kurses

Kursbeschreibung

In C++ gibt es mehrere verbreitete Test Frameworks, die sich in ihren Möglichkeiten und der Art ihrer Anwendung unterscheiden. Im folgenden wird der Aufbau der C++ Unit Testing Schulung beschrieben, wenn die Google Test und Mock Framework verwendet werden. 

Was lernst Du am ersten Tag?

Du lernst wie die GoogleTest Framework aufsetzen und anwenden kannst. Wir fangen mit grundlegenden Konzepten an, wie Du Dein erstes C++ Unit Test schreiben kannst. Dafür lernst Du die vier Test Phasen, das AAA Muster sowie die Assertions. Danach lernst Du, wie Du gute Testdaten mit Hilfe von Äquivalenzklassen ausfindig machen kannst. Du lernst auch was Test Fixtures ist, wie Du parametrized Test schreibst und wie Du mit Test Coverage feststellen kannst, ob Du Teile von Deinem Production Code vergessen hast zu testen oder nicht. Bereits in diesem ersten Tag lernst Du auch die agile SW-Methode, welche auf Qualität zielt, nämlich die Test-Driven Development mit ihren drei Schritten: red-green-refactoring. Viele Beispiele und Workshops begleiten Dich, so dass Du am Ende von diesem Tag Deine C++ Unit Test und TDD schreiben kannst. 

Was lernst Du am am zweiten Tag?

Viele Softwareentwickler, die erst nach dem Production Code also nachträglich Unit Test schreiben, stellen immer fest, dass diese Aufgabe sehr lästig und manchmal ja wegen viele Code Abhängigkeiten, starke Kopplung und niedrige Kohäsion recht komplex und alles anders als trivial oder einfach ist.  Die Frage, wie schreibe ich Tests für einen solchen schweren Code kann man sehr leicht beantworten: schreibe ja nicht so einen komplexen gut mit starker Koppelung, dann kann man deutlich einfacher Unit Test schreiben. Genau ist das der Schwerpunkt von Testable Design. Wie schreibe ich meinen Production Code so, dass ich für diesen Code auch gute Unit Test schreiben? Wir sehen uns die SOLID Prinzipen an und warum sie zu einem Code führen, der relativ leicht testbar ist. Danach widmen wir uns die so genannte Test-Smells an. Also schlecht geschriebene Unit Test. Dafür gibt es ein Katalog von drei Kategorien und in jeder Kategorie gibt es verschiedene Muster für schlechte Unit Test, die sogenannte Test Smells. Wir werden keine Zeit haben alle diese Test-Smells Katalog zu behandeln, aber wir schauen uns die in der Praxis meist vorkommende Fehler beim Schreiben von Unit Test und wie kann man in der Praxis gute Unit Tests schreiben. 

Was lernst Du am am dritten Tag?

Am letzten Tag lernst Du fortgeschrittene Techniken zum Testen von einem Code, den wir sogar nicht mal haben, sondern irgendwann noch bekommen könnten: z.B. Code für Datenbank Anbindung und Zugriffe und CRUD Operationen oder fremde APIs Aufrufe! Das Prinzip ist ziemlich einfach, wir schreiben unseren eigenen sehr einfachen Code und imitieren einfach das Verhalten von dem Code, den wir noch bekommen könnten. Dafür brauchen wir nur die Spezifikation der Schnittstelle zu wissen, also was tut dieser Code genau, damit wir das Verhalten imitieren können. Dafür gibt es die sogenannte Test-Double Techniken, mit denen wir solchen Code schreiben können. Test Double ist ein Sammelbegriff für 5 Techniken: Dummy, Fake, Stub, SPD und Rock, die wir lernen werden. Doch für diese Test-Double gibt es auch verschiedene Frameworks, welche das Arbeiten mit Test-Double vereinfachen, so dass wir nicht viel Code von scratch schreiben sondern die Test-Double Frameworks Klassen und Methoden dafür nutzen können. Einer solchen Frameworks ist GoogleMock. Wir lernen die Grundlagen von GoogleMock und wie wir damit Test-Double erstellen können. Am Ende schauen wir uns vordefinierte Matcher an und wie wir unsere eigene Matcher definieren können, um noch aussagekräftiger und mächtiger Unit Tests zu schreiben. 

DEINE TRAINER

Der Unit Test Kurs für C++ Programmierer wird von einem der folgenden Trainer durchgeführt:

ZERTIFIKAT

Selbstverständlich erhältst Du als Teilnehmer am C++ Unit Test Kurs für Programmierer ein Zertifikat. Voraussetzung dafür ist die komplette Teilnahme an allen Kurseinheiten und Programmier-Aufgaben und die erfolgreiche Programmierung eines kleinen Abschlussprojektes. Das allerdings wird Dir nach dieser intensiven C++ Unit Testing Schulung mehr Freude als Stress bereiten.

AGENDA

Die Agenda ist aufgrund der zahlreichen Fachbegriffe in englischer Sprache verfasst. Beschreibungen sowie Kursmaterial erhaltest Du auf Deutsch. Den Kurs kannst Du wahlweise in deutscher oder englischer Sprache buchen.

Alle Seminarinhalte werden individuell an die Wünsche unserer Teilnehmer angepasst. Sie können je nach Wissensstand variieren und werden gemeinsam mit dem Seminarleiter an Tag 1 definiert. Bei diesem C++ Unit-Test-Seminar hast Du die Wahl aus folgenden Themen:

C++ Unit Testing Tag 1

GoogleTest Framework:

  • Google Test/Mock Frameworks
  • Motivation and Questions
  • Tests Structure in GoogleTest
  • Equivalence Classes
  • Test names
  • Assertions
  • Test Fixture
  • Parameterized Test
  • Code Coverage 

Test Driven Development

  • TDD Red
  • TDD Green
  • TDD Refactor
  • TDD Workshops

C++ Unit Testing Tag 2

Testable Design

  • SOLID Principle
  • Single Responsibility
  • Open Close
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion

Clean Test

  • Clean Test Rules
  • Test Readability
  • Test Maintainability
  • Test Trustworthiness
  • Test Smells Catalog

C# Unit Testing Tag 3

Test Double

  • Dummy
  • Fake
  • Stub
  • Spy
  • Mock

GoogleMock

  • Test Double
  • Problems of Test Double in C++
  • Writing Mock-Classes

Matcher

  • what is a matcher?
  • predefined matcher
  • writing your own matcher

Kursformate / Termine

1-Tages-Crash-Kurs

In München oder Online
830,00 €

3-Tages-Kurs

In München oder Online
ab 1.876,00 €

4-Wochen-Training

1.876,00 €
Einstieg jederzeit möglich

Für Teams

Haben Sie Interesse an einem Kurs für Ihr Team? Get in touch – wir finden eine perfekte Lösung. Gerne kommen unsere Profis auch zu Ihnen. Wir bieten u.a.:

  • Inhouse-Schulungen
  • Technisches Coaching
  • Consulting
Anfragen Anfragen

Fragen & Beratung

Unser Serviceteam berät Sie gerne persönlich. Mo-Fr von 9.00 bis 18.00 Uhr unter:
+49 89 17958-820
info@coding-academy.com

Referenzen

BMW Apple Draeger VW Sky Siemens 2000px TÜ V Süd Logo Agfa Kopie Samsung Fraunhofer
Kurs-Katalog Raketen-Kurse im Überblick: