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

28
1 CONFIDENTIAL Docker in automated testing November 6, 2016

Upload: comaqaby

Post on 16-Apr-2017

438 views

Category:

Technology


5 download

TRANSCRIPT

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

1CONFIDENTIAL

Docker in automated testing

November 6, 2016

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

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 в автоматизации тестирования

3CONFIDENTIAL

• Why containers?• Problems they solve• Automated testing perspective

AGENDA

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

4CONFIDENTIAL

• How to use docker (CLI, docker-compose) • Dockerfiles• Docker networking

NOT NOW

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

5CONFIDENTIAL

Why?

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

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 в автоматизации тестирования

7CONFIDENTIAL

Problem: Tester’s perspective

STAG

ING

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

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 в автоматизации тестирования

9CONFIDENTIAL

Welcome to Hell

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Source: http://www.slideshare.net/dotCloud/why-docker

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

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 в автоматизации тестирования

11CONFIDENTIAL

Malcom McLean

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

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 в автоматизации тестирования

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 в автоматизации тестирования

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 в автоматизации тестирования

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 в автоматизации тестирования

16CONFIDENTIAL

Docker vs Virtual Machine

Source: https://www.docker.com/what-docker

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

17CONFIDENTIAL

Docker container anatomy

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

18CONFIDENTIAL

Docker: how to build selenium server

Docker

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

19CONFIDENTIAL

How?

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

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 в автоматизации тестирования

21CONFIDENTIAL

Automation perspective

Tests

App 1 App 2

Docker

REST API

API Clientdocker-compose CLI

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

22CONFIDENTIAL

Fresh Environment Scenario

[PRE] Deploy Test

[POST] Shutdow

n

Wait until SUT is UP

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

23CONFIDENTIAL

Disaster Recovery Scenario

[PRE] Deploy

Check

Shutdown smth

Check

[POST] Shutdow

n

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

24CONFIDENTIAL

DVT Tests

Gateway / Load Balancer

UI Service

API Service

XXX Service…

API Service

[2]

Internal Network

DVTTests

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

25CONFIDENTIAL

Availability Tests

Gateway / Load Balancer

UI Service

API Service

XXXService…

API Service[2

]

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

26CONFIDENTIAL

Thank you!

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

27CONFIDENTIAL

CONTACT ME

[email protected]

andrei.varabyeu

avarabyeu

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

28CONFIDENTIAL

THANKYOU