Schulung Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von .NET-Anwendungen (C# oder Visual Basic .NET)

Beschreibung/Inhalt

- Dieses Schulungsmodul kann mit allen aktuellen ASP.NET Core-Versionen (z.B. 8.0, 7.0, 6.0, 5.0) entsprechend Ihren Wünschen durchgeführt werden.
- Auf Wunsch ist auch eine Schulung mit älteren Versionen / klassischem .NET Framework möglich.
- Diese Schulung führen wir wahlweise mit C# oder Visual Basic .NET durch.
- Diese Schulung führen wir wahlweise mit den Testwerkzeugen von Microsoft oder Open Source-Werkzeugen wie nUnit oder xUnit durch.

# 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


  • # wahlweise: Testwerkzeuge von Microsoft
  • Überblick über Visual Studio Unit Tests mit MSTest in Visual Studio
  • Test Management
  • Manuelle Testerstellung
  • Automatische Testgenerierung
  • Assertions
  • Testinitialisierung
  • Parametrisierte Tests
  • Testverwaltung
  • Bereitstellen von Tests (Test Deployment)
  • Testabdeckung
  • Test Impact-Analyse
  • Manuelle Testausführung


  • # wahlweise: Andere Testwerkzeuge
  • nUnit
  • xUnit
  • Andere Unit Test-Werkzeuge (CSUnit, u.a.)
  • Mock-Objekte (z.B. Nmock, dotnetMock, TypeMock, Microsoft Fakes Framework)


  • # Spezielle Testszenarien
  • Parametrisierte Tests/datenbasierte Tests
  • Datenbanktests
  • Oberflächentests (Testen der Benutzeroberfläche - User Interface Testing)
  • HTTP-basierte Webtests für WebAPIs
  • HTTP-basierte Webtests für Weboberflächen
  • Testen in Webanwendungen (ASP.NET, ASP.NET MVC)
  • Lasttests (Leistungsmessungen)


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


  • # Optional:
  • Integration von Unit Test in Azure DevOps/Team Foundation Server (TFS) in Build-Prozesse / Gated Check-Ins (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