Effiziente Softwareentwicklung ohne Automatisierung unmöglich – Geschwindigkeit der Cloud-Trends setzt Unternehmen unter Zeitdruck

Applikationen beziehungsweise Software und deren kontinuierliche Weiterentwicklung stehen bei einer wachsenden Zahl von Unternehmen zunehmend im Mittelpunkt – und das nicht nur bei IT-Unternehmen. Durch das Voranschreiten der Cloud-Technologien wird dieser Trend noch verstärkt. Unternehmen sind darauf angewiesen schnell und zu vertretbaren Kosten permanent ihre Software anzupassen und zu verbessern. Dies erhöht den Druck auf die meist schlanken Entwicklerteams – die häufig schon am Limit sind. Rubrik sieht den Ausweg in einer weitgehenden Automatisierung des Datenmanagements und der Softwaretests. Dabei dient das Unternehmen selbst als aktuelles Praxisbeispiel.

 

Der normale Release-Zyklus für Rubriks Datenmanagement-Plattform CDM ist vierteljährlich. Solch schnelle Release-Zyklen bringen den manuellen Testaufwand an seine Grenzen und die Entwickler treiben die Testingenieure ständig vor sich her. Jeder Schritt in einem so komplexen Prozess, der menschliches Zutun erfordert, kann die Produktivität beeinflussen oder zum Erliegen bringen. Soweit möglich, sollte daher in der Softwareentwicklung alles automatisiert werden – und dies schließt das Testen mit ein. Kritische Teilprozesse gilt es Schritt für Schritt zu automatisieren, um Kontinuität zu erreichen.

 

Bei Rubrik werden so viele Tests wie möglich automatisiert. Wie bei jedem Softwareunternehmen ist es wichtig, dass die Produkte gründlich getestet werden, bevor sie in die anspruchsvollen Rechenzentrumsumgebungen der Kunden entlassen werden. Unter Berücksichtigung eines vierteljährlichen Release-Zyklus bleibt demnach nicht viel Zeit für Entwicklung, Qualitätssicherung und Tests. Die Testautomatisierung ermöglicht es jedoch, schnell und gründlich zu testen und dabei mehr Konsistenz zu gewährleisten. Dadurch wird Zeit frei für die Arbeit an neuen Testfällen oder für das Debuggen von fehlerhafter Software, während die wiederholten, automatisierten Tests fortgesetzt werden.

 

Eine intelligente Testautomatisierung bietet folgende Vorteile:

  • Konsistente Testumgebung durch Entfernen des Faktors Mensch.
  • Erhöhte Produktivität und Zeitersparnis.
  • Schnelle Reaktion auf wechselnde Geschäftsanforderungen.
  • Schnellerer Release-Zyklus durch schnellere Validierung von Builds.
  • Verbesserte Kundenzufriedenheit.

 

 

Der Wechsel zu agiler Entwicklung hat viele Entwicklungsteams dazu veranlasst, eine Pyramiden-Teststrategie einzuführen, die die Automatisierung von Tests auf verschiedenen Ebenen erfordert. Der Unit-Test stellt die Basis und den größten Anteil dieser Pyramide dar, zusammen mit dem Komponententest. Als nächstes kommt die Integration, oder API, und zuletzt das Testen. Und schließlich stehen UI-Tests (User Interface) ganz oben.

 

Wenn man die Pyramide hochsteigt, so steigen auch die Kosten und die Gesamtlaufzeit der Tests. Auf der anderen Seite sind die Tests an der Unterseite einfacher, schneller und konzentrierter. UI-Tests sind hierbei als »manuell/exploratorisch« gekennzeichnet. Diese erfolgen am Ende des Workflows, da sie eine subjektive Bewertung auf der Grundlage der Interaktion mit der Benutzeroberfläche erfordern.

 

Viele Unternehmen benötigen eine schlanke, einfache und reaktionsschnelle Benutzeroberfläche, so dass eine qualitativ hochwertige Interaktion mit dem Benutzer gewährleistet ist. Der hierfür nötige Test wird bis zum Ende aufbewahrt, um sicherzustellen, dass keine Zeit mit einem Build vergeudet wird, bei dem es nicht gelungen ist, Einheiten oder Komponenten zu testen.

 

Unabhängig davon, wie viele Tests durchgeführt werden, kann nicht exakt wiedergegeben werden, was die Kunden letztlich beim Einsatz der Software in der Praxis erleben. Aus diesem Grund trifft sich Rubrik ständig mit den Kunden und bittet sie um Feedback zu Benutzeroberfläche, aufgetretenen Problemen und neuen Funktionen. Basierend auf den gesammelten Informationen kann Rubrik seine Test-Suites ständig verbessern. Dies bedeutet, dass teilnehmende Kunden als »Wohltäter« für andere oder neue Kunden fungieren, während das Unternehmen die Benutzerfreundlichkeit weiter verbessert.

 

Testen ist ein wichtiger Teil der kontinuierlichen Softwareentwicklung. Es muss richtig und effektiv geschehen, aber es sollte auch ein rationalisierter Prozess sein, der das Geschäft vorantreibt und nicht eine Hürde darstellt, die alles verlangsamt. Zu den langfristigen Vorteilen der Testautomatisierung gehören Skalierbarkeit, Wiederverwendbarkeit des gemeinsamen Frameworks im gesamten Funktionsbereich, Agilität für kontinuierliche Verbesserungen und letztlich die Auslieferung von Software an zufriedenen Kunden.

 


 

Agiles Web Testing und Monitoring durch automatisierte symptombasierte Fehlersuche

Zunehmende Akzeptanz von agilen Methoden und DevOps – Management sieht automatisiertes Testen noch kritisch

Testautomatisierung spart Zeit, Kosten und Nerven

Testautomatisierung darf nicht bei Unit-Tests Halt machen

Im Jahr 2020 werden 92 Prozent der europäischen Unternehmen Robotic Process Automation (RPA) einsetzen

Neue Softwareplattform revolutioniert den 34 Milliarden-Markt des Software-Testing

Weitere Artikel zu