QA & Testautomatisierung für die STRABAG-Datenplattform
Kunde:
STRABAG
Land:

Art der Dienstleistung:
Manuelles Testen,
Automatisiertes Testen
Hintergrund:
Das Unternehmen – der Kunde – ist STRABAG. Eines der fünf größten Bauunternehmen Europas, das seit mehr als 180 Jahren Baudienstleistungen anbietet und jährlich über 15.000 Projekte weltweit umsetzt.
Umfang:
STRABAG ist ein Multi-Projekt-Unternehmen. Das Produkt des Kunden erforderte einen vollständigen Testzyklus und war bereits live, als der von Bergmann Infotech bereitgestellte QA-Ingenieur dem Team beitrat.
Die Aufgabe bestand darin, ein breites Spektrum an Testdienstleistungen für die interne Datenspeicher- und Analyseplattform bereitzustellen – unter Berücksichtigung der Tatsache, dass die Plattform bereits in Betrieb war und Tausende aktive interne Nutzer hatte. In einem solchen Fall ist es entscheidend, die Arbeit des QA-Experten mit den bestehenden Richtlinien abzustimmen, um keine Störungen zu verursachen und vom ersten Tag an den maximal positiven Effekt zu erzielen.
Der Kunde suchte einen QA-Dienstleister, der nicht nur funktionale Webtests durchführt, sondern auch Folgendes übernimmt:
- Überprüfung, Analyse und Test des Produktdesigns, der funktionalen Anforderungen und Integrationsvorgaben.
- Durchführung vollständiger Regressionstests vor jeder Veröffentlichung.
- Integration in das Entwicklungsteam für eine bessere Defektanalyse über den gesamten Lebenszyklus von Fehlern hinweg.
- Untersuchung und Dokumentation von Defekten; Verifizierung von Fehlerbehebungen.
- Erstellung von Testdokumentationen in einer Vielzahl von Formaten gemäß den internen Standards der Produktentwicklung.
- Entwicklung eines Automatisierungsframeworks zur Optimierung der Regressionstests, um die Tests in die CI-Pipeline zu integrieren.
Lösung:
Der QA-Ingenieur trat dem Entwicklungsteam während der Entwicklungsphase bei. Ab dem ersten Tag wurden zwei Hauptziele festgelegt:
- Das Produkt gründlich zu testen
- Möglichkeiten zu erkennen, den Testprozess gleichzeitig zu verbessern
Bevor Änderungen am QA-Prozess vorgeschlagen oder vorgenommen wurden, machte sich der QA-Ingenieur mit dem Produkt auf verschiedene Weise sehr vertraut: durch das Durchführen von Tests, das Lesen aller verfügbaren Dokumentationen und das Ausführen explorativer Tests.
Wichtige anfängliche Vorschläge, die nach einer klaren Analyse des Testprozesses gemacht wurden, umfassten Folgendes:
- Aufbau einer stabilen Testumgebung, die so produktionsnah wie möglich ist.
- Da die Plattform eine Datenspeicherlösung ist, war es entscheidend, eine klare Analyse der Daten durchzuführen, die hauptsächlich von Benutzern in der Produktionsumgebung genutzt werden, und diese Datenanalyse in die Produktanforderungen zu integrieren.
- Basierend auf den Ergebnissen der Datenanalyse relevante Testaktivitäten zu planen, um die Verarbeitung der erforderlichen Datentypen auf der Plattform zu prüfen.
- Erstellung eines geschützten Satzes von Testdaten.
- Testen der Produktentwürfe, bevor die Entwicklung beginnt – um ein möglichst frühes Verständnis der geplanten Funktionalitäten zu erhalten und potenzielle Auslassungen, Konflikte und mögliche Fehler so früh wie möglich zu identifizieren.
- Durchführung von Smoke-Tests in der Produktionsumgebung nach jeder Veröffentlichung, um eine nahtlose Nutzung für aktive Benutzer sicherzustellen.
- Automatisierung der Qualitätsstatusberichte.
Der erste Arbeitsumfang, der in der frühen Phase bestand, stellte eine Kombination aus Folgendem dar:
- Testen des Produkts in Bezug auf alle erforderlichen Testaktivitäten.
- Einrichtung der Testdokumentation.
- Sowie der aktiven Umsetzung von Verbesserungen im Testprozess.
Der zweite Arbeitsumfang wurde möglich, nachdem der Testprozess verbessert und stabilisiert worden war. Schließlich konnte die Testautomatisierung unter Verwendung von Java, Rest Assured und dem Selenide-Framework entwickelt werden.
Die Testdienstleistungen werden weiterhin erbracht und decken alle angeforderten Testarten innerhalb des vereinbarten Zeitrahmens ab:
- Funktionstests: Überprüfung des Produktverhaltens in Bezug auf die definierten Anforderungen.
- Leistungstests: Überprüfung der Last- und Zeitparameter, die für das Produkt festgelegt wurden.
- UX-Tests: Validierung der Benutzeroberfläche und der zugehörigen Benutzererfahrung.
- Kompatibilitätstests: Durchführung von plattform- und browserübergreifenden Tests.
- Integrationstests: Überprüfung der Stabilität und Korrektheit der Kommunikation zwischen den isolierten Modulen der Plattform.
- Umfassende End-to-End-Tests: Detaillierte Tests auf Systemebene des geprüften Produkts, basierend auf Anwendungsfällen und dem Benutzerverhalten.
- Bestätigungstests: Wiederholungstests zur Überprüfung und Verifizierung der Korrekturen zuvor festgestellter Fehler in der Funktionalität.
- Smoke-Tests: Überprüfung der grundlegenden Funktionalität nach jeder Veröffentlichung.
- Regressionstests: Durchführung eines klar definierten Testumfangs, um einen zuverlässigen Status der Produktqualität und der Freigabebereitschaft zwischen Entwicklung und Bereitstellung zu gewährleisten.
Ergebnisse:
- Jede Produkt-Release-Version wird vor der Veröffentlichung auf vordefinierten Browsern und Plattformen getestet.
- Die entdeckten Probleme werden protokolliert, priorisiert und schnell an die Entwickler weitergeleitet. Für die Nachverfolgung werden ausschließlich Testmanagement- und Bug-Reporting-Tools verwendet – es gibt keine alternativen Wege zur Defektüberwachung.
- Eine konstante, klare und schnelle Kommunikation zwischen dem QA-Ingenieur, den Entwicklern und den Produktmanagern ist eingerichtet.
- Die Qualitätsstatusberichte werden mithilfe von Testmanagement- und Reporting-Tools automatisiert.
- Eine zuverlässige und kontinuierlich gepflegte Bibliothek mit Testdokumentationen ist vorhanden und wird aktiv genutzt.
- Der QA-Ingenieur nimmt nicht nur aktiv an Testaktivitäten teil, sondern unterstützt auch andere QA-Ingenieure, die am Projekt arbeiten oder neu hinzukommen, überprüft deren Arbeit, Autotests und überwacht die Parameter der Quality Gates.
Es ist auch erwähnenswert, wie stark die durch den QA-Ingenieur implementierte Automatisierung den gesamten Testprozess verbessert hat:
- Vollständige manuelle Regressionstests werden zunehmend durch automatisierte Testläufe ersetzt. Manueller Aufwand ist nur noch für neue oder derzeit nicht automatisierte Fälle erforderlich.
- Durch die implementierte Automatisierung werden erhebliche Zeit- und Kosteneinsparungen erzielt. Zum Beispiel erforderte eines der Module der Plattform zuvor 32 Stunden pro Monat manueller Arbeit für die Durchführung von Regressions- und End-to-End-Tests. Nach der Automatisierung laufen diese Tests vollständig automatisch, ohne manuellen Aufwand.
- Die Automatisierung führte zu einer höheren Stabilität der Tests und zu einer größeren, messbareren Testabdeckung.
Bereich:
- Datenspeicherung
- Big Data
Testdienstleistungen:
Vollständiger Testprozess, einschließlich:
- Manuelles funktionales Web-Testing
- UI-/UX-Tests
- API-Tests
- Automatisierte Tests (Java + Selenide)
- Entwicklung von Testdokumentationen
Tech Stack:
JAVA
Gradle
Rest Assured
Allure Report
Selenide
Fehler-Tracking-System:
Jira
Testmanagement-System:
Zephyr
Autor:
Alena Badzilouskaya
Wir übernehmen für Sie die Suche nach einer Lösung.
Informieren Sie uns über Ihre Bedürfnisse. Nach Ihrer Anfrage melden wir uns bei Ihnen für ein erstes Gespräch.