Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa - Lammi, Mika Joonas (2024)
End-to-end testing (E2E Testing) of distributed and event-driven FaaS-applications is challenging because real cloud environments cannot be replicated locally and thus the tests need to be executed in the cloud. This thesis aims to investigate how end-to-end tests can be implemented for a distributed FaaS-application by implementing a working end-to-end testing framework for stakeholder organisation's application. The implementation is evaluated by functional and non-functional requirements set by the organisation and its functionality in practice is tested by using the framework to implement a real use case of the application as a test script. This thesis uses design science as a research method and the design science artifact will be the documentation of technologies and architectural decisions used in the implementation. In the final implementation, end-to-end tests are executed in an AWS CodeBuild-project in a long-term cloud environment. The implementation also supports concurrent test runs and mocking of external APIs. As a further development, a support for deployments of short-term environments could be added to the application, so that the end-to-end tests could be executed directly as a part of CI/CD execution process.