Sammlung von Newsfeeds

Das Qytera Test Automation Framework (QTAF) - Testen mittels Selenium war noch nie so einfach

Qytera News -

Lesedauer: 5 Minuten

Das Qytera Test Automation Framework (QTAF) ist ein von der Qytera GmbH entwickeltes Java-Testframework basierend auf TestNG, welches ein einfaches Aufsetzen neuer Selenium-Testprojekte, HTML-Reporting, Cucumber-Unterstützung, Anbindung an Jira Xray und einfache Erweiterbarkeit bietet.

Ein kostspieliger Zeitfaktor beim Aufsetzen eines neuen Testprojektes ist die Einrichtung der Dokumentation der Testfälle. Ein möglichst allgemein nutzbares Reporting-Format wie JSON wird benötigt, um die ausgeführten Testfälle und eventuell aufgetretene Fehler zu dokumentieren und in ein anderes Tool wie etwa ein Testmanagementsystem zu übertragen. Weiterhin wäre ein HTML-Reporting sinnvoll, um den Testern einen schnellen Überblick über die durchgeführten Tests zu gewähren und Fehler schnell zu finden.

Das Aufsetzen einer solchen Umgebung ist zeitaufwändig und bindet unnötig viele Ressourcen. Zudem ist es ineffektiv, diesen Prozess für jedes neue Testprojekt zu wiederholen. Effektiver wäre es, ein Framework zu entwickeln, welches genau diese Aufgaben übernehmen würde, sodass die Tester:innen sich um ihre eigentliche Aufgabe kümmern können: das Testen.

QTAF ist die Realisierung genau dieser Idee, das Aufsetzen der Testumgebung und die Dokumentation der Testfälle zu übernehmen. Und QTAF bietet den Tester:innen noch einiges mehr.

Die Vorteile von QTAF

QTAF ist ein Projekt, welches aus der Praxis heraus entstand und die Erfahrung von Tester:innen aus jahrelanger Arbeit mit Testing-Tools bündelt. Mittels QTAF werden drei grundlegende und zeitaufwändige Probleme des Testens gelöst:

  • Das Einrichten einer konfigurierbaren Selenium-Testumgebung,
  • das Reporting einer durchgeführten Testsuite,
  • und die anschließende Dokumentation der Testresultate.

Die Implementierung dieser aufgezählten Problemstellungen verlangt von den Testern zum einen gute Kenntnisse in der Programmierung und des Entwurfs von Softwareprojekten, zum anderen ist sie sehr zeitaufwendig und somit teuer. Die Testumgebung sollte auf Wiederverwendbarkeit ausgerichtet sein, sodass viele ihrer grundlegenden Komponenten auch in anderen Testumgebungen verwendet werden können. Somit lässt sich in anderen Projekten wertvolle Zeit einsparen.

Bevor die eigentlichen Testfälle geschrieben werden können, muss die Testumgebung aufgesetzt und in Betrieb genommen werden. Hierfür vergehen meist Tage bis Wochen und kostet Ihr Unternehmen unnötig viel Zeit und Geld. Hierbei entstand die Idee von QTAF, welches dem Tester die Aufsetzung einer solchen wiederverwendbaren Testumgebung abnehmen sollte.

QTAF löst genau diese Probleme, da es den Tester:innen die Entwicklung einer eigenen Testumgebung abnimmt und somit keine Kenntnisse in Softwareentwicklungsprojekten voraussetzt. Die Einrichtung eines QTAF-Projektes dauert wenige Minuten, nach denen sofort mit der Entwicklung der Testfälle begonnen werden kann.

Den Tester:innen steht nach der Aufsetzung eine vollständige Selenium-Testumgebung zur Verfügung, welche in der Lage ist, auf den gängigsten Browsern wie etwa Chrome, Edge, Firefox, Opera und Safari automatisierte Tests durchzuführen. Auch die Dokumentation der Testfälle wird durch QTAF übernommen und kann nach dem Durchlauf der Testsuite automatisiert in ein Testmanagementtool wie etwa Xray übernommen werden.

