docker в автоматизации тестирования
TRANSCRIPT
![Page 1: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/1.jpg)
1CONFIDENTIAL
Docker in automated testing
November 6, 2016
![Page 2: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/2.jpg)
2CONFIDENTIAL
SPEAKER NAME
Andrei Varabyeu
EPAM Systems, Solution Architect
Architect and Key Developer of ReportPortal 5 years with EPAM and 7 years in ITAreas: Software Development and Automated TestingTechnologies: JVM-based stack
![Page 3: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/3.jpg)
3CONFIDENTIAL
• Why containers?• Problems they solve• Automated testing perspective
AGENDA
![Page 4: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/4.jpg)
4CONFIDENTIAL
• How to use docker (CLI, docker-compose) • Dockerfiles• Docker networking
NOT NOW
![Page 5: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/5.jpg)
5CONFIDENTIAL
Why?
![Page 6: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/6.jpg)
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
![Page 7: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/7.jpg)
7CONFIDENTIAL
Problem: Tester’s perspective
STAG
ING
![Page 8: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/8.jpg)
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
![Page 9: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/9.jpg)
9CONFIDENTIAL
Welcome to Hell
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Source: http://www.slideshare.net/dotCloud/why-docker
![Page 10: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/10.jpg)
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
![Page 11: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/11.jpg)
11CONFIDENTIAL
Malcom McLean
![Page 12: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/12.jpg)
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
![Page 13: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/13.jpg)
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
![Page 14: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/14.jpg)
14CONFIDENTIAL
Docker is a shipping container system for code
Development VM QA
serverPublic Cloud
Contributor’s laptopProduction
ClusterCustomer Data
Center
Static website
User DB
Analytics DB
Queue
Web frontend
DevOps: Configure Once, Run Anything
Developer/QA: Build Once, Run Anywhere
Source: http://www.slideshare.net/dotCloud/why-docker
![Page 15: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/15.jpg)
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
![Page 16: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/16.jpg)
16CONFIDENTIAL
Docker vs Virtual Machine
Source: https://www.docker.com/what-docker
![Page 17: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/17.jpg)
17CONFIDENTIAL
Docker container anatomy
![Page 18: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/18.jpg)
18CONFIDENTIAL
Docker: how to build selenium server
Docker
![Page 19: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/19.jpg)
19CONFIDENTIAL
How?
![Page 20: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/20.jpg)
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
![Page 21: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/21.jpg)
21CONFIDENTIAL
Automation perspective
Tests
App 1 App 2
Docker
REST API
API Clientdocker-compose CLI
![Page 22: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/22.jpg)
22CONFIDENTIAL
Fresh Environment Scenario
[PRE] Deploy Test
[POST] Shutdow
n
Wait until SUT is UP
![Page 23: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/23.jpg)
23CONFIDENTIAL
Disaster Recovery Scenario
[PRE] Deploy
Check
Shutdown smth
Check
[POST] Shutdow
n
![Page 24: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/24.jpg)
24CONFIDENTIAL
DVT Tests
Gateway / Load Balancer
UI Service
API Service
XXX Service…
API Service
[2]
Internal Network
DVTTests
![Page 25: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/25.jpg)
25CONFIDENTIAL
Availability Tests
Gateway / Load Balancer
UI Service
API Service
XXXService…
API Service[2
]
![Page 26: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/26.jpg)
26CONFIDENTIAL
Thank you!
![Page 28: Docker в автоматизации тестирования](https://reader033.vdocuments.mx/reader033/viewer/2022051709/5872910e1a28ab36118b6331/html5/thumbnails/28.jpg)
28CONFIDENTIAL
THANKYOU