Testing

Mit automatisierten Tests optimal entwickeln

Dauerhaft kann geschäftskritische Software nur betrieben werden, wenn automatisierte Tests an der Tagesordnung sind. Unternehmen legen damit die Basis für die Veränderbarkeit der Lösung und stellen sicher, dass sie langfristig verfügbar ist und zielführend genutzt werden kann. Die häufig verbreitete falsche Annahme, die Implementierung automatisierter Tests wäre aufwendig und zu teuer, bezieht den Fakt nicht mit ein, dass gerade dann unnötige und enorme Kosten entstehen, wenn Unternehmen nicht getestete Software verwenden. Zumal bei Berücksichtigung einiger Grundprinzipien Softwaretests effektiv und zugleich kostensparend gelingen.

Die Anbindung an externe HTTP Services richtig testen

Mit der verstärkten Verbreitung von Microservices steigen auch die Abhängigkeiten zwischen den verschiedenen Anwendungen. Aufgrund der eigenen Datenhoheit müssen Services auf die ein oder andere Art Informationen miteinander austauschen, um ihr (Business-)Ziel zu erreichen. Häufig ist REST bzw. HTTP dafür das Mittel der Wahl. Egal, ob man der klassischen Testpyramide oder einem der neueren Ansätze wie der Testhonigwabe [1] folgt: Irgendwann während der Entwicklung sollte die Kommunikation mit Integrationstests geprüft werden. Das ist der Punkt, an dem WireMock [2] ins Spiel kommt.

Testing-Methoden und -Technologien im Überblick

Test-driven Development ist keine Mode, sondern professionelle Entwicklung. Anders als der Zuckerguss einer Torte ist Qualität auch kein Attribut, das nachträglich ergänzt werden kann, sondern muss von Anfang an berücksichtigt werden. Dieser Artikel soll einen Überblick über die zum Erreichen dieser Qualität nötigen Testing-Methoden und -Technologien geben.

Testdaten: Eine Falle der DSGVO?

Seit nun beinahe zwei Jahren ist die Europäische Datenschutz Grundverordnung (EU-DSGVO) in Kraft. Die meisten Unternehmen haben sich inzwischen auf die Verordnung eingestellt und fühlen sich vor möglichen Strafzahlungen geschützt. Man kann sagen, die Geschäftswelt habe sich mit der DSGVO arrangiert. Wie so häufig, steckt der Teufel vor allem im Detail und Unternehmen könnten an unerwarteter Stelle, ohne es zu wissen, gegen die EU-DSGVO verstoßen. Ich rede von der Verwendung sensibler Daten für Testzwecke.

Behavior-driven Development: Akzeptanztests in Java mit JGiven

Die meisten Entwickler wissen, was Komponententests sind, auch wenn sie selbst keine schreiben. Aber es gibt noch Hoffnung: Die Situation ändert sich, und immer mehr auf GitHub gehostete Projekte enthalten Unit-Tests. In einer Standardkonfiguration für Java-Projekte mit NetBeans, Maven und JUnit ist es nicht ganz so schwer, die ersten Zeilen Testcode zu erstellen. Neben dem Ansatz, der in Test-driven Development (TDD) verwendet wird, gibt es noch andere Technologien wie Behavior-driven Development (BDD), auch Akzeptanztests genannt, die wir in diesem Artikel vorstellen möchten.

Lessons learned: Akzeptanztests in Java mit JGiven

Die meisten Entwickler wissen, was Komponententests sind, auch wenn sie selbst keine schreiben. Aber es gibt noch Hoffnung: Die Situation ändert sich, und immer mehr auf GitHub gehostete Projekte enthalten Unit-Tests. In einer Standardkonfiguration für Java-Projekte mit NetBeans, Maven und JUnit ist es nicht ganz so schwer, die ersten Zeilen Testcode zu erstellen. Neben dem Ansatz, der in Test-driven Development (TDD) verwendet wird, gibt es noch andere Technologien wie Behavior-driven Development (BDD), auch Akzeptanztests genannt, die wir in diesem Artikel vorstellen möchten.

