Der von Gartner regelmäßig herausgegebene “Magic Quadrant for Software Test Automation” untersucht und bewertet verschiedene Hersteller von Werkzeugen zur Testautomatisierung. Der Schwerpunkt liegt dabei auf den strategischen Fähigkeiten des jeweiligen Herstellers (Vision, Wirtschaflichkeit, Marketing etc.), weniger auf den Produktfähigkeiten der einzelnen Werkzeuge.
Gartner hat dies nun durch die neue Studie “Critical Capabilities for Software Test Automation” ergänzt, in der zehn typische Merkmale von Testautomatisierungswerkzeugen am Beispiel von fünf typischen Anwendungsfällen untersucht werden. Die Studie ist insofern interessant, da sie einen guten Einstiegspunkt in die Werkzeugevaluierung für die eigene Organisation bietet.
Werkzeughersteller
Die Werkzeuge folgender Hersteller wurden dabei untersucht und bewertet:
- CA Technologies
- IBM
- Micro Focus (Unified Functional Testing)
- Micro Focus (Silk Test)
- Microsoft
- Parasoft
- Ranorex
- SmartBear
- TestPlant
- Tricentis
Die zehn kritischen Fähigkeiten
Diese Werkzeuge werden anhand von zehn kritischen Fähigkeiten untersucht, welche ein Werkzeug typischerweise besitzen sollte:
Match to Nontechnical Role Skills
Die Fähigkeit des Produkts, nicht-technische Rollen (z.B. Analysten, Fachbereichsvertreter) in die Erstellung, Ausführung, Bewertung und Wartung von automatisierten Testszenarien zu integrieren.
Mögliches Beispiel: Unterstützung von schlüsselwortgetriebenen Vorgehensweisen.
Match to Technical Role Skills
Die Fähigkeit des Produkts, technische Rollen (z.B. technische Tester, Entwickler) in die Erstellung, Ausführung, Bewertung und Wartung von automatisierten Testszenarien zu integrieren.
Mögliche Beispiele: Integration in die Entwicklungsumgebungen, Unterstützung von Continuous Delivery.
Templates and Accelerators
Die Fähigkeit des Produkts, spezifische Branchen- und/oder Anwendungseigenschaften zu unterstützen und deren Entwicklung dadurch zu beschleunigen.
Mögliche Beispiele: Vorlagen, Bibliotheken, Wizards.
Change Impact Analysis
Die Fähigkeit des Produkts, Auswirkungsanalysen zu unterstützen und dadurch relevante Testfälle zu identifizieren (z.B. für Regressionstests).
Mögliches Beispiel: Unterstützung von risikobasierten Vorgehensweisen.
Cross-Platform/-Browser Support
Die Fähigkeit des Produkts,verschiedene Plattformen und Betriebssysteme zu unterstützen.
Mögliche Beispiele: Unterstützung von Windows, Mac OS, Linux, Android, iOS. Unterstützung von echten mobile Geräten oder Cloud-Services.
Intelligent Automation
Die Fähigkeit des Produkts, intelligente Automatisierungslösungen zu unterstützen.
Mögliche Beispiele: Anwendung von KI, Machine Learning, Heuristiken, Bots.
Breadth of Technology Support
Die Fähigkeit des Produkts, unterschiedliche Technologien zu unterstützen.
Mögliche Beispiele: Unterstützung von UI Frameworks, Protokollen.
Integration Capabilities
Die Fähigkeit des Produkts, sich mit anderen Werkzeugen und Technologien zu integrieren.
Mögliche Beispiele: ALM-Werkzeuge, Fehlermanagementwerkzeuge.
Open-Source Support
Die Fähigkeit des Produkts, sich mit gängigen Open-Source-Werkzeugen zu integrieren.
Mögliche Beispiele: Selenium, Appium, RobotFramework, Espresso, SoapUI, NUnit, JUnit.
Dashboards and Reporting
Die Fähigkeit des Produkts, den Testfortschritt und -status verfolgen und auswerten zu können.
Mögliche Beispiele: verschiedene Sichten, Überdeckungsmessungen.
Für eine eigene Untersuchung stellen diese Kriterien natürlich nur eine erste, abstrakte Sicht dar. In einer konkreten Evaluierungen müssen die Anforderungen an die Werkzeuge zunächst detailliert und unternehmenspezifisch definiert werden, dennoch ist dies ein guter erster Schritt um sich einen Überblick zu verschaffen und eine erste Auswahl von Werkzeugen zu machen.
Anwendungsfälle
Diese Kriterien werden jeweils im Kontext von fünf ausgewählten Use Cases untersucht:
Continuous Testing
Anwendung kontinuierlicher Testautomatisierung als Teil einer DevOps Delivery Pipeline.
Open-Source-Based Testing Acceleration
Einsatz von Open-Source Frameworks und Werkzeugen (z.B. Selenium, BDD-Werkzeuge, Unittesting Frameworks).
Progressive Web Apps/Responsive Web/Native Apps
Die Vereinfachung der Testautomatisierung von modernen und responsiven Anwendungen und Apps.
API/Web Service Testing
Die Vereinfachung des funktionalen Tests einer API oder Web Services.
Enterprise End-to-End Testing
Durchführung von Ende-zu-Ende-Tests über mehrere Systeme und/oder technologische Schichten.
Auch hier gilt, dass diese Use Cases ein guter Einstiegspunkt sein können, für eine konkrete Evaluierung und Auswahl müssen diese jedoch noch gewichtet oder auch zunächst die eigenen Uses Cases definiert werden.
Ergebnis
Neben einer detaillierten qualitativen und quantitativen Auswertung der Hersteller/Fähigkeiten/Anwendungsfall-Kombinationen werden in dem Bericht auch allgemeine Erkenntnisse präsentiert und Empfehlungen ausgesprochen:
- Da Anwendungslandschaften i.d.R. unterschiedliche Systemarten und Technologien umfassen, wird für die Testautomatisierung häufig ebenfalls eine Kombination unterschiedlicher Werkzeuge erforderlich sein.
- DevOps erhöht weiterhin den Bedarf nach einem höheren Automatisierungsgrad.
- Continuous Delivery muss sich auf eine vollständig automatisierte Delivery Pipeline verlassen können.
- Die Werkzeuge entwickeln sich über die Kernfunktionalitäten hinaus weiter in Richtung Testfallgenerierung oder AI-getriebenes Testen.
Wir unterstützen Sie gerne, wenn Sie sich auch für die Evaluierung und Auswahl von Testautomatisierungslösungen in Ihrer Organisation interessieren.