Icarus: A Testing-as-a-Service Utility for Serverless Functions
摘要
Testing serverless functions differs significantly from that of conventional software products. Their distributed nature and event-driven architecture make test development inherently complex. Further, the development of functions and their tests often relies on using tools and software development kits managed by cloud providers, resulting in minimal control over the test execution environment and a lack of debugging tools. As such, we have developed the Icarus RESTful, open-source Testing-as-a-Service tool with a transparent and predictable operation, supplying the user with full control over test creation and execution. Icarus does not burden the user with details of a function’s deployment across different providers, does not require the user to write any line of testing code and relies solely on using familiar open-source and well-known tools to automatically compose and execute functional and non-functional tests. Its experimental evaluation shows that it scales well with the user and workload increase, rapidly delivering test results to the user.