~/talk

Serverless - how to speed up tests over 300 times?

slides:none on file

Claim: run hundreds of browser tests in parallel on AWS Lambda to cut a 500-test Selenium suite of ~20s tests from ~3 hours to about 30s and cost roughly $0.17 per full run. Implementation uses AWS Lambda with 500 concurrent functions, Lambda Layers to package Chromium and chromedriver (decompress to /tmp), a Python runner invoking via SDK (request/response then switch to event + DynamoDB for results), CloudWatch, S3 artifacts and limits like the 15-minute execution cap.

AI-written summary · about

  1. 0:00Start
  2. 0:39Why do we execute E2E regression tests?
  3. 1:23Problem: time
  4. 1:50Solution: automation
  5. 2:28Execution speed?
  6. 2:41Faster feedback: Faster delivery
  7. 2:55So... we automate tests
  8. 3:46And then... Test set grows...
  9. 4:40How to solve it this time?
  10. 5:27Tests Pyramid: more low level tests?
  11. 5:47Less frequent builds?
  12. 6:08More compute resources?
  13. 7:42Real solution: Cloud
  14. 8:12Parallel test execution
  15. 9:35AWS Lambda initial concurrency: 500-3000
  16. 10:02Lambda Layers
  17. 10:47Serverless Framework + AWS Lambda
  18. 21:02runner.py
  19. 27:45Full Test set (500 tests): about 30 seconds
  20. 28:22Execution cost: $0.17
  21. 28:53PoC: a few hundred lines of code
  22. 30:09Lambda invoke: event
  23. 30:34Test execution state storage
  24. 31:33How to extend this poC?
  25. 33:32Cloud is powerful
  26. 34:11DevOps Methodology
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.