SUCCESS STORY
Tosca meets Studiosus Group
Erstellung einer nachhaltigen Testautomatisierung
in einer agilen Welt
Studiosus Group ist ein Münchner Reiseveranstalter mit Fokus auf kulturellen Touren. Das 1954 gegründete Unternehmen verzeichnete 2019 einen Umsatz von 276 Millionen Euro und bediente 103.430 Kunden. Wie jeder etablierte Reiseveranstalter, stand die Studiosus Gruppe vor der Herausforderung, für ihre Tochtergesellschaft Marco Polo Reisen eine IT-Infrastruktur und Webpräsenz zu entwickeln, um die Erwartungen moderner Kunden zu erfüllen und sich von der Konkurrenz abzuheben.
Das Ziel der Agentur war es, den Online-Reisemarkt für eine ihrer Hauptproduktlinien, die Marco Polo Young Line Travel, neu aufzubauen. Die Implementierung der Front- und Backend-Softwarekomponenten wurde erfahrenen PRODYNA-Entwicklern zugewiesen, während Qnit aufgrund seiner Expertise im Bereich Qualitätssicherung mit der Etablierung der Test- und Testautomatisierungsprozesse betraut wurde.
Herausforderung
Die Gesamtbetrachtung:
Generell war das Projekt ein riesiger Technologiesprung. Eine Hauptaufgabe war die komplette Überarbeitung des Frontend-Designs und der Technologien mit dem Ziel, ein attraktives, modernes Erscheinungsbild und eine verbesserte Usability zu erreichen. Die volle Reaktionsfähigkeit der Anwendung musste garantiert sein und wurde mithilfe des React-Frameworks sichergestellt. Mit einer Vielzahl neuer Funktionen, die implementiert werden mussten, wurde die Gesamtherausforderung auch dadurch erhöht, dass gleichzeitig das zugrunde liegende Content-Management-System auf eine neue Technologie umgestellt wurde. Die Einbindung des Magnolia CMS ermöglichte aktuellen und zukünftigen Content-Editoren, Inhalte auf einfache und flexible Weise zu verwalten.
Die Testperspektive:
Jede Testausführung, insbesondere wenn sie automatisiert ist, hängt von vorhersagbaren Testergebnissen ab. Der Umgang mit einem dynamischen Testobjekt, in diesem Fall einem produktionssynchronen Reisemarkt mit ständig wechselnden Angeboten, ist herausfordernd. Außerdem, musste der Test eindeutige Fehler in bestimmten Reisekombinationen oder in bestimmten Suchergebnissen erkennen. Nicht nur die Funktionalität, sondern auch die Inhalte, zusammengestellt aus dem neuen CMS, mussten überprüft werden.
Da ein vollständiges Testen aufgrund begrenzter Testressourcen nicht möglich ist, musste eine Balance zwischen breitem und tiefem Testen gefunden werden, um ein Maximum des Gesamtrisikos abzudecken.
Die Arbeit in einem agilen Projekt mit hochdynamischen Testobjekten erforderte die Fähigkeit, Tests für neue Funktionen mit hoher Geschwindigkeit zu automatisieren und gleichzeitig die vorhandene Automatisierung schnell zu ändern, falls der letzte Build sie beschädigt hat.
Wartbarkeit sowie Stabilität der Automatisierung waren nicht nur für die Entwicklungszyklen von Bedeutung. Da der Kunde Testfälle für Regressionstests in weiteren Entwicklungsstufen wiederverwenden wollte, mussten sie sauber und verständlich für andere Personen sein, die in Zukunft möglicherweise mit den Artefakten arbeiten.
Testansatz:
Die Implementierung der Testautomatisierung erforderte zunächst eine klare Analyse der Anforderungen, um zu erkennen, wo Automatisierung einen Mehrwert bringen kann und wo nicht. Der Prozess der Verifizierung der URLs von mehreren tausend Bildern ist für eine Automatisierung prädestinierter als beispielsweise die korrekte Positionierung eines Designelements.
In manchen Fällen, machte es die Dynamik innerhalb der erwarteten Ergebnisse notwendig, die Produktivumgebung als Testorakel zu verwenden und Produktivergebnisse zur weiteren Verifizierung gegen das zu testende System anzuwenden. Außerdem wurden API-Fälle eingerichtet und integriert, um die Ausführung der hohen Anzahl erforderlicher Testfälle zu erleichtern.
Tooling
Technologies
Nach Festlegung des Umfangs des Ansatzes musste das richtige Tooling definiert werden. Für dieses spezielle Projekt fiel die Entscheidung eindeutig auf Tricentis Tosca, weil es:
…einen einen risikobasierten Ansatz unterstützt: Tosca sorgte für vollständige Rückverfolgbarkeit zwischen risikogewichteten Anforderungen (in unserem Fall User Stories) und Ausführungsergebnissen von Testfällen, die diese abdeckten.
…UI und nicht-UI Tests kombiniert: Das Testen einer großen Anzahl individueller Journeys mit unterschiedlichen Varianten wäre bei der UI-Ausführung langsam und instabil gewesen. Toscas integrierter API Scan ermöglichte eine schnelle Erstellung von Nicht-UI-Testfällen, die extrem schnell ausgeführt werden.
… für hohe Wartbarkeit und Wiederverwendbarkeit sorgt: Das getestete System wurde in einem agilen Umfeld entwickelt und war einem ständigen Wandel ausgesetzt. Dabei mussten nicht nur neue Features getestet werden, sondern auch bestehende Tests gepflegt werden. Der modellbasierte Ansatz von Tosca reduziert den Aufwand für die Anpassung von Tests nach Sprints und vor der Übernahme in Regressionstests. an Regressionstests.
…geschäftslesbare Testfälle erstellt: Alle Testaktivitäten sollten sich darauf konzentrieren, eine angemessene Bewertung der Produktqualität zu ermöglichen. Da es skriptlos ist, ermöglichte es Tosca, die Automatisierung Nicht-Tosca-Entwicklern und Geschäftsinhabern zu präsentieren.
Ergebnis
Mit der schnellen, aber sehr sauberen Implementierung Schritt zu halten, war anstrengend, aber machbar. Das Testteam konnte das Entwicklungsteam mit ständigem Feedback zu Problemen und der aktuellen Qualität ihrer Arbeit unterstützen. Entscheidungsträgern konnte eine hohe Transparenz in Bezug auf die Qualität ihres Produkts geboten werden. Unterstützt durch das richtige Tooling wurden die Testleistungen ungefähr bei einem Kostenverhältnis von etwa eins zu fünf zwischen Test und Entwicklung erreicht, das weit unter dem durchschnittlichen Verhältnis liegt.
Weitere Success Stories
Nachhaltige und agile Testautomatisierung