SlideShare une entreprise Scribd logo
1  sur  19
Company Confidential
Company Confidential
Scalable Test Automation
TTY - Testauspäivä 2016
Sakari Hoisko
Company Confidential
WE ARE SYMBIO
Symbio is a global BPO and R&D technology development
company offering solutions and services for end-to-end customer
care. We help clients develop technologies and customer care
services that enable them to manage their business and
customer relationships more efficiently. Our vision is to become
the world’s leading provider of R&D Engineering and BPO
services. Together with our partners, we design, build,
implement and support innovative customer engagement
platforms by seamlessly integrating our robust customer
insights, technology and world class business services.
2
Company Confidential
WHY AUTOMATION?
Helping you focus what is most important!
3
Company Confidential
4
TOOLS
Company Confidential
ROBOT FRAMEWORK
Compact sheet: https://public.centerdevice.de/0db44f0e-c485-41be-ba4a-85218b9b0542
› Test Automation Framework with html and
XML result output
› Include tagging and basic setup/teardown
tree functionality to suites and testcases
› Has a flexible keyword-driven approach to
describe and implement tests.
› Keywords can be stored in Resource-Files
to separate implementation details from
tests.
› Main programming languages for
implementing test functionality are Java
(JYBOT) and Python (PYBOT).
› There are ready-made test libraries
available for a lot of technologies.
› Implementing tests is supported by the
Robot Framework IDE(RIDE).
Company Confidential
DOCKER –> PACK –> SHIP –> RUN
Cheat sheet: https://github.com/wsargent/docker-cheat-sheet
› PACK software to docker container image
- Defined by using docker file whitch is pure text file
- Include just SW and it dependencies, nothing else.
- Built from docker file
- Minimize maintain of platform / security / updates
› SHIP software by using
- Container image docker file
- Container image by using private or public registry
› RUN docker container
- Isolated user space, shared kernel space
- Running application by single “docker run” command
from “docker image” template
- Is like lightweight “virtual machine” without OS and
HW emulation
- Include HW resources allocation, clustering, HA,
networks, port mapping, etc…
Company Confidential
ROBOT TEST SUITES / CASES DESIGN
› Unique independed test suites
- Test cases are executed parallel so there should not
be dependency between test cases which effects to
other testcase in any phase/step of test case
execution
- Test data should be unique
- All actions inside of test case should be unique (=if
same table is droped and added in different
testcases we have a problem).
› Timings
- All timings should be solved by loops / triggers /
polling (=not sleeps/etc ugly hacks)
- Is service up&running? Test it by using “run
keyword until” keyword functionality.
Keep parallel execution in mind while TA developing.
Company Confidential
PABOT VS (PY/JY)BOT
Details: https://github.com/mkorpela/pabot
› Parallel executor for Robot Framework test suites by using pybot /
jybot
› With Pabot you can split one execution into many and save test
execution time.
› Implemented as library to Robot Framework
› Speed up
- CI pipeline
- Test automation
- Developer feedback
› Require
- multiple robot host instances with same library/dependency contents
- Instances are defined to valueset.dat whitch is provided to pabot call as
argument
- pabot.PabotLib to test suite(s)/test case(s) (=provides keywords that
will help communication and data sharing between the executor
processes).
› Include locks that could be used to sync test suites/cases between
each other inside of pabot cluster
VS.
J
Y
B
O
T
P
Y
B
O
T
PABOT
Company Confidential
9
TOOLS TOGETHER => SCALABLE TEST
AUTOMATION
Company Confidential
ROBOT FRAMEWORK IN DOCKER CONTAINER
Same container everywhere.
› TA container image include:
- Pybot, Jybot and Pabot
- Required Robot Framework Libraries
- Tools (=browsers, RIDE, firebot, Zap, etc…)
- SSH server with known account (FYI: pabot doesn’t support key
based auth)
- All of those dependencies with correct order and
required versions (=standalone installation means gray hairs to them
who made this without docker)
› Same version of different components are in use both in
developer machine as in pipeline (if test suite works in developer
machine then it works in CI TA)
› GUIs could be forwarded outside of container by using X11
forwarding (=cool selling demo to managers when selenium2library is used)
TA
Cluster
TA development
Company Confidential
11
EXAMPLE FROM DEMO –
TEST AUTOMATION FRAMEWORK DOCKER FILE
Company Confidential
ROBOT FW CONTAINER CLUSTER
Same container everywhere.
› Master container
- Started by CI / developer
- Shut down by CI / developer
- All phases are executed in here
- All test results are collected in here by pabot
› Phase 1:
- Input: folder where suites located
- Calculate amount of test suites
- Start own TA container for every test suite (=start TA cluster containers)
- Generate parameter file where TA cluster is defined
- Build up platform to sandbox
- Generate parameter file where platform interfaces are defined
› Phase 2:
- Input: cluster and platform definition file
- Start PABOT (test suites) execution by parallel against platform sandbox
› Phase 3:
- Input: cluster and platform definition file
- Teardown shutdown platform sandbox and TA cluster
TA cluster containers
Company Confidential
POOR MAN’S PERFORMANCE TEST
Could be part of CI testing pipe.
› Start also system monitoring in phase 1.
› Pick up dedicated test case(s) that loads
platform system as widely as you can.
- Log in is usually good start some load authentication, DB,
frontend, backend, etc…
› Create test case(s) to keyword resource file
› Call same keyword(s) with uniq test data
from multiple test suites parallel by using
pabot
› Monitor platform simultaneously when test
set is under execution
› Stop system monitorin in phase 3.
Company Confidential
14
DEMO TIME - SCALABLE TEST AUTOMATION
Company Confidential
DOCKERIZING A ROBOT FRAMEWORK
To get official robot framework docker image to https://hub.docker.com/explore/
› Community based Open Source development
› Figuring out:
- What is base content?
• Execution tools?
• Libraries?
• R&D tools?
• Example test suites/cases (=Demo)?
- Reusable in different use cases?
- How to get content to be more configurable?
- Split configuration between:
• build time configuration (inside of image)
• run time configuration (deploy container from image)
› Contribute your view/points:
https://github.com/symbionext/DockerizedRobotFramework
Company Confidential
16
FRIENDLY ASK QUESTIONS?
Company Confidential
FINAL TIP => CD-PIPELINE WITH DOCKER
Jenkins integration - Poor man’s perf behind of jenkins in Continuous Delivery pipeline
- Jenkins could start docker containers as slaves
dynamically
• With docker plugin: https://wiki.jenkins-
ci.org/display/JENKINS/Docker+Plugin
• Master container could be integrated to
Jenkins as dynamic slave
- Jenkins could be installed to system by using
docker container
• Jenkins official docker container:
https://hub.docker.com/_/jenkins/
What else you need to build up
test automation to your system?
Jenkins Slave
Container
Company Confidential
CONTACT INFO
http://www.symbio.com/contact-us/
Company Confidential
19
THANKS.

