JUnit Flashcards
Erklären können, warum automatische Softwaretests wichtig
sind
Zusammenfassend sind automatische Softwaretests wichtig, um die Qualität, Zuverlässigkeit und Skalierbarkeit von Software zu gewährleisten. Sie sparen Zeit und Ressourcen und ermöglichen es Entwicklern, sich auf andere wichtige Aufgaben zu konzentrieren.
JUnit-Annotationen erklären
JUnit-Annotationen sind spezielle Markierungen, die in JUnit-Tests verwendet werden, um bestimmte Funktionen oder Verhaltensweisen anzugeben. Sie werden verwendet, um den Test-Runner zu informieren, wie der Test ausgeführt werden soll und welche Bedingungen erfüllt sein müssen.
Softwaretests Aspekte
- Erstellen von Testbeschreibungen / Testspezifikationen als
Dokumentation oder als Code z.B. mit Junit - Durchführen von Tests (Automatisch und/oder manuell)
- Dokumentation und Visualisierung der Testergebnisse
Unit Tests und Regressionstests
Unit Tests sind Tests, die einzelne Komponenten oder Funktionen einer Software isoliert überprüfen, um sicherzustellen, dass sie korrekt funktionieren. Regressionstests hingegen überprüfen, ob bereits getestete Funktionen nach Änderungen oder Updates weiterhin wie erwartet arbeiten, um Regressionen zu vermeiden.
Unterschiede Automatisch vs. manuell
Unterschied liegt in der Effizienz und Wiederholbarkeit.
Automatisch: Werden Testskripte oder Testfälle erstellt, die von einem Testautomatisierungstool ausgeführt werden. Diese ermöglicht eine wiederholbare und effiziente Durchführung von Tests.
Manuelle: Tester führt die Testfälle manuell aus, beobachtet das Verhalten des Systems und überprüft, ob die erwarteten Ergebnisse erzielt werden
Vorteil Automatisch vs. manuell
Manuell: Zeitaufwändiger und fehleranfälliger jedoch flexibler und können komplexe Szenarien oder Benutzerverhalten besser simulieren. Sind nützlicher, um die Benutzerfreundlichkeit und das Benutzerverhalten zu überprüfen, da menschliche Tester in der Lage sind, subjektive Eindrücke zu erfassen.
Automatisierte: ermöglicht eine wiederholbare und effiziente Durchführung von Tests.
JUnit 5 Ansätze
- Zu jeder Klasse gibt es eine Testklasse
- Testklasse besteht aus einzelnen Methoden, welche jeweils eine Test durchführen
Steuerung des Testprozesses
Methoden zur Vor- und Nachbearbeitung der Tests
@BeforAll: Methode wird einmal zu Beginn der Testreihe aufgerufen
@BeforeEach: Methode wird vor jedem Test aufgerufen
@AfterEach: Methode wird nach jedem Test aufgerufen
@AfterAll: Methode wird einmal am Ende der Testreihe aufgerufen
Best Practices: test-Ordner
Ein Test-Ordner ist ein Verzeichnis oder eine Datei, das speziell für die Durchführung von Tests erstellt wurde. Es dient dazu, Testfälle, Testdaten und andere Testressourcen zu organisieren und zu verwalten.
Vorgehensweisen bei Test-Ordnern
- Namenskonvention: Um einfache Identifizierung und Navigation ermöglichen
- Strukturierung: hierarchische Test-Ordner
- Versionierung: Versionskontrollen um Änderungen nachverfolgen und rückgängig machen zu können.
- Dokumentation: Hilft anderen Teammitgliedern, die Tests zu verstehen und auszuführen
- Testdatenmanagement: Testdaten im Separaten Ordner
- Automatisierung: Test Automatisieren
- Wartung: Test-Ordner regelmäßig aktualisieren
Test-driven development (TDD)
- Bei der testgetriebenen Entwicklung kurz TDD schreibt man zuerst die Tests und implementiert
dann die Klassen und Interfaces, wie sie in den Tests verlangt
werden - Testgetriebene Entwicklung ist einer der wesentlichen
Bestandteile von agilen Methoden zur Softwareentwicklung