Mit der Cloud zu besserer Software-Qualität

Interview: CI als Standard

von - 31.03.2017
Tim Felgentreff
Tim Felgentreff: Doktorand am Hasso-Plattner-Institut der Universität Potsdam
Tim Felgentreff ist Doktorand am Fachgebiet für Software-Architekturen am Hasso-Plattner-Institut der Universität Potsdam. com! professional erklärt er, warum Unternehmen ­Continuous Integration einsetzen sollten und was sie beachten müssen.
com! professional: Herr Felgentreff, Sie beschäftigen sich unter anderem mit den Prozessen und Werkzeugen der Software-Programmierung. Welche Rolle spielt dabei Continuous Integration?
Tim Felgentreff: Continuous Integration ist ein wichtiger Teil des Programmierprozesses. Es stellt sicher, dass vor dem Einchecken eines Codes alle notwendigen Tests ausgeführt und die Ergebnisse strukturiert dokumentiert werden. Nur gründlich und regelmäßig getestete Software bietet die Sicherheit, dass bestehende Features nach Code-Änderungen erhalten bleiben und neue Funktionen wie beabsichtigt arbeiten.
com! professional: Für welche Projekte ist Continuous Integra­tion hauptsächlich zu empfehlen?
Felgentreff: Besonders wertvoll ist es in Projekten, bei denen sich das Entwicklerteam oft ändert. Ein neues Teammitglied kann anhand der CI-Dokumentation sehr schnell erkennen, wie variabel und wie stabil der Code ist. Continuous Integration ist aber nicht nur ein Indikator für die Software-Stabilität, sondern dokumentiert auch die Verfahrensschritte, die ein neuer Entwickler durchführen muss, um an dem Projekt mitzuwirken.
com! professional: Gibt es Fälle, in denen Continuous Integra­tion weniger sinnvoll ist?
Felgentreff: Wenn ein Projekt ohnehin nicht weitergeführt werden soll, etwa weil nur ein Prototyp entwickelt wird, ist es vielleicht nicht der Mühe wert, ein CI-System aufzusetzen.
com! professional: Setzt Continuous Integration zwingend eine agile Software-Entwicklung voraus?
Felgentreff: Nein, Continuous Integration ist nicht an die agile Software-Entwicklung gebunden. Allerdings kann es in manchen Entwicklungsmodellen schwieriger sein, CI einzusetzen, wenn dort Tests erst in einem späteren Entwicklungsstadium vorgesehen sind oder sogar von einem separaten Team durchgeführt werden. Prinzipiell ist CI aber für jedes Entwicklungskonzept geeignet.
com! professional: Welche Vorteile bieten cloudbasierte CI-Systeme?
Felgentreff: Sie entlasten die Entwickler ein Stück weit von Verwaltungsaufgaben. Man muss sich etwa nicht darum kümmern, Sicherheitslücken zu schließen.
com! professional: Worauf ist bei der Wahl einer CI-Lösung aus der Cloud zu achten?
Felgentreff: Zunächst ist zu überprüfen, ob ich den Code auf die Cloud-Server transferieren kann. Manche Software darf Deutschland oder den europäischen Rechtsraum nicht verlassen. Es sind auch Abhängigkeiten zu beachten: Es nutzt nichts, wenn notwendige Hilfssysteme, etwa proprietäre Datenbanken, nicht in der Cloud laufen.
com! professional: Gibt es weitere Kriterien, die man bei der Auswahl eines Cloud-CI-Systems beachten sollte?
Felgentreff: Ein wichtiger Aspekt ist die Plattformunterstützung. Die meisten CI-Dienste bieten nur eine eingeschränkte Auswahl an Testumgebungen, etwa nur Linux oder Windows.
com! professional: Was kann ich tun, wenn ich Systeme testen muss, die von der Cloud-Plattform nicht unterstützt werden?
Felgentreff: Viele verwenden dann einfach mehrere CI-Cloud-Systeme gleichzeitig. So kann man etwa Travis CI, das Mac OS und Ubuntu Linux unterstützt, gut parallel zu AppVeyor nutzen, das ähnliche Funktionen für Windows-Umgebungen bietet.
com! professional: Gibt es weitere Kriterien, die eine Nutzung von Continuous Integration aus der Cloud erschweren?
Felgentreff: Ein Problem tritt oft auf, wenn man spezifisch das Laufverhalten auf unterschiedlichster Hardware testen will. Bei iOS mag das noch gehen, weil die Gerätevielfalt gering ist, bei Android etwa ist das komplexer. Cloud-Provider bieten in der Regel dafür nur wenige virtuelle Prototypen an. Wenn die Software auf unterschiedlichen Systemkonfigurationen oder Hardware laufen soll, ist eine Cloud-Lösung weniger geeignet.
Verwandte Themen