Bild: Aufbau und Architektur von QTAF. (Klicken zum Vergrößern) [Quelle: Qytera] × Das Aufsetzen eines neuen Testprojekts

Das Aufsetzen eines neuen Testprojektes gestaltet sich mittels QTAF sehr einfach. Hierfür ist lediglich das Erstellen eines Maven-Projektes erforderlich, wofür eine geeignete Entwicklungsumgebung wie etwa Eclipse oder Intellij verwendet werden kann. Anschließend muss lediglich QTAF als Dependency für das Projekt eingerichtet werden und schon ist die Testumgebung bereit.

Die Tester:innen können sofort mit der Erstellung von Testfällen beginnen. Das Reporting dieser Testfälle erfolgt automatisch durch das QTAF-Framework. Welche Features das nun aufgesetzte Testprojekt noch bietet werden wir in den folgenden Abschnitten erläutern.

Testfälle anlegen

Das Anlegen eines Testfalls ist mit QTAF genauso einfach wie bei einem gewöhnlichen TestNG-Projekt. Tester:innen, die mit diesem Framework vertraut sind, werden sich mit QTAF ohne Probleme zurechtfinden. Die Tester:innen legen ihre Testklassen an und versehen diese zusätzlich mit Annotations, welche QTAF bereitstellt. QTAF überwacht während des Testens welche Testfälle ausgeführt wurden und erstellt sowohl JSON- als auch HTML-Reportings aus den aufgezeichneten Daten.

Konfigurierbarkeit

Alle Konfigurationsparameter können entweder über ein JSON-File, über Umgebungsvariablen oder als Kommandozeilenparameter übergeben werden. Dabei bietet QTAF auch die Möglichkeit, Standardwerte aus einer JSON-Datei mittels Umgebungsvariablen oder Kommandozeilenparametern zu überschreiben. Dieses Feature ist vor allem nützlich, wenn Sie das selbe QTAF-Projekt in mehreren Umgebungen mit anderen Konfigurationswerten nutzen möchten.

Beispielsweise können Sie eine Standardkonfiguration in einer JSON-Datei angeben und beim Ausführen den Namen des Webdrivers mittels einer Umgebungsvariable oder eines Kommandozeilenparameters überschreiben. Somit können Sie parallel eine Webapp auf mehreren Browsern testen ohne eine Änderung in Ihrem Quellcode vornehmen zu müssen.

Docker und Kubernetes

QTAF ist darauf ausgelegt als Microservice verwendet werden zu können. Durch die Konfigurierbarkeit mittels Umgebungsvariablen ist es möglich, folgendes Szenario zu realisieren: Sie möchten eine Webapp auf den gängigsten Browsern testen (Chrome, Firefox, Edge). Erstellen Sie aus Ihrem QTAF-Projekt ein Docker-Image und erzeugen Sie aus diesem Image mehrere Container-Instanzen. Jede Instanz testet die Webapp mittels eines Webdrivers, dessen Namen Sie über eine Umgebungsvariable übergeben.

Somit lassen sich mit der gleichen Codebasis und dem gleichen Docker-Image mehrere Tests parallel auf unterschiedlichen Browsern durchführen. Mittels Docker und Kubernetes ist es ebenfalls möglich, die Docker-Container auf mehrere Server zu verteilen und mit den gängigsten Cloudanbietern wie etwa AWS und Azure zu nutzen.

Selenium Webdriver

QTAF lädt automatisch die aktuellsten Versionen der Selenium Webriver für die gängigsten Webbrowser wie etwa Chrome, Firefox, Edge, Internet Explorer oder Opera. Die Tester:innen müssen nach dem Einrichten eines QTAF-Projektes weder die benötigten Browser installieren noch sich um die Aktualisierung der Browser kümmern. QTAF nimmt Ihnen diese Aufgaben ab und kümmert sich selbst um die Beschaffung und Aktualisierung der entsprechenden Browser. Lediglich der Browsername muss mittels des Konfigurationsfiles übergeben werden.

Android Testing via Appium

QTAF bietet die Möglichkeit, Android-Geräte mittels Appium zu Testen. Die benötigten Treiber für das Testen von Android-Geräten bietet QTAF von sich aus an. Auch hier müssen Anwender:innen lediglich den Namen des Treiber mittels der Konfigurationsdatei übergeben.

