Suchen

Automatisierte Qualitätssteigerung Warum Continuous Testing nicht weit genug geht

| Autor / Redakteur: Shoeb Javed * / Stephan Augsten

Kontinuierliche Tests sind unabdingbar für Unternehmen, die ihre Software-Pakete immer schneller freigeben müssen. Doch mit Blick auf „Continuous Quality Improvement“ sollte die Testautomatisierung noch viel weiter getrieben werden.

Firma zum Thema

Gute Softwareentwicklung zeichnet sich durch automatisierte Tests und kontinuierliche Qualitätssteigerung aus.
Gute Softwareentwicklung zeichnet sich durch automatisierte Tests und kontinuierliche Qualitätssteigerung aus.
(© bakhtiarzein - stock.adobe.com)

Für Betriebe ist die Fähigkeit, Neuerungen vorzunehmen und sich schnell an Veränderungen anzupassen (sowohl geschäftlich als auch in der IT), der Schlüssel zum Erfolg. Während Innovationen neue Chancen schaffen, bergen sie aber gleichzeitig hohe Risiken. Die Implementierung und die fortlaufende Verwaltung von Unternehmensanwendungen sind komplex, aber trotzdem müssen Prozesse vom Anfang bis zum Ende funktionieren – jedes Mal, jeden Tag.

Mit einer neuen Sicht auf Testautomatisierung können Business User und Organisationen neue Anwendungen schneller übernehmen und nutzen. Wenn Prozesse über Enterprise Applications nahtlos und wie geplant ausgeführt werden, können Unternehmen das Potenzial ihrer Enterprise Apps wirksam einsetzen und dadurch strategische Ziele erreichen: neue Märkte erschließen, den Umsatz steigern und einen Wettbewerbsvorteil aufrechterhalten.

Eine Grundlage für diesen Geschäftserfolg ist eine gute Softwareentwicklung, die durch automatisierte Tests (Continuous Testing) und kontinuierliche Qualitätssteigerung (Continuous Quality) erreicht wird.

Die Bedeutung automatisierter Tests für die Qualitätssicherung in Softwareprojekten

Was ist Continuous Testing?

Die grundlegende Funktion von Continuous Testing ist die Ausführung automatisierter Tests als Teil des Entwicklungsprozesses einer Software. Es geht in erster Linie darum, sofortige Rückmeldung über die Geschäftsrisiken in Verbindung mit einem Software Release Candidate zu erhalten.

Was hat DevOps mit Continuous Testing zu tun?

Im Jahr 2009 wurde DevOps als Erweiterung der agilen Softwareentwicklung eingeführt. Es ermöglicht eine höhere Effizienz und bessere Zusammenarbeit zwischen Entwicklung und Betrieb, sodass Unternehmen schneller auf die ständigen Veränderungen der heutigen digitalen Wirtschaft reagieren können.

Erhöhte Geschwindigkeit und Flexibilität sind zwar positive Nebenerscheinungen, allerdings kann Kunden Software geliefert werden, die nicht ordnungsgemäß oder überhaupt nicht getestet wurde. Dies kann Unternehmen Risiken, wie Fehlern in der Produktion, aussetzen. Es ist daher notwendig, eine neue Herangehensweise für Tests zu entwickeln, die sich an dem neuen 24/7-Release-Ablauf ausrichtet.

Warum greift Continuous Testing zu kurz?

Fortlaufende Tests reichen nicht aus, da sie nicht automatisch zu einer gleichbleibenden bzw. steigenden Qualität führen. Sie sind nur die Spitze des Eisbergs, aber aufgrund der Vielschichtigkeit der Unternehmenslandschaften sind automatisierte Tests elementar wichtig. Continuous Testing ist daher eine entscheidende Phase des kontinuierlichen Auslieferungsprozesses (Continuous Delivery Process).

Die Methode ermöglicht, sich mit dem Anspruch nach vorrangigen Kundenerlebnissen zu beschäftigen. Es wird umgehend und in Echtzeit Feedback zu Geschäftsrisiken geliefert, und so kann die Kontinuität im gesamten Unternehmen erhalten werden. Trotz der wertvollen Erkenntnisse, die aus dem Continuous Testing gewonnen werden, kann eine Vielzahl von Tests allein keine kontinuierliche Qualitätssteigerung gewährleisten.

Gibt es eine Continuous Quality in DevOps?

Das Problem ist, dass in DevOps keine Industrienorm für Continuous Quality festgelegt ist. DevOps wurde ursprünglich konzipiert, um qualitative hochwertige, modernisierte Software zu produzieren, die schneller zum User gelangt. Die „Qualität” ist dabei nicht klar definiert. Ein wesentlicher nächster Schritt ist es daher, einen Industriestandard zu entwickeln; insbesondere, wenn hochfunktionelle Systeme geliefert werden sollen, die die Benutzererfahrung berücksichtigen.

Wie kann man einen höheren Standard erreichen?

Es gibt zwei Wege zu einem höheren Standard: Entweder das Continuous Testing klarer definieren oder kollektiv auf Continuous Quality umstellen. Dabei handelt es sich um einen wichtigen Faktor in der nächsten Entwicklungsphase von DevOps.

Continuous Quality ist umfangreicher als Continuous Testing. Folgende Aspekte müssen daher bei dem Versuch einer industrieweiten Definition für Continuous Quality berücksichtigt werden:

  • Ein tiefes Verständnis für Geschäftsabläufe in der Produktion.
  • Die Notwendigkeit sachgerechter Angaben des Unternehmens.
  • Die Beachtung interner Auftraggeber und externer Kunden für Qualitätsmetriken.
  • Schwerpunkt auf Continuous Quality vom ersten Tag an.
  • Die Einbeziehung der Qualität in die Softwareentwicklung.
  • Das Projekt verfolgen, um Qualität in jeder Phase des SDLC einzubeziehen.
  • Tests von End-to-end-Geschäftsprozessen, nicht nur Single Service/Komponenten-Qualität.
  • Performance-Monitoring und -Optimierung während der gesamten Entwicklung und Produktion.

Wie definiert Ihr DevOps-Team derzeit Continuous Quality?

* Shoeb Javed ist als Chief Technology Officer bei Worksoft verantwortlich für Technologiestrategie, Softwareentwicklung, Qualitätssicherung und den Kundensupport für alle Worksoft-Lösungen. Als CTO arbeitet Shoeb gemeinsam mit Technologieexperten bei einigen der größten globalen Fortune-1000-Unternehmen daran, Projektlaufzeiten zu verkürzen sowie Qualität und Wirtschaftlichkeit zu steigern.

(ID:44882196)