Plattformübergreifende Qualitätssicherung

Ausgangssituation

Die Develappers GmbH ist im Bereich der Softwareentwicklung in heterogenem technologischen Umfeld tätig und hat sich darauf spezialisiert, sowohl anspruchsvolle und verteilte Serverapplikationen als auch mobile Anwendungen aus einer Hand zu entwickeln. Durch die hohe Komplexität und Innovationsgeschwindigkeit müssen kurze Entwicklungs- und Updatezyklen mit hohen Qualitätsanforderungen vereint werden.

Besonders im Umfeld moderner mobiler Endgeräte müssen selbst innerhalb eines Projektes ähnliche Softwareprodukte i.d.R. parallel in mehreren unterschiedlichen Technologien entwickelt werden. Die Ausführung automatisierter Tests zur Qualitätssicherung, die regelmäßige Veröffentlichung von Testversionen an bestimmte Nutzergruppen aber auch die Auslieferung neuer Versionen an die Endkunden müssen für jede Technologie mit unterschiedlichen und zeitaufwendigen Prozessen in regelmäßiger Wiederholung durchgeführt werden.

Es existieren am Markt bereits technologiespezifische Ansätze um einzelne Teile dieser Arbeitsvorgänge effizienter zu gestalten oder zu automatisieren. In der Praxis wenden Softwareentwickler im heterogenen mobilen Umfeld dennoch einen erheblichen Teil ihrer Arbeitszeit mit sich wiederholenden, administrativen Tätigkeiten auf. Im Gegensatz zu ‚herkömmlicher‘ Softwareentwicklung (z.B. Webanwendungen, Desktop-Anwendungen) sind für die Entwicklung von Apps zudem zahlreiche zusätzliche Arbeitsschritte notwendig. Dazu zählen unter anderem die Aktualisierung von Profilen und Zertifikaten, die Registrierung von Testanwendern in den Portalen der Plattformbetreiber oder die Erstellung von Screenshots für zahlreiche Gerätetypen als Voraussetzung für die Veröffentlichung.

Woran arbeiten wir?

Mit Unterstützung durch die Europäische Union und dem Freistaat Sachsen sollen Methoden zur Qualitätssicherung und Effizienzsteigerung im Bereich der Softwareentwicklung mit breitbandigen Technologien untersucht, prototypisch umgesetzt und in der Praxis erprobt werden. Der Fokus liegt hierbei auf Abstraktion der technologiespezifischen Arbeitsschritte zu einem System, welches sich gleichermaßen auf alle relevanten Plattformen anwenden lässt.

Im Rahmen des auf 30 Monate angesetzten Vorhabens sollen die zeitintensiven, sich wiederholenden Arbeitsschritte aufgenommen, im Detail analysiert und vergleichbare Arbeitsschritte plattformübergreifend identifiziert werden. Durch Kombination und Verkettung verschiedener Werkzeuge und, falls erforderlich, Entwicklung eigener Tools, wird ein System angestrebt, welches ohne spezielles Technologiewissen plattformübergreifend für die zeitaufwendigen Prozesse für die mobilen Plattformen (iOS, Android, Windows 10) einsetzbar ist.

Durch Verwendung zeitgemäßer Build- bzw. Continuous Integration – Server als Systemgrundlage, können auch die automatisierten Tests in den Prozess eingebunden und deren korrekte Ausführung als Voraussetzung für die Freigabe zur Veröffentlichung genutzt werden. Durch die Abstraktion der spezifischen Abläufe in einem einheitlichen / gemeinsamen System wird eine weitere Effizienzsteigerung unserer Entwickler sowie eine bessere Verteilung von Zuständigkeiten angestrebt.