Remote Webdriver

QTAF erlaubt es Ihnen ebenfalls Webtreiber über ein Netzwerk anzusteuern. Dies ist vor allem in Cloud-Umgebungen ein nützliches Feature. Für viele der gängigsten Treiber stehen bereits Docker-Container im offiziellen Docker Registry zur Verfügung.

Page Object Pattern und Dependency Injection

QTAF unterstützt das Page Object Pattern. Beim Page Object Pattern (PO) wird Code, der ein visuelles Objekt einer Website (beispielsweise eine Navigationsbar, ein Formular, etc.) ansteuert, in einer eigenen Klasse gekapselt. Innerhalb dieser Klassen werden Methoden zur Manipulation dieses Objektes bereitgestellt (beispielsweise das Anklicken einer Buttons, das Abschicken eines Formulars).

Mittels QTAF können diese Methoden, die innerhalb einer PO-Klasse aufgerufen werden, getrackt werden. Hierbei werden auch die Parameter, die den Methoden während des Testfalls übergeben wurden aufgezeichnet, sodass später nachvollzogen werden kann, welche Parameter welches Ergebnis bei einem Methodenaufruf hervorriefen.

Mittels Dependency Injection lassen sich die erstellten PO-Klassen leicht in andere Klassen einbinden. Den Tester:innen wird hierbei der Aufwand abgenommen, die entsprechenden PO-Klassen selbst zu instanziieren, was ebenfalls eine Reduktion der Komplexität und der Menge des Codes zur Folge hat.

Bild: Testfall eines QTAF Projektes. (Klicken zum Vergrößern) [Quelle: Qytera] × Unterstützung von Cucumber

QTAF bietet von Hause aus die Unterstützung von Cucumber an. Hierbei zeichnet QTAF die durchgeführten Cucumber-Tests auf und stellt die Ergebnisse der Testfälle ebenfalls via JSON oder als HTML-Report zur Verfügung.

Erweiterbarkeit

QTAF bietet ein eigenes Event-System an, über das Tester eigene Logik in den Testablauf einbringen können oder eigene Plugins für QTAF entwickeln können. So lassen sich beispielsweise eigene Verarbeitungen der erzeugten Reporting-Daten realisieren, beispielsweise eine Anbindung an eine REST-API, eine automatische Benachrichtigung per E-Mail etc. Somit lassen sich ganze Plugins erstellen, die Sie in mehreren Projekten verwenden können oder auch der Community zur Verfügung stellen können.

QTAF PluginsAnbindung an die Xray API

QTAF bietet von sich aus die Anbindung an Xray über ein Plugin an. In der Konfigurationsdatei müssen hierfür lediglich die Zugangsdaten für das eigene Xray-Projekt übergeben werden und QTAF sichert die Testergebnisse anschließend in Xray.

Eigene Plugins entwickeln

Da die Welt der Software im ständigen Wandel ist wurde QTAF darauf ausgelegt erweiterbar zu sein. Plugins können dabei über das Eventsystem von QTAF auf die erhobenen Daten zugreifen und diese weiterverarbeiten.

27. April 202128. April 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen:

Fiddler - Überblick und Nutzen des Web Debugging Proxy für Ihre Webseiten Tests

Qytera News -

Lesedauer: 2 Minuten

Auch wenn es für mich als Softwaretester nicht im Fokus steht, die Ursache von Problemen herauszubekommen, ist es aber beim Testen von Webseiten immer wieder wichtig die eigentliche Datenkommunikation auswerten zu können. Hierzu gibt es verschiedene Tools, die den Netzwerkverkehr mitschneiden und damit analysierbar machen.

Ich möchte hier das Tool Fiddler Everywhere vorstellen, da dies für meine Arbeit mit Webseiten und Webservices ein leicht zu verstehendes und hilfreiches Werkzeug war. Auch gerade für die Analyse von HTTPS-Verbindungen, die sich inzwischen als Standard durchgesetzt haben.

Ansatz von Fiddler

