Integration Testing of Serverless Applications

Viele Cloudplattformanbieter bieten inzwischen Function as a Service (Faas) an, welches mit der Einführung von Amazons AWS Lambda im Jahr 2014 populär wurde. Diese Angebote basieren auf Serverless Functions, deren Zustandslosigkeit es erlaubt, sich ändernde Arbeitsaufkommen zu bewältigen, indem diese dynamisch skaliert werden. Da diese Funktionen vom Plattformanbieter verwaltet werden, können sich die Entwickler auf die Geschäftslogik konzentrieren und müssen sich über operationale Aspekte keine Gedanken mehr machen. Serverless Functions werden meist mit anderen Diensten kombiniert, um beispielsweise mit Hilfe einer Datenbank den Zustand der Anwendung zu sichern.
Die Interaktionen dieser Dienste mit Serverless Functions bringen komplexe Systeme hervor, deren Verhalten getestet werden muss.

Ziel dieses Projektes ist es, den Integrationstestprozess für Serverless Applications zu unterstützen. Während die Funktionen leicht isoliert getestet werden könne, gestaltet sich das Testen des durch die Integration der Serverless Functions entstehenden Verhaltens aufgrund der Komplexität des Systems schwieriger. Deswegen müssen die relevanten Aspekte einer Anwendung modelliert werden, um die Erstellung von Testfällen zu unterstützen. Überdeckungskriterien sollen erstellt werden und hinsichtlich ihrer Anwendbarkeit überprüft werden. Außerdem soll die automatisierte Testfallerstellung für Serverless Applications unterstütz werden.