Selenium ist als Testautomatisierungstool für Webanwendungen absoluter Standard. Der Standard WebDriver an sich hat keinen integrierten Reporter und das ist auch nicht seine Kernaufgabe. Diese wird vom WebDriver an die Testframeworks (JUnit / NUnit / MSTest / Jasmine usw.) delegiert. Es kann aber trotzdem vorkommen, dass die von den Testframeworks zur Verfügung gestellten Reporter für Auswertung von den Tests nicht ausreichend sind.

Gute Testreports haben allgemein folgende Vorteile:

  • Bieten gute Übersicht über den Testlauf auf verschiedenen Ebenen an: von hoch-granaular als Testmanagement Sicht bis feingranular für die Analyse einzelner Testschritte
  • Als lesbarer strukturierter Text / HTML abgelegt, enthalten fachliche Schritte
  • Enthalten eingebetete Screenshots, was beim Nachvollziehen der Probleme hilft
  • Vereinfachen die Fehlersuche
  • Können archiviert werden
  • Können von Menschen ohne Programmier-Kenntnissen ausgewertet werden

Auf dem Markt existieren viele mehr oder weniger gute Lösungen, die das Reporting für Selenium Tests bereitstellen. Nicht alle erfüllen die davor genannten Anforderungen an gute Testberichte, aber je nach Anwendungsfall und Projekt ist es auch oft gar nicht notwendig.

Bei uns in den Projekten hat sich der Testreporter ExtentReports bewährt. Neben einer kostenpflichtigen Version, gibt es auch eine Community Edition, die für den Einsatz in den meisten Projekten absolut ausreichend ist.

In diesem Beitrag möchte ich aufzeigen, wie ExtentReports in ein .NET Projekt eingebunden und benutzt werden kann.

Weiterlesen

OOP 2019

In diesem kurzem Beitrag möchte ich die Impressionen meines kurzen Besuches der diesjährigen OOP 2019 (21.01 – 25.01 2019) zusammenfassen und unter anderem kurz berichten, inwieweit der Besuch des freien Programms auch für QAs und Test Engineers interessant ist.

Weiterlesen

Angular Applikationen auf Ebene von Unit Tests und Integrationstests durchzutesten, ist eine relativ bequeme Geschichte. Gerüchten zu Folge wurde Angular bei Google von einem Test Team entwickelt und so ist die Testbarkeit der Applikation sozusagen direkt in der DNA der Architektur integriert.
Aber wie sieht es mit den E2E Tests aus? Wie werden Cross-Browser Tests im Rahmen einer Angular Applikation realisiert? Dieses Tutorial wird diese Punkte beleuchten.

Weiterlesen
REST API Tests mit Postman

Testautomatisierung von Rest APIs hat in den vergangenen Jahren enorm an Bedeutung gewonnen. Das liegt daran, dass überwiegende Anzahl moderner Software-Produkte auf eine zustandslose verteilte Kommunikation zwischen verschiedenen Endpunkten mittels REST API setzt. In diesem Tutorial lernen Sie was man unter REST API Tests versteht und wie man sie anhand eines einfachen Beispiel mit Testwerkzeug „Postman“ schnell und ohne detailliertes technisches Wissen aufbauen kann.

Weiterlesen

Integration Tests

Tutorial-Ziel:

Integration Tests stellen nach den Unit Tests die nächste zentrale Teststufe innerhalb der Testautomatisierungspyramide dar. In diesem Tutorial werden die Grundlagen der Integration Tests erläutert und verschiedene Arten von Integration Tests anhand von praktischen Beispielen demonstriert und geübt.

Unter anderem werden folgende Themen behandelt:

  • Was sind Integration Tests und ihre verschiedene Unterarten?
  • Welche Bereiche kann man mit Integration Tests abdecken?
  • Die grundlegenden Bestandteile eines Integration Tests
  • Erstellung verschiedener Integration Tests für das Beispiel-Szenario
  • Wartung und Lifecycle der Integration Tests

Weiterlesen

Test Automatisierung Überblick

 

Tutorial-Ziel:

