• de
  • en
  • Agiles Testmanagement trifft auf DevOps

    Agiles Testmanagement trifft auf DevOps

    Die Prozesse in der Softwareentwicklung stehen niemals still. Immer wieder entstehen neue Ansätze und Trends, die mehr Effizienz, höhere Qualität oder auch häufigere Releases mit sich bringen sollen. Zwei dieser Entwicklungen haben im Laufe der Zeit den Status „Trend“ verlassen und sind zu einem festen Bestandteil in vielen Projekten geworden. Sowohl die agile Entwicklung als auch DevOps sind in der modernen Softwareentwicklung fest verankert und stehen für eine neue Form der Zusammenarbeit.
    Doch welche Vorteile entstehen eigentlich durch diese neuen Methoden? Um das besser zu verstehen, schlüsseln wir den Begriff DevOps zunächst etwas auf um anschließend zu zeigen, warum agiles Testmanagement in diesem Zusammenhang eine wichtige Rolle spielt.

    DevOps: Integration von der Entwicklung bis zum Vertrieb

    Der Begriff DevOps wird in der modernen Softwareentwicklung sehr häufig verwendet. Doch was versteht man eigentlich grundsätzlich darunter? Ganz eindeutig zu beantworten ist diese Frage nicht, denn es existieren unterschiedliche Interpretationen und Definitionen. Ganz allgemein kann man aber sagen, dass DevOps als Ansatz zur Prozessverbesserung gesehen werden kann, der einen Wandel in der Unternehmenskultur darstellt. Durch gemeinsame Prozesse und einheitliche Tools soll effektivere und effizientere Zusammenarbeit ermöglicht werden. Im Bereich der Softwareentwicklung heißt das also: Enge Vernetzung zwischen Planung, Entwicklung, Testing und Vertrieb.
    Ableiten lässt sich aus dieser Definition, dass auch die Qualitätssicherung von Anfang an fester Bestandteil des Entwicklungsprozesses sein muss. Schon bei der Erstellung der Anforderungen sollten entsprechende Testfälle angelegt werden. Agile Methoden im Projektmanagement sorgen zusätzlich dafür, dass auch die Entwicklung mit dem Anforderungsmanagement vertraut ist.

    Der Weg zur kontinuierlichen Entwicklung

    Einzelne Begriffe oder Prozesse, die dem Thema DevOps untergeordnet sind, lauten Continuous -Integration, -Testing und -Delivery. Diese modernen Arbeitsmethoden in der Softwareentwicklung bauen aufeinander auf. Continuous Integration beschreibt einen Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung. Beim Testing werden ebenso kontinuierlich Testfälle in diesen Prozess integriert, die eine hohe Qualität der Software bereits im Entwicklungsprozess garantieren. Es ist also nicht nur jederzeit ein aktueller Stand verfügbar, sondern ein tatsächlich funktionierender Stand. Continuous Delivery schließlich beschreibt die Möglichkeit, dem Nutzer jederzeit eine aktuelle, fehlerfreie Version der Software zur Verfügung stellen zu können.
    DevOps umfasst all diese Bereiche und stellt in der Gesamtheit das Zusammenspiel zwischen allen Abteilungen, die am Entwicklungsprozess beteiligt sind, dar.

    Agiles Testmanagement als Teil des Prozesses

    Wie zuvor bereits festgestellt, spielt auch das agile Testing beim Thema DevOps eine entscheidende Rolle. Sowohl Tester als auch Entwickler sind auf schnelles und direktes Feedback angewiesen, um die Software jederzeit fehlerfrei und in aktueller Version bereitstellen zu können. Besonders wichtig ist hierfür ist eine gute Implementation des Testings in die „DevOps-Pipeline“. Es muss jederzeit sichergestellt sein, dass Deployments vor der Auslieferung alle Tests erfolgreich durchlaufen haben.
    Eine Voraussetzung dafür ist, dass neben einer guten Testabdeckung auch auf die Geschwindigkeit der Tests Wert gelegt wird. Vor allem automatisierte Tests spielen in diesem Zusammenhang eine wichtige Rolle. Ganz auf das manuelle Testen verzichten kann man aber trotzdem nicht, denn nicht alle Tests sind automatisierbar. Es kommt also darauf an, verschiedene Testarten optimal miteinander kombinieren und in den Entwicklungsprozess integrieren zu können. Dafür bietet sich ein ganzheitliches Testmanagement Tool an, welches die verschiedenen Tests orchestrieren und die Ergebnisse zentral zusammenfassen kann.

    Herausforderungen an die Qualitätssicherung

    Zusammenfassend wird klar, dass Testmanagement unter DevOps Ergebnisse dann liefern muss, wenn sie gebraucht werden. Das ist grundsätzlich nur möglich, wenn die Tests in einen agilen Entwicklungsprozess integriert sind und das Testmanagement selbst somit agilen Mustern folgt.
    Neben der bereits angesprochenen Integration in die DevOps-Pipeline und der Orchestrierung der verschiedenen Testarten, ist schlussendlich auch der Überblick über das Projekt, also die Transparenz, ganz entscheidend. Diese ist nur gegeben, wenn alle Daten an zentraler Stelle verwaltet werden und eine optimale Auswertung, Analyse und Steuerung des Projekts und der QS stattfinden kann. Auch an dieser Stelle ist ersichtlich, dass ein ganzheitliches Tool für die agile Entwicklung ein entscheidender Faktor ist.
    Insgesamt ist festzustellen, dass die Anforderungen an das gesamte Team mit der Agilität und Methoden wie DevOps steigen, dafür aber große Vorteile entstehen. Waren mit konservativen Methoden wie dem Wasserfall Modell neue Software Releases nur selten möglich, können Updates jetzt in kürzester Zeit ausgeliefert werden.

    aqua cloud GmbH | Scheidtweilerstr. 4 | 50933 Köln |