Werbung

Was ist Unit Testing?

Als Unit Testing (Deutsch: Komponenttest) wird die Anwendung von Unit Test bezeichnet.

Ein Unit Test (manchmal in Deutsch übersetzt mit "Komponententest") ist ein funktionaler Test eines (kleinen) Teils einer Software, um die Korrektheit eines Codeblocks zu testen. Ein Unit Test ist automatisiert, d.h. er wird von einer Software (Unit Testing Framework/Unit Testing Tool) und nicht von einem Menschen manuell durchgeführt. Der Vorteil der Unit Test ist, dass man schnell und damit häufiger testen kann als bei manuellen Tests und somit Fehler (insbesondere Regressionsfehler, die sich durch Änderungen am Programmcode ergeben haben) zeitnah feststellen kann. Unit Test erlauben die automatisierte, wiederholbare, kontinuierliche Prüfung (werkzeuggestützt!).

Unit Test sind
  • Prüfroutinen für einzelne Programmteile (Klassen, Methoden, in Bezug auf PowerShell auch Commandlet und einzelne Commandletparameter)
  • von Menschen erstellt (teilweise maschinell generiert)
  • von Maschinen wiederholbar ausgeführt
Die Vorteile des Unit Testings sind um zu größer, je größer die Testabdeckung (Anteil des Programmcodes, der von Unit Tests durchlaufen wird). Eine hundertprozentige Testabdeckung ist in der Theorie wünschenswert. Aus Kostengründen werden aber Unit Tests oft auf kritische Bereiche beschränkt.

Unit Tests sind Entwicklertests (geschrieben und ausgeführt durch die Entwickler)

Man testet:
Normalfall
Randbereiche
Fehlerfall

Ein Unit Test wird für jede Unterroutine/Funktion/Methode geschrieben (vollständiger Test des Codes wird angestrebt!)
Jede Schicht
Jede Komponente
Jedes Objekt
Jede Methode
Jedes Attribut
Jeder Fall

Ziel: sauberer Code, der funktioniert

Querverweise zu anderen Begriffen im Lexikon

Komponententest
PowerShell
Commandlet
Komponente
Attribut
Methode
Objekt

Beratung & Support:

Schulungen zu diesem Thema

 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von .NET-Anwendungen (C# oder Visual Basic .NET)
 Unit Testing- und Test Driven Development (TDD)-Grundlagen
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von Java-Anwendungen mit JUnit und Co
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit den Microsoft Testwerkzeugen in Visual Studio
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit JavaScript/TypeScript
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD)
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit C++ und Google Test (gtest / gmock)
 .NET Akademie: Unit Testing und Test Driven Development (TDD) mit .NET/C# (3-Tages-Agenda des öffentlichen Seminars)
 Moderne Web-Anwendungen mit Angular
 Single-Page-Web-Applications (SPAs) entwickeln mit HTML5/CSS3 und JavaScript (oder TypeScript)
 Xamarin: .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad), macOS und Windows (.NET Mobile/.NET for iOS/.NET for Android/.NET MAUI)
 Testing mit Windows PowerShell
 Visual Studio Tipps & Tricks - Effizienter Programmieren mit Visual Studio
 ASP.NET Model View Controller (ASP.NET MVC) und ASP.NET WebAPI für ASP.NET MVC 5.0 oder ASP.NET MVC Core 3.x/5.x
 Moderne Softwarearchitekturen und Entwicklungstechniken im Überblick
 .NET Akademie: .NET MAUI (Xamarin): .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad) und Windows (3-Tages-Agenda des öffentlichen Seminars)
 Webbrowser-Programmierung mit JavaScript und Dynamic HTML (DHTML)
 Moderne Web-Anwendungen mit ASP.NET (Core) MVC, WebAPI, HTML5.x/CSS3 und JavaScript-/TypeScript-Frameworks
 Visual Studio für Einsteiger
 Software Craftsmanship und Clean Code
 Entity Framework Core (EF Core) 6.0: Objekt-Relationales Mapping für .NET 6.0
 Mehrschichtiges Entwickeln mit .NET
 React Native
 Azure DevOps Server / Azure DevOps Services / Team Foundation Server (TFS) im Überblick
 ASP.NET Core 5.0/6.0: komplettes Wissen - mit MVC, Razor Pages, Blazor, WebAPIs und gRPC
 ReSharper für Visual Studio
 JavaScript/ECMAScript-Aufbauwissen
 .NET Akademie: Datenbankprogrammierung mit Entity Framework Core (3-Tages-Agenda des öffentlichen Seminars)
 Anfrage für eine individuelle Schulung zum Thema Unit Testing;  Gesamter Schulungsthemenkatalog