IT-Berufe-Podcast

Testen von Java-EE-Anwendungen mit Matthias Bünger – Anwendungsentwickler-Podcast #128


Listen Later

Wie steigt man in das automatisierte Testen einer Java-EE-Anwendung ein, wenn man bereits eine bestehende Anwendung hat und bislang nicht getestet hat? Diese und weitere Fragen kläre ich im Interview mit Matthias Bünger in der einhundertachtundzwanzigsten Episode des Anwendungsentwickler-Podcasts.
Inhalt
Allgemeines zur Person
Wie ist dein Name und wo arbeitest du?
Matthias Bünger, aus Bonn, beschäftigt beim ITZBund (Informationstechnikzentrum Bund, IT-Dienstleister).
An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob?
Qualitätssicherung, Buildmanagement, automatisches Testen.
Automatisierung ist mir sehr wichtig. Ich möchte die Grundlagen für automatische Tests schaffen.
Ansonsten bin ich hauptsächlich in der Backend-Anwendung tätig.
Welche Ausbildung bzw. welches Studium hast du im Bereich der Informatik absolviert?
Nach der Schule habe ich eine Ausbildung zum Fachinformatiker Anwendungsentwicklung absolviert.
Danach habe ich noch Informatik studiert.
Mit welcher/n Programmiersprache/n arbeitest du im Alltag?
Java (EE)
Was ist deine Lieblingsprogrammiersprache und warum?
Java
Automatisiertes Testen von Java-EE-Anwendungen
Mein aktueller Wissensstand zum Testen ist etwas durcheinander. Ich bin verwirrt durch zahlreiche Blog-Beiträge, die unterschiedliche Meinungen propagieren. Zum Beispiel: "Mocke nur, was du unter Kontrolle hast!" oder "Mocks sind gemacht worden, um sie wieder abzuschaffen!". Ja was denn nun?
Gibt es aktuell noch gar keine Tests in eurer Anwendung?
Es gibt ein paar Unit-Tests ohne Mocking oder Dependency Injection.
In vielen Komponenten werden Logger eingesetzt, die die Tests erschweren.
Ich habe eine Schulung zu Arquillian besucht und kann theoretisch damit loslegen.
Was mich abschreckt ist das Deployment bei Arquillian, das recht lange dauert.
Was macht die Anwendung überhaupt? Welche Frameworks/Technologien werden eingesetzt?
Backend zur Verarbeitung von XML-Dateien, die ins Dateisystem geliefert werden.
Die Daten aus den XML-Dateien werden dann mit JPA in eine Datenbank geschrieben, von wo aus sie weiter verarbeitet werden.
Fachlich geht es um Freistellungsaufträge von Banken.
Unsere Herausforderungen sind die parallele Verarbeitung und eine hohe Last. Im Hintergrund läuft WebSphere.
Die fachliche Logik ist nicht allzu komplex.
Was sind deine Herausforderungen beim Testen?
Wir verwenden häufig einen Logging Interceptor. Wie mockt man den?
Wir setzen stark auf CDI mit @Inject an den Attributen. Wie testet man das?
Ansonsten gibt es viele Data Access Objects.
DB-Zustände müssen evtl. zum Testen hergestellt und danach zurückgesetzt werden.
Wie findet man einen Einstieg ins Testen?
Ich würde mit Unit-Tests für die Fachlichkeit beginnen. Dieser Teil der Anwendung "verdient das Geld".
Die EE-Technik geht eher nicht kaputt und muss nicht zu Beginn getestet werden. Das bringt kaum Mehrwert.
Ich würde nicht mit Arquillian beginnen, sondern mit "einfachen" Unit-Tests mit JUnit, ggfs. unterstützt durch Mocks mit Mockito.
Was mockst du?
Ich habe verschiedene Meinung gelesen: Nur mocken, was man vollständig versteht. Niemals Fremdimplementierungen mocken. Keine Legacy-Anwendungen mocken.
Das sehe ich anders: Ich mocke alles, was mir im Weg steht und insb. die Infrastruktur berührt (Netzwerk, Datenbank, Dateisystem).
Wenn die Mocks zu aufwändig werden, ist das ein Zeichen dafür, dass die zu testende Klasse verkleinert werden muss.
Würdest du auch die Datenbank mocken?
Erstmal ja, um die Tests zu beschleunigen.
Aber danach würde ich gegen eine lokale oder In-Memory-DB testen und am Schluss auch gegen eine "echte" Datenbank, z.B. eine Entwicklungsdatenbank.
Die jeweilige Zieldatenbank (z.B. Oracle) ist halt nicht H2. Die Systeme verhalten sich unterschiedlich. Und wichtig ist, dass die Software später auf dem echten Zielsystem lauffähig ist.
Ich würde die echten DB-Tests aber nicht mit EE im Application Server laufen lassen,
...more
View all episodesView all episodes
Download on the App Store

IT-Berufe-PodcastBy Stefan Macke

  • 5
  • 5
  • 5
  • 5
  • 5

5

1 ratings


More shows like IT-Berufe-Podcast

View all
Chaosradio by Chaos Computer Club Berlin

Chaosradio

7 Listeners

Computer und Kommunikation by Deutschlandfunk

Computer und Kommunikation

10 Listeners

IQ - Wissenschaft und Forschung by Bayerischer Rundfunk

IQ - Wissenschaft und Forschung

46 Listeners

ZEIT WISSEN. Woher weißt Du das? by ZEIT ONLINE

ZEIT WISSEN. Woher weißt Du das?

45 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

5 Listeners

Eine Stunde History - Deutschlandfunk Nova by Deutschlandfunk Nova

Eine Stunde History - Deutschlandfunk Nova

109 Listeners

Smarter leben by DER SPIEGEL

Smarter leben

50 Listeners

Kampf der Unternehmen by Wondery

Kampf der Unternehmen

16 Listeners

kurz informiert by heise online by heise online

kurz informiert by heise online

2 Listeners

Quarks Science Cops by Quarks

Quarks Science Cops

19 Listeners

Terra X History - Der Podcast by ZDF - Terra X

Terra X History - Der Podcast

9 Listeners

Aha! Zehn Minuten Alltags-Wissen by WELT

Aha! Zehn Minuten Alltags-Wissen

25 Listeners

KI verstehen by Deutschlandfunk

KI verstehen

8 Listeners

Wirecard: 1,9 Milliarden Lügen by Süddeutsche Zeitung

Wirecard: 1,9 Milliarden Lügen

3 Listeners

Passwort - der Podcast von heise security by Dr. Christopher Kunz, Sylvester Tremmel

Passwort - der Podcast von heise security

3 Listeners