Testing

Gut getestet läuft besser: Das ServiceNow Automated Test Framework

Im Entwickler Magazin 6.2020 haben wir uns die SaaS-Plattform ServiceNow ein wenig genauer angesehen. Heute zeigen wir, wie man Applikationen innerhalb von ServiceNow testen kann. Die Plattform stellt hierfür ein Test-Framework bereit. In diesem Artikel gehen wir darauf ein, wie das Automated Test Framework (ATF) von ServiceNow arbeitet. Wir veranschaulichen an einem Beispiel, wie schnell sich einfache Tests aufsetzen lassen. Darüber hinaus gehen wir auf einige Punkte ein, die man beachten sollte, wenn man mit dem ATF arbeitet.

Selenium IDE: Capture-and-Replay-Testing

Selenium, in seiner (noch) aktuellen Version 3, besteht aus drei Bestandteilen: Selenium WebDriver, Selenium IDE und Selenium Grid. Während Selenium WebDriver im Grunde ein API bereitstellt, um programmatisch Tests zu schreiben, erlaubt Selenium Grid die Ausführung von mit Selenium WebDriver implementierten Tests auf mehreren Systemen und über mehrere Plattformen hinweg. Was aber ist nun die Selenium IDE?

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.

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.

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.

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.

Java Magazin 11.20 erschienen: Testing im Java-Labor

Als Marie Curie Ende des 19. Jahrhunderts das Radium erforschte und sich mit allerlei radioaktiven Substanzen vergiftete, wusste man um die Gefährlichkeit der Strahlung noch nicht so richtig Bescheid. Es gab zwar durchaus Anzeichen dafür, dass ein gewisser Zusammenhang zwischen schlimmen Erkrankungen und radioaktivem Material bestehen könnte, Madame Curie allerdings entschied sich dafür, dem keine besondere Beachtung zu schenken.

Mit automatisierten Tests optimal entwickeln

Dauerhaft kann geschäftskritische Software nur betrieben werden, wenn automatisierte Tests an der Tagesordnung sind. Unternehmen legen damit die Basis für die Veränderbarkeit der Lösung und stellen sicher, dass sie langfristig verfügbar ist und zielführend genutzt werden kann. Die häufig verbreitete falsche Annahme, die Implementierung automatisierter Tests wäre aufwendig und zu teuer, bezieht den Fakt nicht mit ein, dass gerade dann unnötige und enorme Kosten entstehen, wenn Unternehmen nicht getestete Software verwenden. Zumal bei Berücksichtigung einiger Grundprinzipien Softwaretests effektiv und zugleich kostensparend gelingen.

Die Anbindung an externe HTTP Services richtig testen

Mit der verstärkten Verbreitung von Microservices steigen auch die Abhängigkeiten zwischen den verschiedenen Anwendungen. Aufgrund der eigenen Datenhoheit müssen Services auf die ein oder andere Art Informationen miteinander austauschen, um ihr (Business-)Ziel zu erreichen. Häufig ist REST bzw. HTTP dafür das Mittel der Wahl. Egal, ob man der klassischen Testpyramide oder einem der neueren Ansätze wie der Testhonigwabe [1] folgt: Irgendwann während der Entwicklung sollte die Kommunikation mit Integrationstests geprüft werden. Das ist der Punkt, an dem WireMock [2] ins Spiel kommt.

Testing-Methoden und -Technologien im Überblick

Test-driven Development ist keine Mode, sondern professionelle Entwicklung. Anders als der Zuckerguss einer Torte ist Qualität auch kein Attribut, das nachträglich ergänzt werden kann, sondern muss von Anfang an berücksichtigt werden. Dieser Artikel soll einen Überblick über die zum Erreichen dieser Qualität nötigen Testing-Methoden und -Technologien geben.

Testdaten: Eine Falle der DSGVO?

Seit nun beinahe zwei Jahren ist die Europäische Datenschutz Grundverordnung (EU-DSGVO) in Kraft. Die meisten Unternehmen haben sich inzwischen auf die Verordnung eingestellt und fühlen sich vor möglichen Strafzahlungen geschützt. Man kann sagen, die Geschäftswelt habe sich mit der DSGVO arrangiert. Wie so häufig, steckt der Teufel vor allem im Detail und Unternehmen könnten an unerwarteter Stelle, ohne es zu wissen, gegen die EU-DSGVO verstoßen. Ich rede von der Verwendung sensibler Daten für Testzwecke.

  • 1
  • 2