Unit-Tests

Unit-Tests
MIN
31 Juli 2023

Unit Software Testing ist die erste Ebene des Testens einzelner Module, Komponenten oder Codeteile. Beim Testen werden die einzelnen Module als unabhängige Komponenten getestet, um sicherzustellen, dass sie ordnungsgemäß funktionieren und für die Integration mit anderen Komponenten geeignet sind.

Diese Tests werden von Entwicklern durchgeführt. Entwickler schreiben in der Regel Unit-Tests für einen von ihnen geschriebenen Teil des Codes. Wie bereits erwähnt, ist dies die erste Stufe der Prüfung. Nachdem die einzelnen Komponenten getestet wurden, werden Integrationstests durchgeführt.

Unit-Tests können nicht manuell durchgeführt werden. Die Tests sind immer automatisiert und nutzen die Technik des White-Box-Testing, da zum Testen des Codes Kenntnisse über den Code-Teil und die interne Architektur erforderlich sind. Entwickler erstellen Unit-Tests, indem sie die erforderlichen Eingaben an ein Testskript übergeben und die tatsächliche Ausgabe mit den erwarteten Ergebnissen vergleichen.

Vorteile von Einheitstests

  • Fehler innerhalb des Moduls können in einem früheren Stadium der Entwicklung erkannt werden. Dadurch werden die Kosten für die Fehlerkorrektur erheblich gesenkt.
  • Unit-Tests erhöhen die Testeffizienz und sorgen für eine bessere Ressourcennutzung, da mit den Modultests begonnen werden kann, ohne auf die Fertigstellung anderer Module warten zu müssen.
  • Bei Unit-Tests ist ein ausführliches Testen mit Schwerpunkt auf einzelnen Funktionen möglich.
  • Unit-Tests tragen zu einer schnelleren Entwicklung und Fehlersuche bei, denn durch die Ausführung von Unit-Tests lassen sich die Auswirkungen neuer Änderungen leicht erkennen.
  • Ein erfolgreicher Bericht über Einheitstests schafft ein Gefühl des Vertrauens in die Qualität des Codes. Module, die durch Unit-Tests erfolgreich getestet wurden, können problemlos mit anderen Modulen zusammengeführt werden.

Beschränkungen von Einheitstests

  • Unit-Tests können Integrations- oder Verbindungsprobleme zwischen zwei Modulen nicht erkennen.
  • Es kann keine komplexen Fehler im System erkennen, die von mehreren Modulen ausgehen.
  • Es kann keine nicht-funktionalen Merkmale wie Benutzerfreundlichkeit, Skalierbarkeit, allgemeine Systemleistung usw. testen.
  • Unit-Tests können nicht die funktionale Korrektheit oder Konformität einer Anwendung mit ihren geschäftlichen Anforderungen garantieren.