Contenu connexe

Tendances

Introduction to docker_notary_v1.0.0
Introduction to docker_notary_v1.0.0Introduction to docker_notary_v1.0.0
Introduction to docker_notary_v1.0.0Anshul Patel
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...Docker, Inc.
 
Docker enterprise Technologies
Docker enterprise TechnologiesDocker enterprise Technologies
Docker enterprise Technologiesstrikr .
 
Immutable Infrastructure
Immutable InfrastructureImmutable Infrastructure
Immutable Infrastructurestrikr .
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebula Project
 
Murano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackMurano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackAlexander Tivelkov
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardAlex Thissen
 
Linux kit meetup_v1.0.0
Linux kit meetup_v1.0.0Linux kit meetup_v1.0.0
Linux kit meetup_v1.0.0Anshul Patel
 
Microservices Architecture and Containers.
Microservices Architecture and Containers.Microservices Architecture and Containers.
Microservices Architecture and Containers.imjacobclark
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
KURMA - A Containerized Container Platform - KubeCon 2016
KURMA - A Containerized Container Platform - KubeCon 2016KURMA - A Containerized Container Platform - KubeCon 2016
KURMA - A Containerized Container Platform - KubeCon 2016Apcera
 
Open Source & The Internet of Things
Open Source & The Internet of ThingsOpen Source & The Internet of Things
Open Source & The Internet of ThingsAll Things Open
 
Microcontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingMicrocontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingOracle Developers
 
Introduction to Opendaylight
Introduction to OpendaylightIntroduction to Opendaylight
Introduction to OpendaylightBeny Raja
 
The Datacenter Network You Wish You Had
The Datacenter Network You Wish You HadThe Datacenter Network You Wish You Had
The Datacenter Network You Wish You HadJeremy Schulman
 
from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?strikr .
 
Data Center to Cloud
Data Center to CloudData Center to Cloud
Data Center to Cloudstrikr .
 
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...OpenNebula Project
 

Tendances (20)

Introduction to docker_notary_v1.0.0
Introduction to docker_notary_v1.0.0Introduction to docker_notary_v1.0.0
Introduction to docker_notary_v1.0.0
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
 
Docker enterprise Technologies
Docker enterprise TechnologiesDocker enterprise Technologies
Docker enterprise Technologies
 
Immutable Infrastructure
Immutable InfrastructureImmutable Infrastructure
Immutable Infrastructure
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
 
OpenShift Meetup - Red Hat OpenShift Container Storage explained
OpenShift Meetup - Red Hat OpenShift Container Storage explainedOpenShift Meetup - Red Hat OpenShift Container Storage explained
OpenShift Meetup - Red Hat OpenShift Container Storage explained
 
Murano: Application Catalog for Openstack
Murano: Application Catalog for OpenstackMurano: Application Catalog for Openstack
Murano: Application Catalog for Openstack
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
 
Linux kit meetup_v1.0.0
Linux kit meetup_v1.0.0Linux kit meetup_v1.0.0
Linux kit meetup_v1.0.0
 
Microservices Architecture and Containers.
Microservices Architecture and Containers.Microservices Architecture and Containers.
Microservices Architecture and Containers.
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
KURMA - A Containerized Container Platform - KubeCon 2016
KURMA - A Containerized Container Platform - KubeCon 2016KURMA - A Containerized Container Platform - KubeCon 2016
KURMA - A Containerized Container Platform - KubeCon 2016
 
Open Source & The Internet of Things
Open Source & The Internet of ThingsOpen Source & The Internet of Things
Open Source & The Internet of Things
 
Microcontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingMicrocontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container Debugging
 
Introduction to Opendaylight
Introduction to OpendaylightIntroduction to Opendaylight
Introduction to Opendaylight
 
The Datacenter Network You Wish You Had
The Datacenter Network You Wish You HadThe Datacenter Network You Wish You Had
The Datacenter Network You Wish You Had
 
from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?
 
Data Center to Cloud
Data Center to CloudData Center to Cloud
Data Center to Cloud
 
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
 

En vedette

Misinterpretation of qur’anic verses
Misinterpretation of qur’anic versesMisinterpretation of qur’anic verses
Misinterpretation of qur’anic versesHuzaifah Mohd Amin
 
MICKEY MOUSE
MICKEY MOUSEMICKEY MOUSE
MICKEY MOUSEsarouna
 
Element 2 interview about hotels and cars - monica renjifo pintado
Element 2   interview about hotels and cars - monica renjifo pintadoElement 2   interview about hotels and cars - monica renjifo pintado
Element 2 interview about hotels and cars - monica renjifo pintadoMonica Renjifo
 
Caulker David Final PPP
Caulker David Final PPPCaulker David Final PPP
Caulker David Final PPPDavid Caulker
 
Digital marketing-training-institute
Digital marketing-training-instituteDigital marketing-training-institute
Digital marketing-training-institutesoftprostudent2
 
