Jumbo2010 - Fotolia
DevOps-Teststrategie: Schluss mit manueller Nachverfolgung
Softwaretests sind ein wichtiger Bestandteil moderner DevOps-Prozesse. Für eine nahtlose Zusammenarbeit der Teams sollten Unternehmen automatisierte Abläufe einsetzen.
Wirtschaftlicher, schneller, zuverlässiger: Das sind die Argumente, weshalb Firmen auf agile Teams setzen. DevOps hilft, Entwicklung und Betrieb zusammenzubringen, um den Prozess der Softwareentwicklung und -bereitstellung zu koordinieren und zu optimieren.
Wie wichtig dabei der Einsatz moderner und passgenauer Technologien ist, zeigt eine Umfrage von Gartner. Darin geben 58 Prozent der befragten Softwareentwicklungsleiter an, dass eine qualitativ hochwertige Developer Experience von entscheidender Bedeutung im gesamten Softwareentwicklungszyklus ist. Unter anderem seien es Technologien, die Prozesse optimieren und Brüche in der Wertschöpfungskette überbrücken, die dazu einen entscheidenden Beitrag leisten.
Das gilt auch für den Teilbereich Quality Assurance (QA), der unter anderem mit Software Testing sicherstellt, dass die Anforderungen und die Qualitätsstandards des Unternehmens erfüllt werden. Softwaretestprozesse sind komplex – fehlt eine durchdachte Strategie, kann dies zu zusätzlichem Aufwand und erhöhtem Risikopotenzial führen sowie die Rückverfolgbarkeit erschweren. Unter anderem gilt es, die Testergebnisse mit den Anforderungen rückzukoppeln. Andernfalls sind die Entwickler nicht in der Lage zu sehen, welche Tests durchgeführt wurden und welche Testabdeckung sich daraus ergibt – was wiederum zu einem Vertrauensverlust in die Qualitätssicherung führt.
Tests manuell zu dokumentieren, ist daher heute keine Option mehr. Gefragt sind Automatisierungs-Tools, die auf einer übergreifenden Plattform miteinander verknüpft sind und damit End-to-End-Prozesse über die gesamte Value Chain hinweg (develop, build, test, deploy, release) ermöglichen.
Unternehmen sollten eine klare DevOps-Teststrategie verfolgen, die die Bedürfnisse aller Beteiligten berücksichtigt und die es ermöglicht, den Teststatus über die gesamte Softwareentwicklung und -bereitstellung hinweg zu überwachen. Hilfreich ist hierfür, ein System zu etablieren, das auf bewährten Verfahrensweisen für das Testen basiert und denen jedes Testteam folgen kann. Denn manuelles Testen etwa mit Excel Spreadsheets bieten schon längst nicht mehr die benötigte Flexibilität und Skalierbarkeit. Empfehlenswert ist daher, zu einer Lösung zu wechseln, die speziell für agile Teams entwickelt wurde. So lässt sich die Grundlage für eine effizientere, nachhaltigere und skalierbare Testpraxis schaffen, die das gesamte DevOps-Umfeld entlastet.
Zu wissen warum, hilft zu ändern
Am Anfang steht die Überlegung, was mit der Anschaffung eines Test-Tools erreicht werden soll. Mehr Übersichtlichkeit? Eine strukturiertere Zusammenarbeit? Danach lässt sich ein Leitbild erstellen, das klar aufzeigt, warum das Unternehmen sich vom manuellen Testen lösen möchte. Dabei ist es wichtig, die Vorteile sowie die messbaren Ergebnisse klar zu kommunizieren.
Das Leitbild kann außerdem als Grundlage dafür dienen, einen ROI (Return on Invest) zu erstellen. Ein solcher wird benötigt, um die internen Genehmigungen und Finanzmittel für die Implementierung einer spezialisierten Testlösung zu sichern. In den Entscheidungsprozess miteinzubeziehen sind nicht nur Führungskräfte, sondern auch andere Stakeholder aus der Entwicklung und dem Produktmanagement. Besonders die Perspektive und die Erfahrung der agilen Teams selbst liefert wertvolle Hinweise.
Festlegen, welche Funktionen das Testen erleichtern
Bei der Auswahl eines Testsystems gilt es, genau zu analysieren, welche Funktionen und Vorteile die Lösung bieten soll. Eine nahtlose Integration mit agilen Planungs-Tools zum Beispiel ist ein wichtiger Faktor. Auch eine Testfallbibliothek, die eine einfache Organisation, eine gemeinsame Nutzung und die Wiederverwendung von Testressourcen ermöglicht, sollte vorhanden sein. Zudem ist eine CI/CD-Integration (Continuous Delivery / Continuous Deployment) Pflicht, um die Testautomatisierung als Teil des gesamten Release-Prozesses zu orchestrieren. Schließlich sollte regelmäßiges Reporting über den gesamten End-to-End Business-Prozess hinweg sowie innerhalb seiner Teilkomponenten selbstverständlich sein, um Transparenz zu schaffen – nur so lässt sich Quality Assurance gewährleisten.
Anforderungen und Optionen analysieren
Wurden auf dem Markt schließlich potenziell passende Lösungen für die Qualitätssicherung im DevOps-Kontext identifiziert, gilt es, diese miteinander zu vergleichen. Es ist zu bewerten, ob sie den spezifischen Bedürfnissen und Zielen des Unternehmens entsprechen. Denn verschiedene Testmanagementlösungen haben jeweils Vor- und Nachteile. Selten ist eine Lösung in allen Kategorien führend. Verantwortliche sollten die Funktionen auflisten, die für ihr Unternehmen wichtig sind und ein System zum Vergleich der Lösungen untereinander entwickeln.
Sinnvoll kann außerdem sein, zu evaluieren, wie ein Anbieter mit dem Thema KI umgeht. Die Technologie ermöglicht automatisierte und kontinuierliche Tests. Anwendungen auf Basis von Machine Learning erkennen dabei selbstständig Muster und können daraus Schlüsse ziehen, welche Tests anstehen. Außerdem lässt sich damit eine höhere Testabdeckung erreichen. Eine KI kann auch seltene oder komplexe Szenarien erkennen und testen – und somit Fehler früher im Entwicklungsprozess identifizieren und beheben.
„Basiert das eingeführte Tool auf bewährten Verfahrensweisen und entspricht es den Anforderungen und Zielen des Unternehmens, verringern sich die Zeit- und Ressourcenverluste erheblich.“
Viktoria Praschl, Tricentis
Auch den Anbieter selbst sollten Verantwortliche genauer unter die Lupe nehmen. Im Idealfall verfügt er über umfassende Expertise im Bereich Testing und unterstützt neben der initialen Implementierung auch kontinuierlich beim Betrieb der Lösung. Nur so ist gewährleistet, dass der Kunde die Lösung auch langfristig optimal nutzen kann. Verantwortliche können außerdem nach Bewertungen in der Community Ausschau halten und sich in Analystenberichten über die aktuellen Marktführer informieren. Ein Anbieter sollte zudem in der Lage sein, ad hoc Fragen zu beantworten und über eine Vielzahl von Best Practices verfügen, die den Testprozess noch weiter verbessern. Empfehlenswert ist auch, ein Pilotprojekt durchzuführen, um zu sehen, wie der Provider agiert.
Die richtige Strategie erhöht den Output
Spezialisierte Testmanagementlösungen steigern die Produktionsleistung von agilen Teams, indem sie Prozesse rund um die Softwareentwicklung und Bereitstellung vereinfachen. Vorausgesetzt, die Teststrategie ist formuliert und jedes Teammitglied ist sich darüber im Klaren, was mit der Änderung bei der Testverwaltung erreicht werden soll. Basiert das eingeführte Tool auf bewährten Verfahrensweisen und entspricht es den Anforderungen und Zielen des Unternehmens, verringern sich die Zeit- und Ressourcenverluste erheblich. Die Testpraxis wird dadurch effizienter, nachhaltiger und skalierbar. Eine sorgfältige Analyse der verfügbaren Optionen und Anbieter sowie die Einbeziehung aller relevanten Stakeholder sind dabei allerdings entscheidend.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.