Kursinhalt
Java JUnit Bibliothek. Arten von Tests
Java JUnit Bibliothek. Arten von Tests
Arten von Tests
Lassen Sie uns einen Blick auf die wichtigsten Arten und Ebenen des Testens werfen. Es gibt viele Arten, aber wir werden nur die grundlegenden besprechen, die für Sie wichtig sind und die Sie verwenden werden.
Typen
- Funktionales Testen:
Diese Art des Testens ist eine Überprüfung, um sicherzustellen, dass das Programm das erwartete Ergebnis liefert und alle Funktionen erfüllt, die es soll.
Werkzeuge, die für funktionales Testen verwendet werden:
Selenium (zum Testen von Webanwendungen), JUnit, TestNG.
Beispiel für funktionales Testen:
- Datenbank-Tests: Wie Sie bereits verstanden haben, überprüft ein solcher Test die Korrektheit der Arbeit mit und der Speicherung von Daten in der Datenbank. Zum Beispiel beinhaltet ein solcher Test das Laden von Testdaten in die Datenbank vor Beginn der Anwendungstests.
Hinweis
Wir werden in einem separaten Kurs besprechen, was Datenbanken sind, wie man sie im Java-Code verwendet und wie man sie korrekt verbindet. Für den Moment können Sie sich eine Datenbank als eine Sammlung aus dem Kurs über Datenstrukturen vorstellen.
- Leistungstests:
Diese Art von Tests bewertet das Leistungsniveau eines Programms. Wir werden nicht im Detail auf diese Art von Tests eingehen, aber es ist wichtig, sich ihrer Existenz bewusst zu sein. Kurz gesagt, beinhalten Leistungstests das Messen der Systemleistung unter bestimmten Lastbedingungen.
Verwendete Tools: Apache JMeter, Gatling.
Ebenen
Testebenen sind die Schichten des Testens, die bei der Verwendung einer der Testarten eingesetzt werden. Es gibt insgesamt 4 Ebenen, von denen wir eine in diesem Kurs im Detail studieren werden: Unit Testing, Integration Testing, System Testing und Acceptance Testing.
Werfen wir einen genaueren Blick auf Unit- und Integrationstests:
- Unit Testing:
Dies ist das Testen von einzelnen Programmmodulen(Einheiten) auf korrekte Funktionalität. Solche Tests stellen sicher, dass jedes Modul korrekt isoliert von anderen Modulen funktioniert. Unit Testing wird in jeder Programmiersprache verwendet und ist eine Mindestanforderung für das Testen einer Anwendung.
Unit-Tests in Java werden mit Tools wie JUnit und TestNG geschrieben. Wir werden jedoch die JUnit-Bibliothek verwenden.
Beispiel für einen Unit-Test:
Hinweis
Im Moment gibt es keinen Grund, viel Aufmerksamkeit auf die Syntax zu richten; wir werden im Laufe dieses Kurses weiter darauf eingehen. Sie können jedoch verstehen, dass dieser Code die
add()
-Methode derMathUtils
-Klasse testet.
- Integrationstests:
Diese Testebene überprüft die Funktionalität der Interaktionen zwischen einzelnen Einheiten oder Komponenten des Programms. Mit anderen Worten, wenn in einem Modul andere Module verwendet werden, überprüfen Integrationstests die Funktionalität solcher Module. Diese Testebene steht in Zusammenhang mit Unit-Tests, dient jedoch als separate Testschicht.
Werkzeuge, die für Integrationstests verwendet werden: JUnit, TestNG, Mockito.
Beispiel für die Verwendung:
Dieses Kapitel ist einführend. In diesem Kurs werden wir uns ausschließlich auf Unit-Tests konzentrieren, während andere Ebenen und Arten von Tests nur theoretisch behandelt werden.
Dies sind die primären Testarten, die in Java verwendet werden. Es gibt viele andere Arten von Tests, wie Smoke-Tests, End-to-End-Tests und so weiter, aber diese sind nicht unser aktueller Fokus. Solche Tests liegen mehr im Bereich der QA-Ingenieure. In diesem Kurs werden wir zwei Haupttestmethoden behandeln: Unit-Tests und Integrationstests. Dies sind die Tests, die jeder Junior-Entwickler schreiben können sollte.
1. Was ist das Hauptziel von Unit Testing in Java?
2. Welches Testniveau konzentriert sich auf die Bewertung der Interaktion zwischen verschiedenen Modulen oder Komponenten in einem Java-Programm?
3. Welches Tool wird im Funktionalen Testen einer Java-Anwendung häufig zum Testen von Webanwendungen verwendet?
4. Welches Tool wird häufig für Performance-Tests von Java-Webanwendungen verwendet?
5. Was ist der primäre Fokus von Datenbanktests in Java?
Danke für Ihr Feedback!