El powerpoint nuestro de cada dia
El powerpoint nuestro de cada diaEl powerpoint nuestro de cada dia
El powerpoint nuestro de cada diaMilena Ayala
 
Hittankereszteshaboruk
HittankereszteshaborukHittankereszteshaboruk
Hittankereszteshaborukhittan
 
Group presentation
Group presentationGroup presentation
Group presentationjbictoau
 
Renjifo Monica Business
Renjifo Monica  BusinessRenjifo Monica  Business
Renjifo Monica BusinessMonica Renjifo
 
Tutorial final dic
Tutorial final dicTutorial final dic
Tutorial final dicizhar fatima
 
Digital marketing training institute in Mumbai
Digital marketing training institute in MumbaiDigital marketing training institute in Mumbai
Digital marketing training institute in Mumbaisoftprostudent2
 
Flash cards vocabulary national curriculum guidelines monica renjifo
Flash cards vocabulary national curriculum guidelines   monica renjifoFlash cards vocabulary national curriculum guidelines   monica renjifo
Flash cards vocabulary national curriculum guidelines monica renjifoMonica Renjifo
 
Element 2 lisstening renjifo arcentales- manobanda
Element 2 lisstening renjifo  arcentales- manobandaElement 2 lisstening renjifo  arcentales- manobanda
Element 2 lisstening renjifo arcentales- manobandaMonica Renjifo
 
Managing grandparental involvement
Managing grandparental involvementManaging grandparental involvement
Managing grandparental involvementElizaveta Sivak
 
Chosen Pictures
Chosen PicturesChosen Pictures
Chosen Picturesishrahjama
 

En vedette (20)

Misinterpretation of qur’anic verses
Misinterpretation of qur’anic versesMisinterpretation of qur’anic verses
Misinterpretation of qur’anic verses
 
MICKEY MOUSE
MICKEY MOUSEMICKEY MOUSE
MICKEY MOUSE
 
Ajay Sardesai CV
Ajay Sardesai CVAjay Sardesai CV
Ajay Sardesai CV
 
Element 2 interview about hotels and cars - monica renjifo pintado
Element 2   interview about hotels and cars - monica renjifo pintadoElement 2   interview about hotels and cars - monica renjifo pintado
Element 2 interview about hotels and cars - monica renjifo pintado
 
Caulker David Final PPP
Caulker David Final PPPCaulker David Final PPP
Caulker David Final PPP
 
Louise Mathias' Client Satisfaction Survey
Louise Mathias' Client Satisfaction SurveyLouise Mathias' Client Satisfaction Survey
Louise Mathias' Client Satisfaction Survey
 
Hello!
Hello!Hello!
Hello!
 
Digital marketing-training-institute
Digital marketing-training-instituteDigital marketing-training-institute
Digital marketing-training-institute
 
El powerpoint nuestro de cada dia
El powerpoint nuestro de cada diaEl powerpoint nuestro de cada dia
El powerpoint nuestro de cada dia
 
Hittankereszteshaboruk
HittankereszteshaborukHittankereszteshaboruk
Hittankereszteshaboruk
 
Group presentation
Group presentationGroup presentation
Group presentation
 
EWKurt
EWKurtEWKurt
EWKurt
 
Renjifo Monica Business
Renjifo Monica  BusinessRenjifo Monica  Business
Renjifo Monica Business
 
Tutorial final dic
Tutorial final dicTutorial final dic
Tutorial final dic
 
Digital marketing training institute in Mumbai
Digital marketing training institute in MumbaiDigital marketing training institute in Mumbai
Digital marketing training institute in Mumbai
 
Flash cards vocabulary national curriculum guidelines monica renjifo
Flash cards vocabulary national curriculum guidelines   monica renjifoFlash cards vocabulary national curriculum guidelines   monica renjifo
Flash cards vocabulary national curriculum guidelines monica renjifo
 