Smoke Testing von MQTT-Anwendungen mit MQTT CLI

Bereits heute kommunizieren Millionen von Endgeräten im Internet of Things über das MQTT-Protokoll miteinander. Die Prognosen, wie viele es in den kommenden Jahren sein werden, überschlagen sich immer wieder. Gegenüber diesem prognostizierten rasanten Wachstum erweist sich die Entwicklung neuer Geräte jedoch oft als langsam. Das kann häufig die Entwicklung weiterer Anwendungen blockieren, die die Daten der Geräte verarbeiten sollen. Um diese Engpässe zu überbrücken, kann das Tool MQTT CLI verwendet werden. Das Kommandozeilenwerkzeug simuliert schnell und einfach Endgeräte und kann so für erste Tests von MQTT-Anwendungen verwendet werden.

Vom Post-it zum Test: Event Storming aus der Sicht eines Testers

Event Storming ist im Domain-driven Design eine gute Methode, ein gemeinschaftliches Verständnis aller Projektbeteiligter bezüglich der Anwendungsdomäne zu erlangen und dabei ein Prozessmodell zu erstellen. Oft wird dabei aber außer Acht gelassen, dass die dabei entwickelten Informationen nur mit wenig Aufwand direkt in automatisierbare Testfälle transformiert werden können. Daher soll hier die Frage beantwortet werden, wie die verschiedenen Modellierungspattern des Event Stormings in sinnhafte Behavior-driven-Design-Testfälle umgesetzt werden können.

Smoke Testing: MQTT-Anwendungen mit dem MQTT CLI testen

Bereits heute kommunizieren Millionen von Endgeräten im Internet of Things über das MQTT-Protokoll miteinander. Die Prognosen, wie viele es in den kommenden Jahren sein werden, überschlagen sich immer wieder. Gegenüber diesem prognostizierten rasanten Wachstum erweist sich die Entwicklung neuer Geräte jedoch oft als langsam. Das kann häufig die Entwicklung weiterer Anwendungen blockieren, die die Daten der Geräte verarbeiten sollen. Um diese Engpässe zu überbrücken, kann das Tool MQTT CLI verwendet werden. Das Kommandozeilenwerkzeug simuliert schnell und einfach Endgeräte und kann so für erste Tests von MQTT-Anwendungen verwendet werden.

Test-Framework Karate erreicht Milestone Release

Karate 0.9.5 ist erschienen. Das Testautomatisierungs-Framework steht Open Source zu Verfügung und wurde als Alternative zu Selenium entwickelt. Es kombiniert API-Testautomatisierung, Mocks, Performance-Tests und UI-Automatisierung. Wir werfen einen Blick auf das Milestone Release, das unter anderem einen neuen Debugger mit an Bord hat.

Java 14, Docker Desktop 2.2 & Kubernetes Operator – Unsere Top-Themen der Woche

Die letzte Woche verging wie im Flug – kein Wunder bei so viel spannenden Themen! Zum einen bot unser Monatsrückblick eine schöne Zusammenfassung der beliebtesten Themen im Januar. Zum anderen ist Docker Desktop 2.2 erschienen und auch eine neue Ausgabe der Golumne erfreute sich großer Beliebtheit. Welche Themen der vergangenen Woche für Euch sonst noch interessant waren, erfahrt ihr in unserem Wochenrückblick.

KubeInvaders: Kubernetes-Cluster-Tests mal anders!

Jeder Entwickler weiß: Ebenso wichtig wie die Entwicklung der Software, sind Software-Tests! Doch ganz gleich ob Mathe-, Vokabel- oder Softwaretest – Tests sind ein leidiges Thema. Das weiß auch Eugenio Marzo und hat daher ein Chaos Engineering Tool bzw. Game für das Testen von Kubernetes-Clustern entwickelt. Mit KubeInvaders zeigt sich, wie belastbar ihre Kubernetes-Cluster tatsächlich sind!

  • 1
  • 2