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

image_pdf
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

image_pdf
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

image_pdf
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

image_pdf
Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.

Die Entstehung und der Wandel von Webtechnologien und Browsern

Webtechnologien in der Geschichte des Internets (Quelle: http://www.evolutionoftheweb.com)
Webtechnologien in der Geschichte des Internets (Quelle: http://www.evolutionoftheweb.com)

Beim Stöbern im Netz ist mir eine sehr interessante Grafik aufgefallen.

Diese interaktive Grafik zeigt die Evolution des Webs seit 1990. Ebenso wird darstellt, wie sich die Optik der Browser, die Internetnutzung und Webtechnologien verändert haben.

Die vollständige Grafik findet man unter http://www.evolutionoftheweb.com

image_pdf
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

image_pdf
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

image_pdf
Durchschnittliche Bewertung
0 aus 5 Sternen. 0 Stimmen.