Mit „Continuous Testing“ lässt sich eine erfolgreiche DevOps-Umsetzung realisieren.
In der Vergangenheit wurde häufig von einem nötigen Kulturwandel in der Unternehmens-IT als Basis für eine erfolgreiche DevOps-Umsetzung gesprochen. Eine umfassende Kommunikation zwischen den Entwicklern und dem IT-Betrieb (Operations), Teamfähigkeit und Offenheit für Veränderungen spielen hier eine wichtige Rolle. Doch dies allein genügt nicht, um eine DevOps-Strategie erfolgreich umzusetzen: Erst die enge Verknüpfung von Entwicklung, Testing und Operations über kontinuierliche Feedback-Schleifen verhilft IT-Organisationen zu einer effektiveren Zusammenarbeit, einer kürzeren Time-to-Market und steigert gleichzeitig die operative Agilität.
DevOps unterstützt IT-Administratoren bei der Identifizierung von Ineffizienzen und der Problemlösung in enger Abstimmung mit der Software-Entwicklung und Qualitätssicherung. Dabei kann die Methode des Continuous Testings eine wichtige Rolle einnehmen: Durch kontinuierliches Testen von Entwicklungsbeginn an können Bugs sofort aufgespürt und beseitigt werden.
Grundsätzlich handelt es sich bei Continuous Testing um einen schnellen, kontinuierlichen Feedback-Mechanismus. Mit Hilfe von automatisierten Feedback-Schleifen wird die Applikationslieferung an jedem definierten Kontrollpunkt im Software-Entwicklungszyklus getrieben. Continuous Testing wirkt hier wie ein automatischer Prüfpunkt für den folgenden Prozess in der Lieferkette. Ist die Prüfung nicht erfolgreich, so wird der nächste Schritt im Prozess erst ausgelöst, wenn entsprechende Korrekturmaßnahmen eingeleitet worden sind. So bleiben die Fehlerbehebungskosten klein und die Qualität wächst mit jeder Korrekturlieferung. Die automatisierten Feedback-Schleifen fördern den ständigen Austausch zwischen Entwicklungs-, Testing- und Betriebsteams, so dass bei Inbetriebnahme der Applikation nur noch transparente, akzeptable Risiken vorhanden sind.
Damit Unternehmen die Qualitätssteigerung bei der Software-Entwicklung auch wirklich nutzen können, muss ein reibungsloser Ablauf von Continuous Testing garantiert sein. Folgende Schritte sollten daher bei der Umsetzung beachtet werden:
1. Integration der Automatisierungs-Suite: Regressionstests werden während der Applikationsentwicklung laufend angepasst und automatisiert. Die Integration der Automatisierungs-Suite in ein Build-Deployment-Tool ermöglicht nicht nur eine zentral gesteuerte Ausführung der Tests, sondern auch ein zentrales Reporting.
2. Automatisiertes Speichern von Testresultaten: Das Speichern von Testresultaten in Test-Management-Tools oder in einer geteilten Ordnerstruktur dient dazu, eine zentrale Informationsquelle für alle am Projekt beteiligten Personen zu schaffen. Hier laufen Informationen über die Testaktivitäten sowie deren Ergebnisse zusammen, so dass sich jeder einen Überblick über die aktuelle Qualität der Software in den unterschiedlichen Entwicklungs- und Teststufen verschaffen kann.
3. Implementieren einer virtuellen Service-Infrastruktur: Die Bereitstellung einer virtuellen Service-Infrastruktur garantiert die hochverfügbare Verifikation von implementierten oder benutzten Schnittstellen und ermöglicht eine hohe Testeffizienz.
4. Klassifizierung in multiple Test-Schichten: Damit für jeden Kontrollpunkt schnelleres Feedback eingeht, sollten die vorhandenen automatisierten Testfälle in mehrfache Test-Schichten aufgeteilt werden.
Hierbei kommen die gängige Testmethoden zum Einsatz:
Testing-Teams spielen bei der Umsetzung von DevOps-Strategien eine zentrale Rolle: Die erfolgreiche Implementierung von Continuous Testing als erster Schritt der Strategie, fördert den engen Austausch von Entwicklung und Operations. Fehler können noch vor Auslieferung der Software behoben werden. Dies spart dem IT-Betrieb nicht nur viel Zeit bei der Fehlerbehebung nach Release der Applikation, auch das Unternehmen vermeidet einen finanziellen Mehraufwand, der durch den Ausfall der neuen Software entstehen würde.
* Der Autor Robert Bonomo ist Leiter Quality Engineering & Assurance (QE&A) für die D-A-CH Region und Ost-Europa bei Cognizant.
Bildquelle: Thinkstock/iStock