Verbesserung der Software durch bessere Testfälle

Erstmal klingt es recht leicht gute Software zu schreiben. Der Source Code lässt sich kompilieren und die Anwendung startet. Jedoch reicht dies i.d.R. nicht aus, um sicherzustellen, das die Software fehlerfrei ist. Viele der Anforderungen verstecken sich in unzähligen Code Zeilen und oft komplexen Verschachtelungen. Da ist es selbst für erfahrende Entwickler schwierig der Überblick zu behalten.

Daher empfiehlt sich die (fachlichen) Testfälle zusammen mit den Anforderen zu erstellen und festzulegen. Jedoch wie sollen nun die Testfälle aufgeschrieben werden – als Programmcode kann der Mitarbeiter aus der Fachabteilung nicht viel mitsprechen und wird der Testfall als Prosatext aufgeschrieben, so kann der Entwickler ihn oft nicht automatisieren. Daher habe ich mir mal verschiedene Tools angesehen, mit denen man Testfälle nachhaltig erfassen kann und die Qualität der Software zu verbessern. Hier eine kleine Zusammenfassung der Erkenntnisse.

„Verbesserung der Software durch bessere Testfälle“ weiterlesen

Durchschnittliche Bewertung
5 aus 5 Sternen. 1 Stimmen.

Handling von Datenbank-Updates mit Spring

Logo von Liquibase

Aufbauend auf meinem vorherigen Artikel „Handling von Datenbank-Updates„, das die Datenbank-Änderungen in einer „Standalone“-Anwendung beschreibt, lässt sich dieses Verfahren auch leicht auf Enterprise Anwendungen ausweiten. In diesem Beispiel verwenden wir als Enterprise Framework Spring.

„Handling von Datenbank-Updates mit Spring“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

Handling von Datenbank-Updates

Logo von Liquibase

Die Verwaltung von Datenbank-Updates ist heute ein elementar Punkt innerhalb der Software-Entwicklung. In den vergangenen Jahren sind dazu eine Vielzahl von Frameworks entstanden. Wie baut man aber diese Frameworks nun richtig und flexibel in sein Projekt ein?

In diesem Artikel möchte ich kurz eine Möglichkeit beschreiben, wie man mit Liquibase (http://www.liquibase.org) und HSQLDB (http://hsqldb.org) ein einfaches Projektsetup aufsetzen kann, das automatisch Datenbank-Updates anwendet. HSQLDB dient dabei als „lokale“ Entwicklungsdatenbank, die später dann durch ein vollständiges DBMS ersetzt werden kann.

Die Idee hinter diesem Vorgehen ist jetzt einfach:

  • Jeder Entwickler soll seine eigene Datenbank zum Testen haben.
  • Die (Unit-)Testfälle sollen auf einem definierten und reproduzierbaren Datenbestand ausgeführt werden.
  • Die Datenbank-Updates sollen an einen zentralen und versionierten Ort gespeichert werden und jeder Entwickler kann diese erweitern.
  • Sie sollen automatisch bei den Entwicklern ausgeführt werden.
  • Angewendete Updates sollen nicht erneut ausgeführt werden.

„Handling von Datenbank-Updates“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

Neue Bibliothek MarkDown

Wie dokumentiert man sein Projekt möglichst einfach. Eine einfache Art bietet hier die Sprache MarkDown.

Markdown ist eine vereinfachte Auszeichnungssprache, die von John Gruber und Aaron Swartz entworfen wurde. Ein Ziel von Markdown ist, dass schon die Ausgangsform ohne weitere Konvertierung leicht lesbar ist. Als Auszeichnungselemente wurden daher vor allem Auszeichnungsarten verwendet, die in Plaintext und E-Mails üblich sind.
Quelle: http://de.wikipedia.org/wiki/Markdown

Damit die Dokumentation versioniert und passend zum restlichen Quellcode abgelegt werden kann, sollte sie ebenfalls im Versionsverwaltungssystem eingecheckt werden. Da die MarkDown-Dateien auf Text basieren, sind sogar parallele Änderungen möglich.

„Neue Bibliothek MarkDown“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

SpringMicroservices

Microservice ist ein Architekturmuster, bei dem komplexe Programmabläufe aus kleinen, unabhängigen Prozessen komponiert werden. Die Schnittstellen zwischen diesen elementaren Einheiten interagieren mit einer sprachunabhängigen Programmierschnittstelle. Die Dienste sind klein und weitgehend entkoppelt und erledigen eine spezialisierte Aufgabe. Dadurch wird ein modularer Aufbau des Anwendungssystems möglich.

Microservices mit Spring Boot lassen sich auf einfache Art kleine Services aufbauen. Diese Konfiguration dieser Services erfolgt über spezielle Annotations aus dem Spring Framework.

Für mein Beispiel möchte ich ein kleines (verteiltes) System erstellen, das die (CPU-)Temperaturen von mehreren Raspberry PIs (via Microservices) abfragt und in einer zentralen Einheit speichert. Dort können dann die Temperatur-Werte angezeigt werden.

Den Source-Code für dieses Beispiel findet sich in meinem GitHub-Repository unter: SpringMicroservices.

„SpringMicroservices“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

DataBinding und Validierung mittels Eclipse RCP

In Eclipse RCP gibt für die Bindung zwischen Model und UI ein Framework für das DataBinding. Das DataBinding Framework verbindet Eigenschaften/Properteries von Objekten. Es wird typischerweise verwendet, um Eigenschaften der Benutzeroberfläche mit Eigenschaften anderer Java-Objekte zu synchronisieren. Diese Java-Objekte repräsentieren in der Regel das Datenmodell oder Domänenmodell.

Somit synchronisiert dieses DataBinding Frameworks Veränderungen dieser Eigenschaften/Properteries zwischen UI und Modell. Es unterstützt auch eine Validierung und Umwandlung bei der Synchronisation.

„DataBinding und Validierung mittels Eclipse RCP“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

Einrichtung einer Eclipse RCP Anwendung

Diese Anleitung beschreibt die initiale Einrichtung einer Eclipse RCP Anwendung. Aufbauend auf diesem Artikel wird dann eine Demo-Applikation erstellt.

Zur Implementierung von Eclipse RCP Anwendung wird die Eclipse Platform IDE benötigt oder es müssen die erforderlichen Plugins nachinstalliert werden.

„Einrichtung einer Eclipse RCP Anwendung“ weiterlesen

Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.
image_pdf