CONTINOUS DELIVERY FÜR MEHR EFFIZIENZ IN DER SOFTWAREENTWICKLUNG
CONTINOUS DELIVERY FÜR MEHR EFFIZIENZ IN DER SOFTWARE-
ENTWICKLUNG
In den letzten Jahren wurde der Bereich der Software-Entwicklung und -Programmierung in verschiedenen Bereichen erweitert und verbessert. Während die klassische und Phasen-basierte Programmierung immer mehr ins Hintertreffen gerät, wird dem sogenannten Continuous Delivery ein weitaus höherer Stellenwert zugeordnet. Vor allem bei der Programmierung und Bereitstellung von individuellen Softwarepaketen für Unternehmen ist Continuous Delivery enorm beliebt.
GRUNDLAGEN DER SOFTWAREENTWICKLUNG
Lange Zeit wurde Software nach einem festgelegten Muster entwickelt. Nach Abschluss der oftmals lang andauernden Entwicklungsphase wurde die Software aufwändigen Tests unterzogen, ehe die Software als installationsfähig freigegeben wurde. Dieser Prozess wurde sowohl bei einer Neuprogrammierung als auch bei einer Versionsänderung beinahe unverändert eingesetzt.
In der heutigen Zeit ist es jedoch notwendig geworden, Änderungen an der Software schneller und vor allem direkter durchführen und diese anschließend ausliefern zur können. Es wird somit ein inkrementell-iteratives Vorgehen bevorzugt, bei welchem jede Änderung an der Software direkt getestet und in eine installationsfähige Version umgewandelt werden kann. In einer normalen und althergebrachten Entwicklungsumgebung würde der Bereich der Qualitätssicherung schnell den gesamten Prozess verlangsamen und dahingehend aufhalten. Also muss bei Continuous Delivery eine im höchsten Maße automatisierte Testumgebung, die Continuous Delivery Pipeline, eingerichtet werden, bei welcher die jeweiligen Versionen der Software automatisch und in verschiedenen Stufen getestet werden. Diese oftmals radikal erscheinende Automatisierung kann zusätzlich durch manuelle Tests und Freigaben erweitert und somit an die jeweilige Software und ihre Ansprüche angepasst werden.
VERSIONSTEST IN MEHREREN STUFEN
In der Continuous Delivery Pipeline wird jede Änderung an der Software direkt in das System eingespeist. Schließlich ist das Ziel, dass jede Änderung an der Software im Idealfall innerhalb kürzester Zeit als lauffähige Software für den Kunden zur Verfügung steht. Wird somit eine Änderung an der Software in die Continuous Delivery Pipeline eingespeist, beginnt sofort die Validierung der Software in verschiedenen Test-Ebenen.
Es erfolgen unter anderem
- Unit Tests zur Überprüfung der einzelnen Software-Komponenten und ihrer Funktionen
- Akzeptanztests zur Validierung der erforderlichen Akzeptanzkriterien
- Performance- und Leistungstests, um die nichtfunktionalen Bestandteile der Software-Komponenten zu überprüfen
- verschiedene manuelle Tests, welche abhängig von der Software und deren Funktionen bestimmt werden können.
All diese Tests erfolgen zum größten Teil automatisiert und in mehreren Stufen. Es wird das Prinzip von “stop the line” verwendet. Kommt es in einem Test zu Problemen, wird die Software automatisch gestoppt und nicht in der nächsten Stufe weiter getestet. Ein direktes Feedback an die Entwickler über verschiedene Lösungen ist in die Continuous Delivery Pipeline ebenfalls integriert. Je weiter es die jeweilige Software durch die Entwicklungs- und Test-Pipeline schafft, umso sicherer kann sich der Entwickler ob des Erfolgs der Software werden.
OPTIMALE ENTWICKLUNG DURCH KONTINUIERLICHES FEEDBACK
Innerhalb der Continuous Delivery Pipeline durchläuft die aktuelle Software mit jedem Schritt und jeder neuen Version automatisch die verschiedenen Unit und Acceptance Tests und Test-Stufen. Die Ergebnisse der Tests werden mit jedem Test und jedem Schritt automatisiert an den zuständigen Entwickler übermittelt. So erhält dieser immer ein direktes Feedback zur eigenen Arbeit und kann die Ergebnisse der Tests in die nächste Entwicklung mit einfließen lassen. Darüber hinaus kann der Entwickler bei Fehlern sofort feststellen, bei welchem Entwicklungsschritt diese aufgetreten sind, was die Behebung von Fehlern und deren Identifikation deutlich verbessert.
WELCHE VORTEILE BRINGT CONTINOUS DELIVERY DEM ENDKUNDEN?
Dank der sehr schnellen Entwicklungsarbeit profitieren Kunden von Continuous Delivery in höchstem Maße. Dringende Änderungen können innerhalb kürzester Zeit in das aktive System übernommen und eingepflegt werden. Doch auch Neuentwicklungen und Erweiterungen lassen sich schnell einbauen, um neue Funktionen anzubieten und ein Feedback der Kunden zu erhalten. Somit wird die Entwicklung deutlich effizienter und für den Kunden nochmals attraktiver.
Haben Sie BEDARF IM BEREICH SOFTWARE-TESTING?
Sprechen Sie uns an! Wir bieten Ihnen Testing-Lösungen aus einer Hand.