Louise Mathias client satisfaction survey
Louise Mathias client satisfaction surveyLouise Mathias client satisfaction survey
Louise Mathias client satisfaction survey
 
Element 2 lisstening renjifo arcentales- manobanda
Element 2 lisstening renjifo  arcentales- manobandaElement 2 lisstening renjifo  arcentales- manobanda
Element 2 lisstening renjifo arcentales- manobanda
 
Managing grandparental involvement
Managing grandparental involvementManaging grandparental involvement
Managing grandparental involvement
 
Chosen Pictures
Chosen PicturesChosen Pictures
Chosen Pictures
 

Similaire à Tampere Technical University - Seminar Presentation in testind day 2016 - Scalable Test Automation with Docker and Robot Framework

Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkDocker, Inc.
 
Puppet overview
Puppet overviewPuppet overview
Puppet overviewjoshbeard
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build PipelineSamuel Brown
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesdrupalindia
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APIVictorSzoltysek
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Ajeet Singh Raina
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScriptRob Scaduto
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonIneke Scheffers
 

Similaire à Tampere Technical University - Seminar Presentation in testind day 2016 - Scalable Test Automation with Docker and Robot Framework (20)

Stackato
StackatoStackato
Stackato
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at Splunk
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build Pipeline
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI API
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
Puppet and docker
Puppet and dockerPuppet and docker
Puppet and docker
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScript
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
 

