Blogkategorie: Quality

KI auf Basis eines neuronalen Netzes

In diesem Blog-Beitrag wird der Aufbau eines neuronalen Netzes für eine Künstliche Intelligenz gezeigt. Zudem wird beispielhaft erklärt, wie man diese KI mithilfe von Trainingsdaten, Backpropagation und Evolution trainieren kann, aber auch, welche Gefahren dabei auftreten können.

Mutation Testing mit Pitest

Codequalität und -korrektheit lassen sich unter anderem mit Hilfe von Unit-Tests sicherstellen. Aber nicht jeder Unit-Test ist sinnvoll und häufig schaffen es Bugs von Unit-Tests unerkannt zu bleiben. Wie lässt sich die Testqualität erhöhen, um Programmierfehler zuverlässiger und früher zu erkennen?

Namenskonventionen in der Oracle Datenbank

Ein wichtiger Teil von Code Conventions sind die Namenskonventionen. In den Namenskonventionen wird vereinbart, wie „Dinge“ zu benennen sind. Im Falle einer Datenbank handelt es sich bei den zu benennenden „Dingen“ um Schema-Objekte wie Tabellen, Sequenzen, Indexe, Views, Trigger, aber auch um Constraints. In einer Datenbank gilt es, die Namen mit besonderer Sorgfalt zu wählen.

Eine Groovy-DSL zum Erzeugen von Testdaten über JPA

Beim automatisierten, integrativen Testen von Software, die mit einem komplexen JPA-Datenmodell arbeitet, steht man unweigerlich früher oder später vor der Frage, wie sich semantisch sinnvolle Testdaten ohne großen Aufwand erzeugen lassen. Dieser Artikel zeigt, wie man mit Groovy eine Domain Specific Language (DSL) definieren kann, die es erlaubt, Testdaten leicht lesbar, modular und getrennt vom eigentlichen Test-Code zu definieren.

Jenkins Pipeline Plugin: Code-Vervollständigung in IntelliJ

Das Pipeline Plugin (früher Workflow Plugin) für Jenkins revolutioniert die Arbeit mit Jenkins, indem es das Erstellen von Build Jobs als Code ermöglicht. Dadurch werden Build Pipelines unter anderem wiederverwendbar, versionierbar, testbar und einfacher lesbar als etwas “Zusammengeklicktes“.

Anforderungsmanagement im Produktlebenszyklus mit Redmine

In jedem Projekt stellt man sich der Herausforderung aufs Neue, Anforderungen in das fertige Produkt zu überführen. Um das erfolgreich zu schaffen, gibt es zahllose Vorgehensweisen und Möglichkeiten. Eine Lösung ist die Verwendung von Redmine, einer Issue-Tracking Applikation, die einfach auf die eigenen Bedürfnisse angepasst werden kann.

Statische Codeanalyse mit SonarQube

Manchmal fragen sich Entwickler: „Was mache ich hier eigentlich?“ Das hat dann nichts mit einer plötzlichen Sinneskrise oder dem Zusammenbruch der persönlichen Weltanschauung zu tun. Vielmehr wacht der innere Softwarearchitekt auf und verlangt nach einer Darstellung des Großen Ganzen.

Gauge – ein leichtgewichtiges Behavior-Driven-Testing-Tool

In diesem Artikel werde ich etwas über das Testframework Gauge vom Unternehmen ThoughtWorks berichten. Ein Tool, das ich das erste Mal kennen lernte als ich automatisierte End-to-End-Tests (E2E) für verschiedene Webapplikationen innerhalb einer Webplattform geschrieben habe. Durch die Tests sollte schrittweise überprüft werden, ob bestimmte Funktionen wie z.B. der Single-Sign-Out, die richtige Weiterleitung auf andere Pages oder die Zugriffsberechtigungen auf bestimmte Elemente ausgewählter Webapplikation wie gewünscht funktionieren.