Für ein IT-Unternehmen ist es besonders wichtig ein Software-Produkt mit einer hohen Qualität zu liefern. Die Verbesserung von Softwareentwicklungsprozessen und deren Automatisierung stellt eine erhebliche Herausforderung dar. Die Software muss ständig getestet und die Ergebnisse analysiert werden, um potentielle Fehler schnel zu identifizieren und beheben. Eine Testmanagement-Lösung liefert hierbei umfangreiche Möglichkeiten und Vorteile das Testen von Produkten strukturiert und organisiert zu gestalten. In diesem Blogpost geben wir einen Überblick über unser eigenes Quality Assurance Testmanagement, welches wir mit Xray Test Management for Jira umsetzen.
Was ist Quality Assurance Testing und wofür braucht man das?
Quality Assurance Testing (Software Testing) umfasst grundsätzlich die Untersuchung eines Softwareprodukts nach Qualität und Mängeln. Bei einem Softwaretest wird ein Programm ausgeführt, mit dem Ziel, Fehler aufgrund von Softwarefehlern zu finden, Informationen bezüglich der Qualität zu sammeln und eine unabhängige Sicht auf die Software zu liefern. Eine Testmanagement-Lösung dient hier als ein zentrales Tool zur Verwaltung ausgeführter Tests sowie zur Visualisierung von ermittelten Informationen in Form eines Dashboards oder Reports. Unternehmen haben hierdurch die Möglichkeit, Risiken in der Softwareimplementierung besser einschätzen zu können. NutzerInnen der Software wird dadurch versichert, einen Produkt mit hoher Qualität geliefert zu haben.
Was wird in der Software getestet?
Die Anforderungen und Funktionen, die getestet werden, sind teils von Projekt zu Projekt sehr unterschiedlich. Es lassen sich jedoch 3 allgemeine Eigenschaften formulieren, die getestet werden. Dazu zählen:
- Einzelne Funktionen eines Software-Produktes
- Prozess der Installation in einer neuen Umgebung
- Load Test (Simulation der Belastung der Software)
Warum Jira für Quality Assurance Testing verwenden?
Jira ist eine Issue- und Projekt-Tracking-Software von Atlassian, welche in den Bereichen Software-Entwicklung, Projektmanagement und Kundenkommunikation sehr beliebt wurde. Wir in der XALT verwenden Jira sowohl zur Fehlerverfolgung, Planung, Verwaltung und Dokumentation der Arbeit als auch für Software-Development, Automatisierung, Support und Testing. Ein Vorteil von Jira ist, dass es ein zahlreiches Angebot an Apps und Plugins gibt, welche in Jira integriert und genutzt werden können.
Viele agile Teams nutzen aufgrund dieser umfangreichen Möglichkeiten Jira Software für ihr Testmanagement, sodass Software-Entwicklung und Testing übersichtlich innerhalb eines Systems bleibt. Den gleichen Ansatz verfolgen wir bei XALT ebenfalls. Wir verwenden hierfür das Plugin Xray Test Management for Jira, welches Funktionen zu Organisation, Planung und Reporting über den Testfortschritt bei Software-Testmanagement bietet.
Xray Test Management für Jira
Bei Xray Test Management für Jira handelt es sich um ein Add-On für Jira, welches auf Illustration und Reporting von Testergebnissen spezialisiert ist. Zusätzlich werden Software-Entwickler bei der Planung und Organisation von Projekten mit einer erhöhten Anzahl von Tests und komplexen Testplänen in ihrem Testmanagement weiter unterstützt. Xray Test Management für Jira basiert auf Jira und bietet zusätzlich zu den Standardfunktionen der Software von Atlassian die Umsetzung eines kompletten Testlebenszyklus inklusive Planung, Development, Ausführung und Reporting. Es besteht weiterhin die Möglichkeit, Berichte von Test-Reports in interaktiven Diagrammen darstellen zu lassen, um diese für eine Weiterverarbeitung zu nutzen.
Wie wir das XRAY für Quality Assurance benutzen
Wir entwickeln bei der XALT Add-Ons für Jira, welche aus dem Atlassian Marketplace installiert werden können. Dabei ist es uns besonders wichtig, dass die Plugins fehlerfrei funktionieren. Daher legen wir viel Wert auf die Qualitätssicherung und deren Automatisierung. Wir entwickeln die sogenannten UI-Tests, die Benutzereingaben in Browser simulieren, um das User Interface und die Funktionalität unserer Software zu testen. Für die Entwicklung und Auswertung dieser Tests benutzen wir Xray Test Management für Jira.
Beispiel:
Planung:
Für die Planung der Implementation der Test Cases verwenden wir die Test Pläne aus XRAY.
Implementierung:
Zu Beginn werden die Testcases geschrieben. Für unsere Plugins führen wir beispielsweise am häufigsten UI-Tests (=User Interface) durch. Für die UI-Tests benutzen wir das Selenium Webdriver Framework, welches die Simulation und Automatisierung von Benutzereingaben in Browsern ermöglicht. Um die Funktion einzelner HTML-Elemente zu überprüfen, verwenden wir JUnit (Java Unit). Hierbei handelt es sich um ein Framework, mit welchem Unit-Tests von Klassen und Methoden in Java-Programmen durchgeführt werden können.
Ausführung:
Die Tests werden in unsere CI-Pipeline (Continuous Integration) integriert und ausgeführt.
Analyse:
Anschließend verwenden wir XRAY zur Analyse und Auswertung der Testergebnisse. Für die Test-Ausführungen werden Statistiken und Diagramme generiert, welche eine detaillierte Übersicht der erfolgreichen und gescheiterten Tests liefert. Dadurch haben wir als EntwicklerInnen-Team die Möglichkeit, die einzelnen Test-Ausführungen genauer zu untersuchen.
Die einzelnen Testdurchläufe können zudem automatisiert werden. Automatisierte Tests werden gestartet, wenn es eine Veränderung in der Software gab. Dies könnte beispielsweise ein neues Feature, wie die Möglichkeit das Editieren der Bilder in unserer Image Gallery sein. Waren die Tests zur Quality Assurance erfolgreich, so wird die Veränderung automatisch implementiert und ein neues Update kann veröffentlicht werden. Sind die Testdurchläufe nicht erfolgreich, dann nutzen wir das XRAY erneut und untersuchen die Ergebnisse nach den Fehlern.
Die Testergebnisse können als Diagramme und Grafiken direkt Ihren Kunden vorgelegt werden. Damit erziehen Sie eine notwenige Transparenz und schaffen Vertrauen für eine weitere erfolgreiche Zusammenarbeit.
Fazit – Quality Assurance Tests mit XRAY
Die Software-Tests sind wichtig, um Fehler so schnell wie möglich zu identifizieren und schmerzlos zu beheben. Dadurch haben wir die Möglichkeit, unseren KundInnen eine konstant qualitativ hochwertige Software-Anwendung zu liefern. Der Vorteil von XRAY liegt vorallem darin, dass mittels Automatismen eine stätige Testumgebung vorhanden ist und Updates durchgehend auf Fehler überprüft werden.