Unit-Tests – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #95
Nachdem letzte Woche bereits häufige Fragen im Fachgespräch rund um
das Thema Softwaretests besprochen wurden, folgen nun einige
Detailfragen zum Bereich Unit-Tests in der fünfundneunzigsten
Episode des Anwendungsentwickler-Podcasts.
38 Minuten
Podcast
Podcaster
Beschreibung
vor 8 Jahren
Nachdem letzte Woche bereits häufige Fragen im Fachgespräch rund
um das Thema Softwaretests besprochen wurden, folgen nun einige
Detailfragen zum Bereich Unit-Tests in der fünfundneunzigsten
Episode des Anwendungsentwickler-Podcasts.
Inhalt
Was ist eine Unit?
Die kleinste zu testende Einheit, meist eine Methode.
Wie unterscheiden sich Unit- bzw.
Komponenten-, Integrations- und
Systemtest?
Unit-Test: Einzelne Komponente wird in Isolation getestet
Integrationstest: Das Zusammenspiel mehrerer Komponenten
wird getestet
Systemtest: Das System als Ganzes wird auf Funktionalität
getestet
Was ist ein Unit-Test-Framework?
Ein Softwareframework, das den Entwickler beim Schreiben
automatischer Tests unterstützt.
Was ist eine Assertion?
Eine konkrete Prüfung in einem Unit-Test (z.B. Gleichheit
von Werten).
Was bedeutet AAA?
Arrange, Act, Assert
Was ist Mocking?
Abhängigkeiten werden durch Fake-Objekte ersetzt, um die
eigentlich zu testende Komponente in Isolation ausführen zu
können.
Was ist Code-Coverage?
Der Grad der Abdeckung des Codes durch die Tests.
Welche Eigenschaften sollten Unit-Tests
haben?
Schnell, einfach, isoliert, wiederholbar, verlässlich,
keine Infrastruktur verwenden.
Was ist ein Mutationstest?
Ein Test, der den zu testenden Code verändert, um die
Testabdeckung durch vorhandene Tests zu prüfen.
Was ist die Testpyramide?
Eine Empfehlung für das Verhältnis zwischen Unit-
(viele), Integrations- (mehrere) und Systemtests (wenige).
Wie kann man Oberflächen testen?
Manuell oder mit Hilfe von Frameworks wie Selenium.
Literaturempfehlungen
Einen sehr schönen Einstieg in das Thema Unit-Testing liefert
Jeff Langr in seinem Buch Pragmatic Unit Testing in Java 8 with
JUnit*. Er fängt „bei 0“ an und erklärt alle wichtigen Konzepte
inkl. Mocking für die Praxis. Außerdem arbeitet er auch mit den
neuen Features von Java 8 (Lambdas, Streams) um die Tests zu
optimieren. Sehr empfehlenswert! Ich lasse es meine Azubis als
Grundlagenbuch lesen und werde bald auch einen Buchclub dazu
aufnehmen.
*
Und wenn du ein Buch lesen möchtest, dass dir noch einmal einen
völlig anderen Blick auf das Vorgehen bzgl. der Tests beim
Schreiben einer Software ermöglicht, empfehle ich dir wärmstens
Growing Object-Oriented Software, Guided by Tests*. Die beiden
Autoren zeigen ein komplett testgetriebenes Vorgehen, das mit
Integrationstests beginnt. Ein sehr spannender Ansatz, der mit
einem großen Praxisbeispiel in Java illustiert wird. Hier habe
ich das Buch schon vor einigen Jahren rezensiert: Growing
Object-Oriented Software, Guided by Tests (Freeman/Pryce).
*
Links
Permalink zu dieser Podcast-Episode
RSS-Feed des Podcasts
Testabdeckung – Wikipedia
Regressionstest – Wikipedia
Weitere Episoden
5 Minuten
vor 3 Wochen
11 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
10 Minuten
vor 5 Monaten
In Podcasts werben
Kommentare (0)