News
Tool-Tipp: Softwaretests mit Jenkins

Die Information ist ein schnelllebiges Gut. Jeden Tag werden wir mit hunderten Informationen zugemüllt. Deshalb sind wir bestrebt uns auf das Wesentliche zu konzentrieren und nur substantiell nachhaltige Informationen bereitzustellen.

Icon Unternehmen

Neben der Funktionalität von Anwendungen ist es wichtig, dass Software stabil und zuverlässig läuft. Im Laufe der Zeit steigt nicht nur die Funktionalität von Programmen, sondern auch die Anzahl möglicher Fehlerquellen mit hinzukommenden Codezeilen, an. Die Herausforderung ist es, möglichst viele Fehler zu finden und zu korrigieren. Neben dem manuellen Test kann auch automatisiert getestet werden. Regressionstests sind ein wichtiger Bestandteil des Test-Managements. Darunter versteht man die Wiederholung aller Testfälle oder einer Teilmenge, um mögliche Nebenwirkungen von Modifikationen in unveränderten Teilen der Software aufzuspüren.

Bei der Testautomatisierung wird zwischen der codenahen Testautomatisierung und der GUI-Testautomatisierung unterschieden.

Die Software Jenkins unterstützt die Entwickler bei der testgesteuerten Entwicklung und Automatisierung von Tests. In Jenkins können Jobs definiert werden, die als sich wiederholende Arbeitsabläufe zu verstehen sind. Diese Jobs bestehen aus mehreren Schritten, welche automatisch ausgeführt werden. Jenkins Jobs werden in zwei unterschiedlichen Varianten durchgeführt:

  • tägliche Builds: Diese Jobs werden kontinuierlich aufgeführt und prüfen den Quellcode.
  • kontinuierliche Integration: Immer dann, wenn eine Änderung durchgeführt worden ist, wird der Quellcode geprüft.

In der Regel erfolgt die Ausführung eines Jobs wie folgt:

  1. Der Quellcode wird aus dem Projektarchiv geladen und kompiliert.
  2. Sofern dies fehlerfrei ausgeführt worden ist, wird die Anwendung auf dem Testsystem ausgerollt.
  3. Die Tests werden ausgeführt; das Ergebnis wird in eine Logdatei geschrieben und in Jenkins grafisch dargestellt.

Das Jenkins Dashboard bietet einen Überblick über den Zustand aller Projekte.

 

Die Projektübersicht zeigt den Zustand der letzten Builds und kann durch die Installation von Plug-ins, wie z.B. dem TestNG Result Plugin, grafisch angepasst werden.

 

Fazit

Das Testen wird sehr oft nicht nur unterschätzt, sondern auch falsch angegangen. Können Tests erst nach der Fertigstellung der Software oder bereits zu Beginn des Projektes durchgeführt werden? Wann sollten codenahe und wann GUI-Tests verwendet werden? Wie und in welchem Umfang Software getestet wird, hängt nicht nur vom Projekt, sondern auch von jedem Unternehmen selbst ab. Wie testen Sie? Ist dies der richtige Weg, um Zeit und damit Geld für die Entwicklung von Software zu sparen und dennoch eine hohe Qualität zu liefern?