Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Think Inside Container

533 views

Published on

his talk will demonstrate how to leverage the container technology to solve the challenges of scaling a reliable testing infrastructure and continuous delivery for selenium and other testing tools,

Published in: Internet
  • Be the first to comment

Think Inside Container

  1. 1. THINK INSIDE CONTAINER RELIABLE AND SCALABLE INFRASTRUCTURE FOR SELENIUM TESTS IRFAN AHMAD @notimewaste
  2. 2. OUTLINE Why? Wat? Why ? Why ? Why ? Why? What? Really? How? What Next?
  3. 3. WHY THIS TALK … ship tests as containers, not code.
  4. 4. WHY SHOULD WE CARE…. power lies in “packaging”
  5. 5. WHY ? CHALLENGES IN TESTING & DELIVERY
  6. 6. WHY WE FAIL TO TEST? 45% 18% 2% 35% Unreliable Tests Infra. Unreliable Tests Ineffective Tests Not needed
  7. 7. MATRIX FROM HELL - SHIP GOODS?
  8. 8. MATRIX FROM HELL - SHIP SOFTWARE?
  9. 9. CONTAINERS TO RESCUE
  10. 10. WHAT ? CONTAINERS
  11. 11. AN APPLICATION, PLUS ALL ITS DEPENDENCIES, LIBRARIES AND OTHER BINARIES, AND CONFIGURATION FILES NEEDED TO RUN IT, BUNDLED INTO ONE PACKAGE. WHAT ARE CONTAINERS? AN ENTIRE ISOLATED PORTABLE RUNTIME ENVIRONMENT
  12. 12. LIFE BEFORE/AFTER CONTAINERS CONFIG VAGRANT JENKINS CHEF DEV TEST LIVE CODE CONFIG CODE CONTAINER DEV TEST LIVE container becoming a “unit of exchange”
  13. 13. DOCKER ▸ Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
  14. 14. DOCKER HUB https://hub.docker.com/r/selenium/hub/
  15. 15. CONTAINERS VS VM .
  16. 16. DOCKER : BASIC WORKFLOW
  17. 17. DOCKER: UNDERSTANDING BASIC WORKFLOW DOCKER RUN LOOKS FOR LOCAL IMAGES PRESENT? LOOKS REGISTRY FOR IMAGES NO AVAILABLE ? DOWNLOADS THE IMAGE IMAGE INSTALLED LOCALLY CREATES NEW CONTAINER AND STARTS CONTAINER IS RUNNING YES YES NO EXIT
  18. 18. REALLY? LETS - SEE DEMO https://www.youtube.com/watch?v=KH5egcHe4UU
  19. 19. HOW? CONTAINERISE YOUR STACK
  20. 20. 1.INSTALL DOCKER (ONLY) docker for mac / windows docker toolbox docker engine for linux
  21. 21. 2.WRITE DOCKERFILE ▸ configuration file with build instructions for Docker images
  22. 22. 3.WRITE COMPOSE ▸ Compose is a tool for defining and running multi-container Docker applications
  23. 23. SIMPLE VOTING APP : APP UNDER TEST ▸ Simple Real Time voting app ▸ Runs with Docker Compose and multiple containers in network
  24. 24. VOTING APP : COMPONENTS
  25. 25. Deliver below tests as container to test Voting app 1.API 2.Web 3.Web with Selenium Grid PROBLEM STATEMENT
  26. 26. SOLUTION - TESTING AS CONTAINERS VOTING APP REDIS RESULT APP WORKER DATABASE SE. HUB CHROME FIREFOX CHROME FIREFOX CHROME FIREFOX TESTSTACK APPIUM
  27. 27. REALLY? LETS - LIVE DEMO https://www.youtube.com/watch?v=kXlS69PXX68
  28. 28. WHAT NEXT? CONAINERISE EVERYTHING
  29. 29. TRY A SIMPLE CI WORKFLOW
  30. 30. Q & A THANK YOU Available - For Hands On Github https://github.com/irfanah/TestStack https://github.com/irfanah/example-voting-app Docker hub https://hub.docker.com/u/irfanah/ IRFAN AHMAD Email irfan@critick.io Web http://critick.io Twitter @notimewaste Github irfanah

×