In dieser Serie werden anhand eines sehr einfachen Beispiels die Testautomatisierungsansätze auf verschiedenen etablierten Stufen gemäß der Testautomatisierungspyramide erläutert.

Dabei werden die Methodiken der Testautomatisierung auf folgenden Stufen vorgestellt

  • Unit Tests (White-Box)
  • Integration Tests (White-Box)
  • Integration Tests / Api Tests (Black-Box)
  • System Tests / End-to-End Tests (Black-Box)

und anhand eines identischen Beispiel-Testszenarios gegenübergestellt, um die Unterschiede hinsichtlich

  • des Automatisierungsaufwandes
  • des erforderlichen Skills
  • der erforderlichen Tools und Infrastruktur
  • der typischen Testlaufzeiten und der Feedback-Loop Dauer  (die insbesondre im agilen Umfeld von zentraler Bedeutung ist)

zu verdeutlichen.

Weiterlesen

Unit Tests

Tutorial-Ziel:

Im 1. Teil der Serie wurden die grundlegenden Testautomatisierungsansätze und Test Stufen sowie unser Beispiel Testszenario vorgestellt.

Im 2. Teil der Serie werden die Grundlagen der Testautomatisierung auf der Stufe der Unit Tests anhand dieses Testszenarios näher erläutert.

Unter anderem werden folgende Themen behandelt:

  • Was sind die Unit Tests und deren USPs?
  • Was soll mittels Unit Tests getestet werden?
  • Die grundlegenden Bestandteile eines Unit Tests?
  • Welche Unit Tests Frameworks gibt es?
  • Einrichtung einer Entwicklungsumgebung
  • Erstellung eines Unit Test Projektes
  • Erstellung der Unit Tests für das Beispiel-Szenario
  • Wartung und Lifecycle der Unit Tests

Weiterlesen

ISTQB (International Software Testing Quality Board) ist eine gemeinnützige Zertifizierungsstelle für Softwaretester. Die Zertifikate von diesem Board sind weltweit anerkannt und auch in vielen Stellenbeschreibungen für die Position als Tester /QA Engineer (sowohl als Arbeitnehmer als auch Freiberufler) häufig anzutreffen.

Ich habe vor kurzem die ISTQB Agile Tester Extension Zertifizierung für ein Projekt nachholen dürfen und möchte an dieser Stelle mein Vorgehen bei der Vorbereitung darstellen und kurz den Ablauf der Zertifizierung skizzieren.

Weiterlesen

Case Study SOAP UI: Relevante Module für Use Case 2

Warum Schnittstellentests notwendig sind!

In modernen IT-Landschaften gibt es immer mehr Anwendungen, die miteinander kommunizieren. Dabei spielt es keine Rolle, ob die Anwendungen neu entwickelt oder alte Anwendungen durch Neuentwicklungen ersetzt werden. Um die Qualität der Anwendungen und die Kommunikation mit anderen Applikationen sicher zu stellen, ist es notwendig Softwaretests frühzeitig durchzuführen. Die Kommunikation zwischen den Anwendungen findet häufig über Schnittstellen/Webservices, sogenannten API‘s, statt. Diese bieten eine hervorragende Plattform für verschiedene Tests.
Dieser Artikel soll einen Einblick geben, wie automatisierte funktionale Schnittstellentests mit SOAP UI durchgeführt werden und welchen Mehrwert diese liefern. Weiterlesen

Flaky / instabile Testfälle wird wohl jeder kennen, der schon mal das Vergnügen hatte, den einen oder anderen automatisierten Oberflächentest auszuführen. Flaky Testfälle können viele Ursachen haben, dem Grund auf die Spur zu kommen, ist eine der Hauptaufgaben des Testautomatisierers.

Seit einigen Jahren tobt ein kleiner Glaubenskrieg zwischen denen, die, aus Zeit oder Kostengründen, etwas instabile Testfälle verstecken / erneut durchführen möchten und denen, die die darin einen Verstoß gegen alle Prinzipien eines/r ehrenhaften Testautomatisierers/in sehen.

Hier findest du einen kleinen Einblick in die Meinungen unterschiedlicher Unternehmen / Fach-Personen, die sich mit diesem Thema befasst haben.

Weiterlesen