Dernier

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Tampere Technical University - Seminar Presentation in testind day 2016 - Scalable Test Automation with Docker and Robot Framework

  • 1. Company Confidential Company Confidential Scalable Test Automation TTY - Testauspäivä 2016 Sakari Hoisko
  • 2. Company Confidential WE ARE SYMBIO Symbio is a global BPO and R&D technology development company offering solutions and services for end-to-end customer care. We help clients develop technologies and customer care services that enable them to manage their business and customer relationships more efficiently. Our vision is to become the world’s leading provider of R&D Engineering and BPO services. Together with our partners, we design, build, implement and support innovative customer engagement platforms by seamlessly integrating our robust customer insights, technology and world class business services. 2
  • 3. Company Confidential WHY AUTOMATION? Helping you focus what is most important! 3
  • 5. Company Confidential ROBOT FRAMEWORK Compact sheet: https://public.centerdevice.de/0db44f0e-c485-41be-ba4a-85218b9b0542 › Test Automation Framework with html and XML result output › Include tagging and basic setup/teardown tree functionality to suites and testcases › Has a flexible keyword-driven approach to describe and implement tests. › Keywords can be stored in Resource-Files to separate implementation details from tests. › Main programming languages for implementing test functionality are Java (JYBOT) and Python (PYBOT). › There are ready-made test libraries available for a lot of technologies. › Implementing tests is supported by the Robot Framework IDE(RIDE).
  • 6. Company Confidential DOCKER –> PACK –> SHIP –> RUN Cheat sheet: https://github.com/wsargent/docker-cheat-sheet › PACK software to docker container image - Defined by using docker file whitch is pure text file - Include just SW and it dependencies, nothing else. - Built from docker file - Minimize maintain of platform / security / updates › SHIP software by using - Container image docker file - Container image by using private or public registry › RUN docker container - Isolated user space, shared kernel space - Running application by single “docker run” command from “docker image” template - Is like lightweight “virtual machine” without OS and HW emulation - Include HW resources allocation, clustering, HA, networks, port mapping, etc…
  • 7. Company Confidential ROBOT TEST SUITES / CASES DESIGN › Unique independed test suites - Test cases are executed parallel so there should not be dependency between test cases which effects to other testcase in any phase/step of test case execution - Test data should be unique - All actions inside of test case should be unique (=if same table is droped and added in different testcases we have a problem). › Timings - All timings should be solved by loops / triggers / polling (=not sleeps/etc ugly hacks) - Is service up&running? Test it by using “run keyword until” keyword functionality. Keep parallel execution in mind while TA developing.
  • 8. Company Confidential PABOT VS (PY/JY)BOT Details: https://github.com/mkorpela/pabot › Parallel executor for Robot Framework test suites by using pybot / jybot › With Pabot you can split one execution into many and save test execution time. › Implemented as library to Robot Framework › Speed up - CI pipeline - Test automation - Developer feedback › Require - multiple robot host instances with same library/dependency contents - Instances are defined to valueset.dat whitch is provided to pabot call as argument - pabot.PabotLib to test suite(s)/test case(s) (=provides keywords that will help communication and data sharing between the executor processes). › Include locks that could be used to sync test suites/cases between each other inside of pabot cluster VS. J Y B O T P Y B O T PABOT
  • 9. Company Confidential 9 TOOLS TOGETHER => SCALABLE TEST AUTOMATION
  • 10. Company Confidential ROBOT FRAMEWORK IN DOCKER CONTAINER Same container everywhere. › TA container image include: - Pybot, Jybot and Pabot - Required Robot Framework Libraries - Tools (=browsers, RIDE, firebot, Zap, etc…) - SSH server with known account (FYI: pabot doesn’t support key based auth) - All of those dependencies with correct order and required versions (=standalone installation means gray hairs to them who made this without docker) › Same version of different components are in use both in developer machine as in pipeline (if test suite works in developer machine then it works in CI TA) › GUIs could be forwarded outside of container by using X11 forwarding (=cool selling demo to managers when selenium2library is used) TA Cluster TA development
  • 11. Company Confidential 11 EXAMPLE FROM DEMO – TEST AUTOMATION FRAMEWORK DOCKER FILE
  • 12. Company Confidential ROBOT FW CONTAINER CLUSTER Same container everywhere. › Master container - Started by CI / developer - Shut down by CI / developer - All phases are executed in here - All test results are collected in here by pabot › Phase 1: - Input: folder where suites located - Calculate amount of test suites - Start own TA container for every test suite (=start TA cluster containers) - Generate parameter file where TA cluster is defined - Build up platform to sandbox - Generate parameter file where platform interfaces are defined › Phase 2: - Input: cluster and platform definition file - Start PABOT (test suites) execution by parallel against platform sandbox › Phase 3: - Input: cluster and platform definition file - Teardown shutdown platform sandbox and TA cluster TA cluster containers
  • 13. Company Confidential POOR MAN’S PERFORMANCE TEST Could be part of CI testing pipe. › Start also system monitoring in phase 1. › Pick up dedicated test case(s) that loads platform system as widely as you can. - Log in is usually good start some load authentication, DB, frontend, backend, etc… › Create test case(s) to keyword resource file › Call same keyword(s) with uniq test data from multiple test suites parallel by using pabot › Monitor platform simultaneously when test set is under execution › Stop system monitorin in phase 3.
  • 14. Company Confidential 14 DEMO TIME - SCALABLE TEST AUTOMATION
  • 15. Company Confidential DOCKERIZING A ROBOT FRAMEWORK To get official robot framework docker image to https://hub.docker.com/explore/ › Community based Open Source development › Figuring out: - What is base content? • Execution tools? • Libraries? • R&D tools? • Example test suites/cases (=Demo)? - Reusable in different use cases? - How to get content to be more configurable? - Split configuration between: • build time configuration (inside of image) • run time configuration (deploy container from image) › Contribute your view/points: https://github.com/symbionext/DockerizedRobotFramework
  • 17. Company Confidential FINAL TIP => CD-PIPELINE WITH DOCKER Jenkins integration - Poor man’s perf behind of jenkins in Continuous Delivery pipeline - Jenkins could start docker containers as slaves dynamically • With docker plugin: https://wiki.jenkins- ci.org/display/JENKINS/Docker+Plugin • Master container could be integrated to Jenkins as dynamic slave - Jenkins could be installed to system by using docker container • Jenkins official docker container: https://hub.docker.com/_/jenkins/ What else you need to build up test automation to your system? Jenkins Slave Container