Schulung Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit den Microsoft Testwerkzeugen in Visual Studio

Beschreibung/Inhalt

- Dieses Schulungsmodul kann mit allen aktuellen Visual Studio-Versionen (z.B. 2022, 2019, 2017, 2015) entsprechend Ihren Wünschen durchgeführt werden.
- Als Programmersprache nennen Sie bitte in Ihrer Anfrage eine oder mehreren Sprachen aus dieser Liste: .NET-Sprache (C#, Visual Basic .NET), C++ und/oder JavaScript/TypeScript.

# 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


  • # Testwerkzeuge in Visual Studio
  • Testframeworks für .NET/.NET Core: MSTest, Xunit, Nunit etc.
  • Überblick über Visual Studio Unit Tests in Visual Studio
  • Test Management
  • Manuelle Testerstellung
  • Automatische Testgenerierung
  • Testverwaltung
  • Testabdeckung
  • Test Impact-Analyse
  • Manuelle Testausführung
  • Optional: Lab Management (Test auf virtuellen System)


  • # Testwerkzeuge im .NET (Core) SDK
  • dotnet test


  • # Testbare Architektur
  • Was macht eine testbare Architektur aus?
  • Interfaces und Mocking
  • IoC-Pattern


  • # Umgang mit Legacy-Code
  • Patterns und Anti-Patterns
  • Refactoring-Strategien


  • # Spezielle Testszenarien
  • Datenbanktests
  • Testen von Weboberflächen (Testframework nach Wahl)
  • UI-Tests mit Appium und Windows Application Driver (früher: Coded UI Tests) von Windows Forms-, WPF-, WinUI- und .NET MAUI-Anwendungen sowie Webanwendungen Anwendungen (Testen der Benutzeroberfläche - User Interface Testing)
  • HTTP-basierte Webtests
  • Lasttests (Leistungsmessungen)


  • # Optional: Andere Werkzeuge zur Qualitätssicherung in Visual Studio
  • Statische Codeanalyse
  • Codemetriken


  • # Optional:
  • Anwendung von TDD-Praktiken auf Ihren eigenen Legacy Code
  • Integration von Unit Test in Azure DevOps/Team Foundation Server (TFS) in Build- und Release-Prozesse (Continous Integration / Continous Delivery)

  • 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