Varuna Srivastava

ThoughtWorks | Canada

BIO: Varuna is a technical tester who’s worked on award-winning projects across a wide variety of technology sectors ranging from retail, travel, financial and the public sector; working with various web, mobile, and IoT technologies. Varuna is a passionate advocate of shipping quality code to production using Agile practices.

When not working, Varuna likes to get her hands dirty on experimenting on her culinary skills. Most of her weekends are spent in C()()kgraphy i.e. Cooking + Photography!

TALK: Improving test run time moving to AWS Lambda

Session level: intermediate

Over time, we had created a significant set of Selenium tests which we were running over a Selenium Grid. The runtime had reached five hours, and we were feeling the pain in the feedback delays which revealed the need for parallel execution. Previously, we used the Selenium Grid Docker container for each test run. This way, we were able to run 5 concurrent threads for test execution, which took an average of 45 minutes. We had to scale test but we couldnot run more than 5 concurrent tests as the containers hit performance issues and we had a hard time getting reliable tests outcome.

AWS Lambda is a way of buying compute time as a service in the cloud. In this talk, I will explain how we started with a very small suite of five tests to first build the AWS Lambda infrastructure, learn to use the tools of working in the new environment and achieve reliability of the test runs over a timeframe of 45 days. I will walk you through how we selected to move all tests in featurebased batches, with a continuous focus on the reliability of the tests. I will explain from our challenges on the way to now run all our tests within the timeframe of the longest.

Takeaways

  • How to get started with writing the first Lambda function
  • How to make your existing test run a part of Lambda
  • How to set up infrastructure in AWS to run tests there.