Docker - fast dev faster testing

18
Docker fast dev faster testing

Transcript of Docker - fast dev faster testing

Page 1: Docker - fast dev faster testing

Dockerfast dev faster testing

Page 2: Docker - fast dev faster testing

Why this enthusiasm?

Page 3: Docker - fast dev faster testing

This means...

37 vs. 536

Running on a 16 gb ram server...

Page 4: Docker - fast dev faster testing

Also...

Page 5: Docker - fast dev faster testing

Integration tests1. First level of testing that validates layers /

integration between them2. Perhaps the most valuable tests for dev3. Runs in mins4. Environment is smaller, controlled than a E2E5. Runs on every developer laptop

Page 6: Docker - fast dev faster testing

Component Under TestTest

Dependency A

Mocked Dependency

B

Integration test anatomy

Layer1 Layer2 JBoss DB

Page 7: Docker - fast dev faster testing

But there are many many challenges….

Page 8: Docker - fast dev faster testing

It works only on my machine!

Page 9: Docker - fast dev faster testing

They are too slow to run

Page 10: Docker - fast dev faster testing

Why so slow?

Infrastructure / deployment Execution

99% 1%

Page 11: Docker - fast dev faster testing

DBJboss

A proposal: Docker images

Cache

Network Simulator

Page 12: Docker - fast dev faster testing

Better integration testsFaster setup, easier to develop ⇒ test cycle.

Everything runs on your laptop, but everything is disposable: when the tests are over you just kill the containers. When you want them back, they come fresh.

Same tests will run on Jenkins after a commit

Page 13: Docker - fast dev faster testing

Single command brings it all

docker-compose up

Page 14: Docker - fast dev faster testing

Benefits1. Decoupled test infrastructure from test suite2. Core developers maintain the infra. Others just use

it3. Standard environment. Runs on CI!4. Tests run faster. More tests run throughout the day

Page 15: Docker - fast dev faster testing

“At the end of the day, you become a better developer. There is no magic. The container’s recipes

are on your laptop. They are code.”

Page 16: Docker - fast dev faster testing

Quick demo...

Page 17: Docker - fast dev faster testing

Discussions

Page 18: Docker - fast dev faster testing

“Simplicity is the ultimate sophistication.”Leonardo Da Vinci