Der PC, auf dem Fiddler installiert wird, muss die Datenpakete erhalten, die sonst direkt zwischen den Kommunikationspartnern ausgetauscht werden. Hier nutzt Fiddler die Möglichkeit eines Proxys, der in den Einstellungen des Client-PCs gesetzt wird. Damit wird der gesamte Datenverkehr über diesen Fiddler-Proxy gelenkt, der diese Datenpakete in der Oberfläche anzeigt.

Dies ist sehr einfach für unverschlüsselte HTTP-Verbindungen möglich, für HTTPS-Verbindungen gibt sich Fiddler als Man-In-The-Middle aus, d.h. es kann durch die verwendeten self-signed Zertifikate die verschlüsselten Verbindungen dekodieren und somit lesbar machen.

Somit kann eine Fiddler-Installation recht schnell und einfach in das Netzwerk integriert werden, ohne die Infrastruktur zu verändern oder andere Abhängigkeiten zu besitzen.

Erste SchritteEinrichtung Fiddler

Die Installation unter Windows und macOS gestaltet sich über ein sehr einfaches Installationsprogramm. Das Setup kann ohne Änderung an den Standardwerten durchgeführt werden. Eine alternative Installation unter Linux wäre möglich, wurde aber bisher von mir nicht vorgenommen.

Die Konfiguration innerhalb des Programmes beschränkt sich auf einige wenige Punkte. So ist das vertrauenswürdige Root-Zertifikat zu installieren, das Mitschneiden des HTTPS-Datenverkehrs zu aktivieren, den Port zu definieren und die Erlaubnis, eine Verbindung von Remote-Computern zuzulassen, zu setzen. Nun muss nur noch die eigene IP Adresse ermittelt werden und die Einrichtung des Clients kann erfolgen.

Einrichtung Client

Entweder in den Betriebssystem Netzwerkeinstellungen oder auch in der Applikation (z.B. Firefox) sind die Proxyserver für HTTP- und HTTPS-Verbindungen zu setzen. Hier ist die IP-Adresse mit der Fiddler-Installation und der in Fiddler konfigurierte Port anzugeben.

Für das Auslesen von HTTPS-Verbindungen muss noch zusätzlich das Fiddler-Root-Zertifikat installiert werden. Dies erfolgt über die URL http://ipv4.fiddler:[Ihr Proxy-Port] und je nach Betriebssystem weiteren Konfigurationen in der Zertifikatsverwaltung bzw. Netzwerkeinstellungen. Sind diese korrekt durchgeführt, können nun auch HTTPS-Verbindungen aufgebaut werden und der PC mit Fiddler schneidet diese nun mit.

Einsatzbeispiel

Es lassen sich alle Datenpakete, die zwischen dem Client PC und x-beliebigen Seiten stattfinden, mitschneiden. Anhand der Webseite httpvshttps.com lässt sich gut zeigen wie Fiddler eingesetzt werden kann. Die Seite kann entweder als HTTP oder HTTPS Variante aufgerufen werden.

Für meinen Test habe ich dies jeweils 1x durchgeführt. Jeder Aufruf hat jeweils ca. 400 Datenpakete verursacht, die in Fiddler erscheinen. Der Überwiegende Teil der Kommunikation fand direkt mit der Webseite statt, aber auch teilweise mit eingebetteten Inhalten, wie Twitter, Google und Facebook, die gar nicht offensichtlich auf der Seite erscheinen. Filtere ich nun nach dem Protokoll HTTP und den Host httpvshttps.com bleiben 363 Pakete übrig. Filtere ich weiter nach check.png in der URL erhalte ich 360 Pakete. Genauso viele Bilder lädt die Webseite nach ihrer Beschreibung herunter.

Möchte ich nun aber die eigentliche HTML Seite erhalten, muss ich den URL-Filter “does not contain” check.png verwenden und erhalte u.a. ein Datenpaket, das in der URL nur ein “/” stehen hat. Hier lässt sich der HTML-Seiteninhalt im Response Text einsehen (siehe Screenshot).

Bild: HTML-Seiteninhalt im Response Text. (Klicken zum Vergrößern) [Quelle: Fiddler Everywhere] × Zusammenfassung

