11.05.2023 von Björn Thalheim
Developers know unit tests fairly well, even more integrative approaches like @SpringBootTest
.
But many lack a clear design/development/test strategy and stick to their favorite programming language.
Acceptance Test Driven Design (ATDD) is a structured approach to design your tests and program outside in, keeping the focus on the larger function blocks instead of individual classes (e.g. test behavior, not classes).
This approach may benefit from abstracting the acceptance tests to a non-programming language like cucumber, allowing even non-programmers to write test scenarios which will eventually be executed automatically.
This article demonstrates this with a small testcase and a fully functional, little Spring Boot/Java project.
04.05.2023 von Frederik Schlemmer
Das Problem ist nahezu jedem Frontend Entwickler bekannt: Ein simpler Unit-Test wird durch die Implementierungsdetails unglaublich komplex. Dies bringt einige Nachteile mit sich, weshalb Angular seit Version 9 Component Harness zur Verfügung stellt.
weiterlesen03.05.2023 von Stefano Fiorentino
Software ist überall. So enthalten beispielsweise Embedded Geräte eine Menge Software. Leider werden Fehler oft erst entdeckt werden, wenn die Software in Betrieb ist. Um dies zu vermeiden, empfehlen wir Ihnen eine FOTA-First-Mentalität (Firmware Over-the-Air).
weiterlesen22.03.2023 von Vincent Scherb
For a project I decided to use the libgit2 library which, fortunately, has a port to C#.
When adding the NuGet package in the latest version 0.26.2
(release December 11, 2019) the program ran into a problem at runtime as the shared library cannot be loaded.
15.03.2023 von Marc Mezger
Python ist eine hochentwickelte, universelle Programmiersprache, die in verschiedenen Bereichen wie Data Science, maschinellem Lernen, Webentwicklung und Automatisierung weit verbreitet ist. Die Einfachheit der Syntax und die leichte Erlernbarkeit machen Python zu einer idealen Sprache für Anfängerinnen und Anfänger sowie für erfahrene Developer. In diesem Blog-Beitrag werde ich die Anwendungsgebiete sowie die Eigenschaften der Sprache beleuchten und einen Ausblick auf die Zukunft geben.
weiterlesen03.03.2023 von Paul Schüler
Softwareversionierung ist ein praktisches Mittel, um den aktuellen Entwicklungsstand festzuhalten. Jedoch werden Softwareversionen oft nur inkrementiert und bringen dadurch keinen Mehrwert. Weil Versionierung in Regeln wiedergegeben werden kann, sollten wir diesen Prozess automatisieren. Semantische Versionierung gibt Softwareversionen eine Struktur, die allen Stakeholdern und dem Entwicklungsteam wichtige Informationen liefern kann.
weiterlesen28.02.2023 von Lars Schmiedeberg
28.02.2023 von Rico Komenda
In diesem Blogpost gehen wir auf reguläre Ausdrücke (Regex) und deren Schattenseiten ein. Dabei sehen wir uns speziell an, wie ein Regex einen Denial-of-Service-Angriff auslösen kann.
weiterlesen13.02.2023 von Christoph Kappel
Orchestrierung ist in aller Munde und aus vielen Bereichen gar nicht mehr wegzudenken - doch gibt es neben dem Platzhirschen Kubernetes eigentlich Alternativen? Im Zuge dieses Artikels beschäftigen wir uns mit dem Job Scheduler Nomad aus dem Hause HashiCorp und sehen uns anhand von einfachen Beispielen an, welche Möglichkeiten hier geboten werden. Anschließend beschäftigen wir uns mit Deployments und fortgeschritteneren Themen wie Service Discovery und Canary Deployments.
weiterlesen