testing

Einführung in Gatling

Der Software-Test gehört zur Agilen Softwareentwicklung. Auch wenn viele Softwareentwickler automatische (J)Unit-Tests als “Testen” ansehen, liegt der Schwerpunkt beim Testen im eigentlichen Sinne nicht nur im Verhindern von Regressionen durch automatische Checks, sondern auch im Gewinnen von Informationen über die entwickelte Software. Wertvolle und zeitnahe Informationen sind essenziell, um fundierte Entscheidungen zu treffen. Neben vielen anderen Test-Arten ist der Leistungstest ein wichtiger Bestandteil einer umfassenden Test-Strategie.

Weiterlesen

Functional Load Testing mit Gatling

Die Hauptaufgabe im Testen besteht darin, Informationen über ein Software-System zu gewinnen; dazu gehören auch Last- und Performance-Tests. Mit funktionaler Programmierung können wir Ereignisse und Szenarien modellieren, die mit klassischen Ansätzen gar nicht oder nur schwer abbildbar sind. Dieser Artikel beschreibt diese Szenarien und zeigt die Möglichkeiten von Gatling auf, sie funktional zu testen.

Weiterlesen

Integrationstests von Mikroservices

Integrationstests sind die zweitwichtigste Phase in Continuous Integration und Delivery. Es ist das erste Mal, dass mehrere Komponenten miteinander interagieren. Der aktuelle Trend zu Mikroservice-Softwarearchitekturen erfordert ein neues Denken hinsichtlich der Integrationstests verteilter Systeme. In diesem Artikel möchte ich über die Herausforderungen beim Testen dieser Architekturen reflektieren. In monolithischen Anwendungen sind Komponenten oder Teile eng gebündelt. Inkompatibilitäten können oft bereits während der Kompilierung erkannt werden. Komponenten interagieren miteinander durch Nachrichten, die lokal übertragen werden, d.

Weiterlesen

Multi-Modul-Integrationstest-Abdeckung mit Jacoco und Sonar

In diesem Artikel beschreibe ich, wie man Jacoco für Maven-Multi-Modul-Projekte einrichtet, damit die Coverage von Integrationstests für die gesamte Codebasis berechnet und mit Sonarqube analysiert werden kann.

Weiterlesen

Mutationstests

Ende Januar habe ich an der OOP2015-Konferenz in München teilgenommen. Unter den vielen interessanten Sitzungen war eine, die einen bleibenden Eindruck hinterlassen hat. Es war der Workshop von Filip van Laenen und Markus Schirp über Mutationstests (Folien hier), den ich in diesem Beitrag zusammenfassen möchte.

Weiterlesen

Mutation Testing 101

Unit Tests sind der wichtigste Baustein einer Qualitätssicherungsstrategie. Ca. drei Viertel aller potentiellen Fehler können in Unit Tests aufgedeckt werden. Mutation Testing ist eine Technik, um die Effektivität einer Unit Test Suite zu prüfen.

In unserem 1-tägigen Mutation Testing Basis Training lernen Sie die theoretischen Grundlagen zu Mutation Testing, praktische Anwendungsgebiete sowie Fallstricke. Sie lernen wie Sie typische Software Qualitätsmetriken sowie Mutation Reports korrekt interpretieren.

Weiterlesen

Performance Testing with Gatling

Performance Testing ist der anspruchsvollen IT-Welt von heute wichtiger denn je. Egal ob Sie das Maximum an Leistung aus ihren Resourcen erhalten wollen, um damit ihre Operativen Kosten zu senken oder ihre Software-Architektur hinsichtlich Skalierbarkeit fit für die Leistungsanforderungen von morgen zu machen - Performance Testing hilft Ihnen dabei zielgerichtet und effizient vorzugehen.

In unserem 1-tägigen Performance Testing Basis Training lernen Sie anhand des Open Source Tools Gatling die theoretischen Grundlagen zu Performance Testing, praktische Anwendungsgebiete sowie Fallstricke. Anhand praktischer Beispiele lernen Sie, wie Sie Performance Tests Planen, Umsetzen, Durchführen und Auswerten.

Weiterlesen

Sonarqube: Mutation Analysis Plugin

Mit Hilfe von Mutation Testing können Sie die Qualität Ihrer Unit Test Suite ermitteln, Testlücken aufdecken und dadurch die Qualität Ihrer Software verbessern.

Unser Mutation Analysis Plugin für Sonarqube erlaubt es, aus den Testergebnissen, die durch das Pitest Mutation Analysis Werkzeug erstellt wurden, direkt die betroffenen Stellen im Code anzuzeigen, einschliesslich Detailinformationen zu den Mutanten, und direkt Bugs im Bugtracking zu erfassen.

Weiterlesen

Testing Services

Ob Wasserfall, Agile Methoden oder Ad-Hoc, kein Entwicklungsmodell kommt ohne Testen aus. Auch wenn einzelne Agile Methoden nur noch von „Developern“ sprechen, so darf das nicht als „nur Programmierer“ verstanden werden. Die Disziplin des Testens gehört nach wie vor zu den Entwickler-Disziplinen wie auch die Architektur, kommt jedoch häufig in den Planungen zu kurz, was gravierende Folgen auf die Qualität des Endprodukts haben kann. Unterliegen Sie nicht dem häufigen Irrtum, dass eine hohe Testabdeckung automatisch gute Qualität bedeutet. Aufgabe des Programmierers ist, mit Tests zu bestätigen, dass das Programm funktioniert. Jedoch hat jedes Programm auch unbekannte Fehler oder unerwartete Verhaltensweisen. Nicht jedes Verhalten ist spezifiziert, nicht jede Abweichung ist ein Fehler. Das zu Entscheiden, bedarf Informationen — wann, wie, unter welchen Umständen. Diese Informationen zu liefern, ist Aufgabe des Testers.

Weiterlesen