Architekturen sind für den Erfolg von Testautomatisierung wichtig und helfen die Kosten mittelfristig im Griff zu behalten. Wiederverwendbarkeit, Wartbarkeit und Skalierbarkeit sind die wichtigsten Aspekte einer solchen Architektur. Ob Opensource oder kommerziell, ob in der Programmiersprache Java, Python oder Javascript: die Schichten einer Architektur sollten zu den unterschiedlichen Skillleveln im Team passen. Max Bodsch bringt uns das vielschichtige Thema im Dialog mit Tilo und Markus aus Sicht der Praxis näher und beleuchtet die praktische Relevanz des ISTQB-Seminars Test Automation Engineer.
Podcast #9: Architekturen für Testautomatisierung
Diese Themen erwarten Dich:
[00:30] Kurzer Überblick über den Podcast
[01:17] Vorstellung Max Bodsch
[01:36] Warum lohnt sich das Thema Architekturen für Testautomatisierung
[02:04] Aspekte: Wiederverwendbarkeit, Wartbarkeit, Umfeld, Skilllevel
[02:24] Anforderungen an eine wiederverwendbare Testautomatisierungs-Architektur (TAA)
[03:02] Schnittmengen zwischen Testautomatisierung und Softwareentwicklung
[03:52] TAA und getesteten Systems ?
[04:21] Wie abstrakt sollte eine TAA sein (bei größeren Projekten) ?
[04:41] Wartbarkeit und Skalierbarkeit einer TAA
[06:35] Was ist für die Skalierbarkeit einer TAA wesentlich ?
[07:25] Architektur und Skill-Level der Nutzenden
[10:35] Ist generische Testautomatisierungsarchtitektur der ISTQB praxisrelevant ?
[11:21] Unklarkeiten bei Ansiedlung von Funktionalitäten in Schichten
[12:53] Frontend-Testing, Mobile Testing, API-Testing in einer Architektur ?
[14:17] Sollte eine Architektur so gestaltet werden, dass die Testpyramide unterstützt wird ?
[15:27] Welche Rolle spielt Opensource in der Testautomatisierung?
[16:15] Sollten man auf neue Opensource-Technologien in der Testautomatisierung setzen ?
[17:15] Die Architektur eines kommerziellen Anbieters verwenden ?
[18:27] Ist die Anbindung an ein Testmanagementtool wie Xray sinnvoll ?
[19:19] Welche Besonderheiten kennzeichnen die Qytera eigene TAA, QTAF ?
[20:16] Wie QTAF entstanden ist
[21:01] Organisation Auf-und Ausbau einer TAA
[21:56] Erfolgsfaktoren für eine Opensource Testautomatisierungsarchitektur
[22:35] Erfahrungen mit dem Opensource-TAA-Framework Selenide
[23:41] Auswahl der verwendeten Programmiersprache für die TA
[24:33] Verwendung einer abweichenden Programmiersprache
[25:08] Rest-APIs
[26:20] Wechsel auf neue Programmiersprachen wie Javascript ?
[27:44] Empfehlung für ISTQB-Seminar Test Automation Engineer
[28:36] Erfahrungen Tilo mit Seminar Test Automation Engineer
[28:59] Hinweis auf Qytera ISTQB-Seminar Test Automation Engineer
Die Bedeutung einer soliden Testautomatisierungsarchitektur
In der heutigen dynamischen Welt der Softwareentwicklung ist eine gut durchdachte Testautomatisierungsarchitektur unerlässlich. Wie mein Gast Max Bodsch betonte, sind Testautomatisierungs-Frameworks im Kern Softwareprojekte mit ähnlichen Anforderungen an Architektur und Design. Diese Architekturen sind nicht nur für den Erfolg des Projekts entscheidend, sondern auch für dessen Wartbarkeit und Wiederverwendbarkeit. Es geht darum, eine Basis zu schaffen, die nicht nur projektspezifisch, sondern auch firmenweit nutzbar ist. Die richtige Gestaltung einer solchen Architektur reduziert langfristig Aufwand und Kosten und erhöht die Effizienz der Testprozesse.
Grundbausteine einer effektiven Architektur
Max Bodsch brachte zur Sprache, dass die Konzeption einer Testautomatisierungsarchitektur über das reine Codieren hinausgeht. Eine wiederverwendbare Basis zu schaffen bedeutet, standardisierte Funktionen zu entwickeln, die gängige Aktionen abdecken können. Darüber hinaus spielt die Art der Integration von Testdaten eine entscheidende Rolle; datengetriebene Tests erhöhen die Flexibilität und Skalierbarkeit der Automatisierung. Das Ziel ist es letztlich, eine Architektur zu entwerfen, die sowohl technologisch als auch methodisch mit dem zu testenden System harmoniert.
Anpassung an unterschiedliche Technologien und Umfelder
Ein interessanter Punkt in unserer Diskussion war die Notwendigkeit der technologischen Kongruenz zwischen der Testautomatisierung und der Entwicklungsumgebung. Max betonte die Bedeutung der Auswahl eines Frameworks oder einer Sprache, die zum Stack des Entwicklungsprojekts passt. Dies fördert Synergien und erleichtert unter anderem das Management von Testdaten. Die Anpassungsfähigkeit einer Architektur an verschiedene Technologien - sei es Web-, Mobile- oder API-Testing - ist somit ein Schlüsselaspekt für ihre Effektivität.
Der Weg zur Wiederverwendbarkeit und Skalierbarkeit
Die Art und Weise, wie eine Testautomatisierung aufgebaut wird, bestimmt ihre Zukunftsfähigkeit. Max erklärte detailliert, wie durch Modularisierung und das Erstellen wiederverwendbarer Komponenten eine Architektur sowohl wartbar als auch skalierbar gemacht werden kann. Insbesondere die Trennung von Testfällen von ausführenden Elementen ermöglicht es Teams, Tests effizienter zu gestalten und bei Bedarf schnell anzupassen.
Die Rolle von Open Source in der Testautomatisierung
Die Diskussion berührte auch den wachsenden Einfluss von Open-Source-Tools in der Testautomatisierungswelt. Max betonte die Vorteile dieser Gemeinschaftslösungen: Sie bieten nicht nur eine Fülle an Ressourcen und Unterstützung, sondern ermöglichen es Teams auch, ihre Tools flexibel anzupassen und zu erweitern. Dabei darf jedoch nicht vergessen werden, dass der Erfolg solcher Tools von ihrer Aktivität und Community-Unterstützung abhängt.
Fazit: Die Reise zur optimalen Testautomatisierungsarchitektur
Abschließend lässt sich sagen, dass der Aufbau einer effektiven Testautomatisierungsarchitektur eine sorgfältige Planung erfordert. Es geht darum, ein System zu schaffen, das nicht nur den aktuellen Anforderungen gerecht wird, sondern auch zukünftigen Herausforderungen standhalten kann. Die Einsichten von Max Bodsch bieten einen wertvollen Leitfaden für alle, die sich mit der Gestaltung solcher Architekturen befassen möchten.
Um mehr über die Schaffung erfolgreicher Testautomatisierungsarchitekturen zu erfahren und tiefer in unsere Diskussion mit Max Bodsch einzutauchen, hören Sie sich unsere neueste Podcast-Episode an.
Veröffentlicht am 11.August 2022
Aktualisiert am 28.Mai 2024
Senior Testmanager, Testarchitekt
Markus Thaler war 22 Jahre in der Commerzbank tätig, wo er sich mehr als 10 Jahre um Teststandards, Testwerkzeuge und Testautomatisierung in einer zentralen Funktion gekümmert hat, bevor er nach einer Zwischenstation im Testinfrastrukturmanagement acht Jahre als Testmanager in der Risikofunktion der Commerzbank gewirkt hat. Vor der Commerzbank konnte er Testerfahrungen bei Lufthansa, Siemens, Nestle und der DZ-Bank gewinnen. Aktuell ist er als Senior Testmanager und Testarchitekt bei Qytera tätig.