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.

Docker в автоматизации тестирования

837 views

Published on

Docker в последняя время набрал огромную популярность как инструмент разработчиков и DevOps-специалистов, но все ещё не так активно используется для автоматизированного тестирования. Во время воркшопа я поделюсь несколькими сценариями, когда Docker может помочь автоматизировать то что ранее считалось непригодным к автоматизации. Также, мы попробуем создать свой собственный образ и запустить несколько контейнеров используя docker-compose.

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Docker в автоматизации тестирования

  1. 1. 1CONFIDENTIAL Docker in automated testing November 6, 2016
  2. 2. 2CONFIDENTIAL SPEAKER NAME Andrei Varabyeu EPAM Systems, Solution Architect Architect and Key Developer of ReportPortal 5 years with EPAM and 7 years in IT Areas: Software Development and Automated Testing Technologies: JVM-based stack
  3. 3. 3CONFIDENTIAL • Why containers? • Problems they solve • Automated testing perspective AGENDA
  4. 4. 4CONFIDENTIAL • How to use docker (CLI, docker-compose) • Dockerfiles • Docker networking NOT NOW
  5. 5. 5CONFIDENTIAL Why?
  6. 6. 6CONFIDENTIAL –Engineers need to spend time on setting up local environment which is not productive –Setting up new environment is expensive –Integration problems with different Operating Systems –Building different app packs for different environments Environment problems
  7. 7. 7CONFIDENTIAL Problem: Tester’s perspective STAGING
  8. 8. 8CONFIDENTIAL Welcome to Hell Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Source: http://www.slideshare.net/dotCloud/why-docker
  9. 9. 9CONFIDENTIAL Welcome to Hell ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Source: http://www.slideshare.net/dotCloud/why-docker
  10. 10. 10CONFIDENTIAL 1950x: Cargo Hell Multiplicity of goods Multipilicity of methods for transporting/storing Do I worry about how goods interact (e.g. coffee beans next to spices) Can I transport quickly and smoothly (e.g. from boat to train to truck) Source: http://www.slideshare.net/dotCloud/why-docker
  11. 11. 11CONFIDENTIAL Malcom McLean
  12. 12. 12CONFIDENTIAL Solution: Intermodal Shipping Container …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery. Source: http://www.slideshare.net/dotCloud/why-docker
  13. 13. 13CONFIDENTIAL Malcom McLean • Massive reduction in losses due to theft or damage • Huge reduction in freight cost as percent of final goods (from >25% to <3%) • 90% of all cargo now shipped in a standard container • Order of magnitude reduction in cost and time to load and unload ships Source: http://www.slideshare.net/dotCloud/why-docker
  14. 14. 14CONFIDENTIAL Docker is a shipping container system for code Development VM QA server Public Cloud Contributor’s laptopProduction Cluster Customer Data Center Static website User DB Analytics DBQueueWeb frontend DevOps: Configure Once, Run Anything Developer/QA: Build Once, Run Anywhere Source: http://www.slideshare.net/dotCloud/why-docker
  15. 15. 15CONFIDENTIAL What it means? Engineer can setup environment and start creating the value within 5 minutes Each Engineer. You don’t need to be an expert in DevOps
  16. 16. 16CONFIDENTIAL Docker vs Virtual Machine Source: https://www.docker.com/what-docker
  17. 17. 17CONFIDENTIAL Docker container anatomy
  18. 18. 18CONFIDENTIAL Docker: how to build selenium server Docker
  19. 19. 19CONFIDENTIAL How?
  20. 20. 20CONFIDENTIAL Automation perspective • Start fresh environment • Test Initial Scripts • Test DB Update Scripts • Perform disaster recovery testing • Perform DVT tests • Easy access to application logs
  21. 21. 21CONFIDENTIAL Automation perspective Tests App 1 App 2 Docker REST API API Client docker-compose CLI
  22. 22. 22CONFIDENTIAL Fresh Environment Scenario [PRE] Deploy Test [POST] Shutdown Wait until SUT is UP
  23. 23. 23CONFIDENTIAL Disaster Recovery Scenario [PRE] Deploy Check Shutdown smth Check [POST] Shutdown
  24. 24. 24CONFIDENTIAL DVT Tests Gateway / Load Balancer UI Service API Service XXX Service… API Service [2] Internal Network DVT Tests
  25. 25. 25CONFIDENTIAL Availability Tests Gateway / Load Balancer UI Service API Service XXX Service… API Service[2]
  26. 26. 26CONFIDENTIAL Thank you!
  27. 27. 27CONFIDENTIAL CONTACT ME andrei_varabyeu@epam.com andrei.varabyeu avarabyeu
  28. 28. 28CONFIDENTIAL THANK YO U

×