Fiddler habe ich als ein sehr einfach zu installierendes und leicht zu bedienendes Programm zum mitschneiden von HTTP/HTTPS-Verkehr kennengelernt. Die Filtermöglichkeiten sind sehr vielfältig und damit lassen sich die hohe Anzahl an Datenpaketen auf das Wesentliche reduzieren. Und über die hier beschriebene Funktionalität bringt Fiddler weitere Möglichkeiten mit, die Kommunikation zu manipulieren. Somit lassen sich Pausen einbauen, die Antworten verwerfen oder mit eigenen, alternativen Antworten in die Kommunikation eingreifen.

04. März 202104. März 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen:

Testmanagement mit Jira - Xray

Qytera News -

Lesedauer: 4 Minuten

In diesem Artikel möchten wir Ihnen die App “Xray” für Jira vorstellen.

Was ist Jira?

Jira ist eine Webanwendung für agiles Projektmanagement, Fehlerverwaltung und Problembehandlung. Ursprünglich wurde Jira vor allem in der Softwareentwicklung verwendet, hat sich jedoch mittlerweile auch in vielen anderen Bereichen eine Anwendung gefunden.

In Jira werden Projekte durch Aufgaben bzw. Vorgänge (Issues) dargestellt. Aufgaben können in Projekten organisiert, Benutzern zugewiesen und mit Deadlines versehen werden. Dargestellt werden können diese Aufgaben mittels agiler Boards (wie etwa Scrum- und Kanban-Boards), was Jira gerade für agile Teams zu einem interessanten Tool für das Projektmanagement macht.

Die Architektur von Jira ist darauf ausgelegt, dass Drittanbieter das Tool mit eigenen Erweiterungen ausstatten können. Eine dieser Erweiterungen - das Tool Xray zur Fehlerverwaltung - möchten wir Ihnen in diesem Artikel vorstellen.

Motivation von Xray

Bei Xray handelt es sich um eine Erweiterung der Jira-Plattform, die zum Verwalten von Testprojekten entwickelt wurde. Xray zeichnet sich durch seine Skalierbarkeit und seine Möglichkeiten aus, mehrere Benutzer an einem Projekt mitarbeiten zu lassen.

In einem komplexeren Testprojekt ist es vonnöten, den Testprozess durch ein geeignetes Modell abzubilden. So müssen u.a. zu Beginn des Projektes Anforderungen an den Testprozess gesammelt und dokumentiert werden. Aus den Anforderungen werden in einem weiteren Schritt Testbedingungen und Testfälle abgeleitet. Schlussendlich werden die Testfälle zu Testplänen zusammengestellt, welche sich automatisiert ausführen lassen können. Weiterhin sollten die Ergebnisse der Tests dokumentiert werden und die Rückverfolgbarkeit der Testfälle zu den Anforderungen gewährleistet bleiben.

Xray unterstützt hierbei den gesamten Prozess von der Planung der Testfälle bis hin zu deren Ausführung und dem Reporting. Hierbei wird dem Tester die Arbeit abgenommen, eine eigene Infrastruktur für ein Testprojekt aufbauen zu müssen, beispielsweise mittels Dokumentation der Testfälle in Word-/Excel-Files und einer Kommunikation über E-Mails. Die Nutzung von Xray führt zu einer deutlichen Zeitersparnis und somit einer Steigerung der Qualität und der Effizienz eines Testprojektes.

Xray für das Testmanagement mit Jira

