Java

Ich geh mit meiner Laterne: Wie der Einsatz von Lanterna gelingt

Lanterna ist eine Library, mit der sich Kommandozeilentools in Java erstellen lassen. Es ähnelt der bekannten C-Library Curses [1], kommt jedoch mit mehr Funktionen daher. Lanterna kann reine Terminals emulieren, sodass damit Installationsassistenten möglich sind. Andererseits lassen sich damit textbasierte GUIs mit Buttons, Drop-down-Menüs und dergleichen erstellen, was zum Beispiel für Systemtools wie YaST [2] von openSUSE geeignet ist.

Selenium 2020 – wo stehen wir jetzt? Automatisiertes Testen von Weboberflächen

Sozialistische Staaten verfügen oft über einen Fünfjahresplan – dieser Artikel ist jedoch ein Fünfjahresupdate: 2015 wurde mit der Ambition, einen schnellen ersten Einstieg in das automatisierte Testen von Weboberflächen zu liefern, ein Einführungsartikel mit den Basics zu Selenium WebDriver geliefert [1]. Jetzt, fünf Jahre später, ist es an der Zeit, dem Platzhirsch einen erneuten Besuch abzustatten, um zu schauen, was sich geändert hat, was noch genau so wie früher ist, und mit welchen Neuerungen Entwickler*innen heutzutage rechnen sollten.

Java Magazin 12.20 erschienen: Java 15 im Fokus

Wenig erfüllt das Herz des Menschen mit mehr Stolz als das Erschaffen von Neuem. Das ist sozusagen Wasser auf die Mühlen unseres menschlichen Gottkomplexes. Schaut man sich einmal um in der Welt, sei es in der visuellen Kunst, der Schriftstellerei oder eben in der Architektur, dann kommt bei diesem Schaffensdrang durchaus das ein oder andere Meisterwerk heraus. Schon Goethe wusste, dass die echte Sehnsucht des Menschen stets produktiv sein muss, ein Neues, Besseres zu schaffen.

Hallo Siri, teste meine Alexa! Testautomatisierung von Sprachassistenten mit Java und Cucumber

Haben Sie sich schon mal gefragt, wie das Testen von Sprachassistenten aussehen könnte? Die erste Möglichkeit ist wohl, auf eine Reihe von Testpersonen zurückzugreifen und verschiedenste Spracheingaben mit den Ausgaben zu vergleichen, manuell versteht sich. In diesem Artikel möchte ich jedoch einen Weg zum Testen von Sprachassistenten mit Hilfe von Java und Cucumber aufzeigen.

Shenandoah und ZGC: Weniger Pausenzeiten bei der Garbage Collection

Mit Shenandoah und ZGC gibt es im OpenJDK erstmals zwei Low-Pause Garbage Collectors, die die berüchtigten Pausenzeiten von Java-Anwendungen auf Millisekunden beschränken. Wir stellen die Arbeitsweise der beiden Collectors vor, messen mit Hilfe einer praxisnahen Benchmark, ob die Collectors halten, was sie versprechen, und diskutieren, wie sich Shenandoah und ZGC voneinander abgrenzen.

HiveMQ vorgestellt: Automatisiertes Testen von MQTT-Applikationen

In einem Großteil der IoT-Anwendungsfälle wird die Kommunikation zwischen Geräten mit dem MQTT-Protokoll realisiert. Typische Anwendungen sind beispielsweise Steuergeräte, Gateways, mobile Geräte, Backend-Systeme und eine Vielzahl weiterer Microservices. In Einsatzgebieten mit großen IoT-Netzwerken sind die Anforderungen an die Softwarequalität der MQTT-Applikationen besonders hoch, da sich hier Fehler katastrophal auswirken können. Automatisierte Softwaretests sind ein fundamentaler Teil davon, diese hohe Qualität zu garantieren, da Fehler in der Implementierung schnell erkannt und behoben werden können. Die HiveMQ-Testcontainer-Bibliothek wurde geschaffen, um MQTT-Anwendungen in einer isolierten Umgebung testen zu können.

Enterprise Tales: Mehr Backend wagen – im Frontend!

Das Frontend ist seit jeher ein wichtiger Bestandteil der meisten Anwendungen. Mit dem Aufschwung von Single Page Applications (SPA) hat sich die Komplexität jedoch im Gegensatz zu Ansätzen, bei denen das gesamte HTML im Backend erzeugt wird, enorm erhöht. Sofern die Wahl auf eine SPA als Frontend-Lösung fällt, steht natürlich sofort eine wichtige Frage im Raum: Wie kann man als Entwickler die neue Komplexität im Frontend bändigen?

DevOps im Test: Verbesserter ROI dank DevOps Testing

DevOps galt lange Zeit als ein großer Hype. Nun gehen Unternehmen das Thema strategischer an und suchen nach Einsatzgebieten, in denen sich mit dem Ansatz die größte Rendite erzielen lässt. Dieser Artikel zeigt, wie sich mit DevOps-Methoden ein effizienteres Testing und damit ein besserer Return on Investment (ROI) realisieren lässt.

Java 15 erschienen: Das sind die Neuerungen im OpenJDK 15

Mit Java 15 erscheint nun bereits das sechste halbjährliche Java-Release in Folge. Und das mal wieder genau im Zeitplan – eine Eigenschaft, die man von IT-Projekten im Allgemeinen und früheren Java-Versionen im Speziellen so nicht gewohnt ist. Laut der Ankündigung auf der Mailingliste gibt es neben Hunderten kleineren Verbesserungen und Tausenden Bugfixes insgesamt vierzehn neue Features. In diesem Artikel werfen wir einen Blick auf die relevanten Änderungen.

Exploiting in Java: Deserialisierungs- schwachstellen im Java-Programmcode

Der Stack Overflow ist das am meisten anzutreffende Sicherheitsproblem in der Softwareentwicklung. Bei einem solchen kann ein Angreifer mittels einer zu langen Eingabe einen Programmspeicher zum Überlaufen bringen, sprich über die Grenzen eines Arrays hinausschreiben und so Programme zum Absturz bringen, interne Daten verfälschen und den Programmfluss ändern. In Java gibt es zwar keinen klassischen Stack Overflow, aber ähnliche Deserialisierungsschwachstellen.