15
Containerized End2End Testing + , Tobias Schneck ConSol Software GmbH

Containerized End-2-End-Testing - Tobias Schneck

Embed Size (px)

Citation preview

Page 1: Containerized End-2-End-Testing - Tobias Schneck

Containerized End­2­End Testing

 + 

,   Tobias Schneck ConSol Software GmbH

Page 2: Containerized End-2-End-Testing - Tobias Schneck

Test Pyramid

RobustIndependentIsolatedFast

Page 3: Containerized End-2-End-Testing - Tobias Schneck

Characteristics of End­2­End Testing

Different types of testing:Regression testsFunctional approval tests

Parallel tests with GUIs are complexStateful tests: user logins, sessions, historySetup and cleanup of test data

Manual effort > effort for test automation

Page 4: Containerized End-2-End-Testing - Tobias Schneck

Manual effort > effort for test automation

Advantages of Container Technology

Isolation of environmentsRepository for versioning and distributionReproducible application environmentDockerfile, docker­compose.yml

Starting containers on­the­flyOptimized for parallel executionLess memory overheadShared Linux kernel

Page 5: Containerized End-2-End-Testing - Tobias Schneck

Containerized GUIs### start the docker container via x­forwarding docker run ­it ­e DISPLAY=$DISPLAY ­v /tmp/.X11­unix:/tmp/.X11­unix:rw rasch/inkscape

### start the docker container with VNC interface # connect via URL: http://localhost:6911/vnc_auto.html?password=vncpassword docker run ­it ­p 5911:5901 ­p 6911:6901 consol/centos­xfce­vnc docker run ­it ­p 5912:5901 ­p 6912:6901 consol/ubuntu­xfce­vnc

 

Page 6: Containerized End-2-End-Testing - Tobias Schneck

What's provided by   ?

CategoryWeb tests through HTML selectors

Restricted to browser content

Open Source & Java API

Headless execution

Test writing assistance(recorder, screenshot finder)

Automatable / Test result reporting(CI, DB, monitoring environment)

Page 7: Containerized End-2-End-Testing - Tobias Schneck

 Nagios   OMD   Incinga

 Monitoring Integration

Page 8: Containerized End-2-End-Testing - Tobias Schneck

Sakuli End­2­End Testing Container

Page 9: Containerized End-2-End-Testing - Tobias Schneck

Demo ­ Sakuli Container# start the docker container docker run ­it ­p 5911:5901 ­p 6911:6901 consol/sakuli­centos­xfce docker run ­it ­p 5912:5901 ­p 6912:6901 consol/sakuli­ubuntu­xfce 

# start in parallel via docker­compose # use docker­compos.yml from https://github.com/ConSol/sakuli/tree/master/docker docker­compose up

Page 12: Containerized End-2-End-Testing - Tobias Schneck

Bakery Demogit clone https://github.com/toschneck/sakuli­example­bakery­testing.git 

# start jenkins jenkins/deploy_jenkins.sh # start OMD montioring omd­nagios/deploy_omd.sh 

# start the build of the application images bakery­app/app­deployment­docker­compose/deploy_app.sh 

#start tests sakuli­tests/execute_all.sh #start tests for monitoring sakuli­tests/execute_all_4_monitoring.sh

Page 13: Containerized End-2-End-Testing - Tobias Schneck

What's next?

Headless execution ­ Linux: VNC & Docker   Windows: ?Video recording of the test execution (error documentation)Web UI to handle Sakuli test suitesConnect 3rd­party test management tools (HP QC, TestRail, ...)Improve test result presentation in CI toolsSelenium as an alternative to Sahi

Page 14: Containerized End-2-End-Testing - Tobias Schneck

Links

https://github.com/ConSol/sakuli https://github.com/toschneck/sakuli­example­bakery­testing

https://twitter.com/sakuli_e2ehttps://twitter.com/consol_de

Page 15: Containerized End-2-End-Testing - Tobias Schneck

Thank you Hamburg!

Tobias Schneck  

ConSol Software GmbHFranziskanerstraße 38D­81669 MünchenTel: +49­89­45841­100Fax: +49­89­45841­111

[email protected]

[email protected]