Xray erweitert Jira um vordefinierte Issue Types, um die Testentitäten abzubilden. Dies ermöglicht die einfache Interaktion von Xray mit anderen Erweiterungen für Jira. So können folgende Entitäten angelegt werden:

  • Tests: In dieser Entität wird der eigentliche Test festgehalten. Sie können definieren, welche Aktion der Testfall testen und wie das zu erwartende Ergebnis aussehen soll. Tests lassen sich in einzelne Schritte untergliedern. Auch für diese Schritte lassen sich Testbeschreibungen und erwartete Ergebnisse definieren.
  • Pre-Conditions: In dieser Entität können Sie festlegen, welche Vorbedingungen für einen Test erfüllt sein müssen, damit dieser ausgeführt werden kann. Beispielsweise kann eine Vorbedingung beinhalten, dass eine Testdatenbank mit vordefinierten Datensätzen eingerichtet und bereitstehen muss. Eine Vorbedingung kann mehreren Tests zugeordnet werden.
  • Test Set: Tests können in Gruppen, den Test Sets, zusammengefasst werden. Alternativ lassen sich Tests auch in einer Ordnerstruktur, den sogenannten Repositories organisieren.
  • Test Execution: Mittels dieser Entität lassen sich Testzyklen planen. Test Executions fassen eine Menge von Testfällen zusammen, welche entweder manuell oder automatisiert ausgeführt werden sollen.
  • Test Plan: Mittels der Entität Test Plan lassen sich Test Execution Entitäten zu einem übergreifenden Testplan zusammenfassen. Weiterhin ermöglicht dies ein übergreifendes Reporting der Tests, die während der Testausführung durchgeführt werden.
Rückverfolgbarkeit

Xray stellt die Rückverfolgbarkeit der Testfälle zu Ihren Anforderungen sicher, indem sich Testfälle mit den Aufgaben aus dem Scrum- bzw. Kanban-Board des Projektes verknüpfen lassen. Somit lässt sich u.a. die Testüberdeckung eines Features und die Qualität der Implementierung dieses Features leicht beurteilen.

Reporting

Nach dem Durchführen der Testfälle ist es nötig die Testergebnisse zu dokumentieren, um den Fortschritt des Testprojektes und die Qualität der getesteten Software beurteilen zu können. Hierfür stellt Xray eine graphische Oberfläche zur Verfügung, die den beteiligten Personen einen Überblick über die vorhandenen Testfälle und deren Ausführungsverlauf gewährt. Wir möchten Ihnen dieses Feature von Xray anhand eines Beispielprojektes demonstrieren.

In der folgenden Ansicht sehen Sie das sogenannte “Testing Board” von Xray, in dem eine Auflistung der Testfälle zu sehen ist. In diesem Fall wurden Tests in Form eines Repositories organisiert. Sie sehen die drei Testfälle mit den Bezeichnungen “QTAF-1”, “QTAF-2” und “QTAF-3”. Bei diesen Testfällen handelt es sich um manuelle Testfälle, d.h. dass diese von einem Tester manuell auf einem Gerät gestartet werden müssen. Die Ergebnisse des Testens lassen sich jedoch automatisiert über die REST-API-Schnittstelle von Xray eintragen. Diese drei Testfälle werden in unserem Beispielprojekt die Startseite von Google aufrufen, einen Text in das Suchfeld eintragen und anschließend diese Suchanfrage abschicken.

Bild: Xray Test Repository in Jira. (Klicken zum Vergrößern) [Quelle: Jira] ×

In der nächsten Graphik sehen Sie die Detailansicht des Testfalls “QTAF-1”. Dieser Testfall wurde in zwei Testschritte unterteilt. Die Testschritte beinhalten jeweils eine Beschreibung des Testschritts (Aktion), die für den Testschritt verwendeten Daten sowie ein weiteres Attribut, mit dem das erwartete Ergebnis dieses Testschrittes beschrieben werden kann.

Bild: Xray Testfall in Jira. (Klicken zum Vergrößern) [Quelle: Jira] ×

Bei jeder Ausführung des Testfalls werden die Resultate des Testfalls an die Xray-API übermittelt. Xray sorgt nun dafür, dass Sie die Resultate der vergangenen Testdurchläufe in einer tabellarischen Ansicht ansehen können. Hier sehen Sie eine Auflistung vergangener Testdurchläufe und deren Status.

Bild: Xray Testausführungs Übersicht in Jira. (Klicken zum Vergrößern) [Quelle: Jira] ×

Wir sehen, dass einige Durchläufe ohne Abweichung von den erwarteten Ergebnissen durchliefen (passed), es jedoch auch bei einigen Durchläufen zu Abweichungen kam (failed). Möchten wir nun detailliertere Informationen zu einem fehlgeschlagenen Durchlauf erhalten können wir dies durch Klicken auf den jeweiligen Durchlauf (beispielsweise “QTAF-239”) erfahren.

Bild: Xray Gesamtausfuehrungs-Status in Jira. (Klicken zum Vergrößern) [Quelle: Jira] ×

Wir können nun sehen, dass die Testfälle “QTAF-1” und “QTAF-2” das erwartete Ergebnis lieferten. Der Testfall “QTAF-3” jedoch schlug fehl. Durch Klicken auf “QTAF-3” erhalten wir nähere Informationen zu diesem fehlgeschlagenen Testfall.

Bild: Ausführungsdetails der Testschritte in Xray. (Klicken zum Vergrößern) [Quelle: Jira] ×

Hier lässt sich erkennen, dass es im zweiten Schritt des Testfalls “QTAF-3” zu einem Fehler kam. Der erste Schritt wurde noch erfolgreich ausgeführt (grün), der dritte wurde erst gar nicht durchgeführt (grau). Durch Klicken auf den Button “Tatsächliches Ergebnis” können mehr Details über den fehlgeschlagenen Schritt eingeblendet werden.

Bild: Fehlerhafter Testschritt in Xray. (Klicken zum Vergrößern) [Quelle: Jira] ×

Sie sehen, dass es offenbar zu folgendem Fehler kam: Es sollte ein Wert in das Google-Suchfeld eingetragen werden, jedoch konnte dieses Feld nicht gefunden werden, wie es aus der Fehlerbeschreibung hervorgeht. Weiterhin wurde ein Screenshot (google_search.jpg) angehängt, anhand dessen wir nachvollziehen können, wie die zu testende Seite zum Zeitpunkt des Fehlers aussah. Klicken wir diesen Screenshot nun an, sehen wir folgendes Bild:

Bild: Google Suche. (Klicken zum Vergrößern) [Quelle: Google] ×

Wir können sehen, dass die Startseite von Google offensichtlich aufgerufen und korrekt dargestellt wurde. Jedoch konnte kein Wert in das Textfeld eingetragen werden, denn das Suchfeld ist leer.

Zusammenfassung

In diesem Abschnitt wurde Ihnen ein Beispiel für das Testmanagement mittels Xray vorgestellt. Es lassen sich Testfälle definieren und in Form von Test Sets / Repositories organisieren. Testfälle können weiterhin in einzelne Schritte untergliedert werden. Xray ermöglicht es, dass die Resultate vergangener Testdurchläufe bis auf Testschrittebene in Form von Texten und Bildern dokumentiert werden können.

Testautomatisierung mit Selenium und Integration/Verknüpfung mit Jira Xray

Testergebnisse können über eine Rest-API-Schnittstelle von einem Testtool an die Xray-API übermittelt werden. Für einige Testwerkzeuge wie etwa Selenium bietet Xray eine eigene Schnittstelle zum importieren der von den Testwerzeugen erstellen Reportings an. Somit müssen Testergebnisse nicht manuell übertragen werden, sondern können über den Import der Reportings automatisiert erfasst werden.

Für Cucumber existiert sogar die Möglichkeit, Testfälle direkt in Xray zu implementieren und ausführen zu lassen. Hierfür hinterlegt ein Tester den entsprechenden Gherkin-Code in Xray, woraus Xray entsprechende Feature-Files zusammenbauen wird. Dies ermöglicht es Testern ohne Zugang zum Git-Repository eines Testprojektes neue Testfälle anzulegen. Lediglich die Step-Definitionen müssen manuell erstellt werden.

Weitere Testmanagement Apps / Plugins für Jira
  • TestFLO
  • Zephryr für Jira
  • TestRail für Jira Testmanagement
  • qTest Scenario für Jira
  • SpiraTest
Fazit

Der Einsatz von Xray in einem Testprojekt sorgt für eine erhebliche Zeitersparnis und eine Steigerung der Effizienz des Testprojektes durch eine strukturierte Verwaltung der Erstellung, Ausführung, Dokumentation und des Reportings der Testfälle.

02. Februar 202102. Februar 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen: