SlideShare une entreprise Scribd logo
1  sur  94
Télécharger pour lire hors ligne
AGILE BODENSEE 2014 
TEST AUTOMATION & 
CONTINUOUS INTEGRATION WORKSHOP 
Konstanz 
01.10.2014 
1
2 
WHO AM I? 
Gridfusion Software Solutions 
Contact: 
Michael Palotas 
Gerbiweg 2 
8853 Lachen 
SWITZERLAND 
Tel.: +41 79 6690708 
Email: michael.palotas@gridfusion.net 
Founder / Principal Consultant 
Gridfusion Software Solutions 
Head of Productivity & Test Engineering, eBay
SETTING THE STAGE 
Tell me about yourself J 
What are your expectations for today? 
3
POSSIBLE AGENDA TOPICS 
Introduction 
CI – what is it, why do we use it, what are we trying to achieve 
Automation / Code Quality 
Tools 
Unit tests 
Cobertura 
Sonar 
E2E Tests 
Selenium 
Cucumber 
Amazon cloud 
Pipeline 
Integrating mobile 
Vagrant - Infrastructure as code 
Management / organizational aspect 
4
Your setup 
How do you build software? 
5
WHAT IS SO SPECIAL ABOUT AGILE? 
6
WHY CI/CD? 
7
WHAT IS IMPORTANT IN AGILE? 
8
Agile 
=? 
Release working software anytime 
9
Traditional waterfall model / tools do not support 
“build and deploy anytime” 
10
WHAT IS CI / CD? 
CI and CD 
= 
Automated Build? 
Automated Tests? 
Automated Quality? 
Automated Deployment? 
Automated Feedback? 
11
WHY CI / CD 
Deliver value to the business more frequently 
Better Quality 
Early Bugs 
Bug Prevention instead of late detection 
Fast & frequent feedback 
12
WHY CI / CD 
Automated frequent builds 
Automated frequent tests 
Automated frequent code quality metrics 
(Hopefully) Fewer bugs 
Early feedback 
Fast feedback 
13
WITHOUT CI 
Slow / long release cycles 
Late testing 
Waterfall (WaterScrum) 
Bugs 
Slow feedback 
Complex integration 
14
CORE PRINCIPLES 
Every build could be a release 
Everything should be automated 
Stable and trustworthy automated tests 
Build pipelines 
15
RELEASING IN THE OLD WORLD 
16 
Coding 
Deploy to 
QA 
QA 
Deploy to 
Production 
Production 
Smoke 
Tests 
Bug 
Bashes
CI / CD - CORE WORKFLOW 
17 
Compile 
Unit Test 
Deploy to QA 
Acceptance tests 
Deploy to Production 
Production Smoke Tests 
Code Quality
THE MAIN TASKS 
Automated build 
Automated code quality 
Automated testing 
Automated deployment 
18
Wakaleo.com 
19
CAN YOU MEASURE AUTOMATED CODE 
QUALITY? DOES THAT MAKE SENSE? 
20
AUTOMATED CODE QUALITY? 
Sonar gives you information on: 
- Lines of code 
- % of comments 
- Duplications 
- Complexity 
- Rules compliance 
- Unit test coverage 
- Unit test success rate 
- Unit test duration 
- Hotspots 
21
AUTOMATE EVERYTHING? 
22
WHAT SHOULD YOU AUTOMATE? 
23
WHAT ARE BARRIERS TO CI / CD? 
24
WHAT IS CONTIUOUS INTEGRATION? 
Continuous integration (CI) is the practice, in software engineering, 
of merging all developer working copies with a shared mainline 
several times a day. It was first named and proposed as part of 
extreme programming (XP). Its main aim is to prevent integration 
problems, referred to as "integration hell" in early descriptions of XP. 
CI can be seen as an intensification of practices of periodic 
integration advocated by earlier published methods of incremental 
and iterative software development, such as the Booch method. CI 
isn't universally accepted as an improvement over frequent 
integration, so it is important to distinguish between the two as there 
is disagreement about the virtues of each. 
25
WHAT IS CONTINUOUS DELIVERY? 
26 
Continuous Delivery (CD) is a design practice used in software 
development to automate and improve the process of software 
delivery. Techniques such as automated testing, continuous 
integration and continuous deployment allow software to be 
developed to a high standard and easily packaged and 
deployed to test environments, resulting in the ability to 
rapidly, reliably and repeatedly push out enhancements and 
bug fixes to customers at low risk and with minimal manual 
overhead. The technique was one of the assumptions of 
extreme programming but at an enterprise level has 
developed into a discipline of its own, with job descriptions for 
roles such as "buildmaster" calling for CD skills as mandatory.
THE MANAGEMENT / ORGANIZATIONAL ASPECT 
What are the changes for developers and 
testers? 
What needs to be changed in the organization to 
enable them to implement CI / CD? 
What role has management in creating a devops 
culture? 
27
OUR TOOLS 
Version Control System GIT 
Build Tool MAVEN 
Unit Test Framework JUNIT / TESTNG 
End To End Test Framework SELENIUM 
Build Server / Deployment JENKINS 
28
VERSION CONTROL: GIT 
Branching & Merging 
Small and Fast 
Distributed 
Data Assurance 
Staging Area 
Free and Open Source 
http://git-scm.com/about/ 
29
GIT: BRANCHING & MERGING 
30 
Git-scm.com
GIT: SMALL & FAST 
31 
Git-scm.com
GIT: THE REST 
Distributed 
Data Assurance 
Staging Area 
Free & Open Source 
32
GIT 
Distributed / local 
Download: http://git-scm.com/ 
Initialize directory: git init 
Status: git status 
Add files and directories to git: git add file1 dir2 
Commit: git commit –am “commit message” 
33
SHARE YOUR CODE - GITHUB 
Create repository on Github: https://github.com 
Create remote: git remote add origin https://… 
Push code to Github: git push origin master 
Tag your code: git tag –a v0.1 –m “initial version” 
Push tag to Github: git push origin v0.1 
34
GITHUB 
35
CONNECT GIT AND GITHUB 
Silverpeas.org 
36
MAVEN 
37 
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html 
Apache Maven is a software project 
management and comprehension tool. Based 
on the concept of a project object model (POM), 
Maven can manage a project's build, reporting 
and documentation from a central piece of 
information.
POM.XML 
The pom.xml file is the core of a project's 
configuration in Maven. It is a single 
configuration file that contains the majority of 
information required to build a project in just 
the way you want. 
38
POM.XML 
39
MAVEN TARGETS 
validate: validate the project is correct and all necessary information is available 
compile: compile the source code of the project 
test: test the compiled source code using a suitable unit testing framework. These tests should not 
require the code be packaged or deployed 
package: take the compiled code and package it in its distributable format, such as a JAR. 
integration-test: process and deploy the package if necessary into an environment where integration 
tests can be run 
verify: run any checks to verify the package is valid and meets quality criteria 
install: install the package into the local repository, for use as a dependency in other projects locally 
deploy: done in an integration or release environment, copies the final package to the remote repository 
for sharing with other developers and projects. 
clean: cleans up artifacts created by prior builds 
40
EXAMPLES 
mvn clean 
mvn compile 
mvn test 
41
OUR APPLICATION TODAY 
42
APPLICATION STRUCTURE 
It is a super complex application … 
2 text fields 
1 submit button 
1 very complex calculation 
43
OUR ENTRY PAGE 
44
RESULT PAGE 
45
CALCULATOR CLASS 
46
CALCULATOR TESTS 
47
RUN UNIT TESTS 
1. Run in Eclipse 
2. Run via maven 
48
COBERTURA 
mvn clean cobertura:cobertura –Dgroup=unit 
49 
TMFSydney2014/target/site/cobertura/index.html
SONAR 
http://localhost:9000/dashboard/index/net.gridfusion.dobcalc:tmf2 
50
END TO END TESTS (E2E) 
Selenium 
Selenium Grid 
51
TEST AUTOMATION 
Manual Tests 
E2E 
Tests 
Integration Tests 
Unit Tests
WHAT IS SELENIUM? 
Selenium automates browsers 
that’s it 
…
E2E / UAT AUTOMATION WITH SELENIUM 
54 
CLIENT 
SERVER 
JSON Wire Protocol 
BROWSER
SELENIUM 2 / WEBDRIVER 
JSON WIRE 
PROTOCOL 
Client 
Java 
C# 
Ruby 
Python 
Server 
Server 
Server 
i.e. Selendroid, iOS-Driver
CLIENT 
Is seen as „Selenium“ by the users 
Generates HTTP requests which are received by the server 
Is called by the test framework or the CI server 
Supported languages: Java, C#, Python, Ruby, Perl, PHP, 
JS
SERVER 
Receives HTTP requests 
Start and teardown of browser 
Translates requests into browser specific commands 
Communicates back to the client
SELENIUM GRID 
Test 1 Test 2 Test 
… 
Test 
4500 
Test 3 
Execution Time 
Parallel Execution 
Tes t Tes t Tes t Tes t 
Tes t Tes t Tes t Tes t 
Test Test Test 
Execution Time 
Test 
Parallel Execution 
Parallel Execution
SCALING – SELENIUM GRID 
DEV 
CI 
…. 
SELENIUM GRID 
HUB 
IOS ANDROID 
WINDOWS 
LINUX 
OSX
TEST INFRASTRUCTURE 
AUT 
API 
DB 
Browsers 
Mobiles 
CLIENT
A SIMPLE SELENIUM TEST 
61
A SIMPLE SELENIUM TEST 
62
SELENIUM – MORE ADVANCED TESTS 
63
DATA PROVIDER 
64
URL FACTORY 
65
CONTINUOUS INTEGRATION - JENKINS 
Download at http://jenkins-ci.org/ 
66
RECAP 
WHAT DO WE EXPECT 
THE CI SYSTEM TO DO? 
67
68
WHAT JENKINS DOES 
Jenkins checks out the workspace from Github 
Builds and runs tests locally according to POM 
Runs maven targets according to POM 
description 
69
A SIMPLE BUILD JOB 
70
A SIMPLE BUILD JOB 
1. (Push to Github repository) 
2. Let Jenkins pick up the change 
3. Perform “mvn test –Dgroup=unit” 
71
LET’S CREATE A BUILD / DEPLOYMENT PIPELINE 
72
THE MASTER JOB 
73 
Unit Test 
Deploy to QA 
Acceptance tests 
Deploy to Production 
Production Smoke Tests 
Code Coverage
UNIT TESTS 
74
UNIT TESTS 
75
UNIT TESTS 
76
UNIT TESTS - RESULT 
77
DEPLOY TO QA 
78
DEPLOY TO QA 
79
DEPLOY TO QA - RESULT 
80
E2E TESTS 
81
E2E TESTS 
82
E2E TESTS - RESULT 
83
E2E TESTS - RESULT 
84
DEPLOY TO PRODUCTION 
85
DEPLOY TO PRODUCTION 
86
PRODUCTION SMOKE TESTS 
87
LET’S GO MOBILE 
88
INFRASTRUCTURE AS CODE 
Consistent Infrastructure 
Efficient Change Management 
Simple to rebuild 
89
TOOLS 
90
VAGRANT EXAMPLE 
91
BOOTSTRAP.SH 
92
93
THANK YOU! 
94

Contenu connexe

Tendances

Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Marcin Grzejszczak
 
Devops interview questions 2 www.bigclasses.com
Devops interview questions  2  www.bigclasses.comDevops interview questions  2  www.bigclasses.com
Devops interview questions 2 www.bigclasses.combigclasses.com
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The CloudMarcin Grzejszczak
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryJohn Ferguson Smart Limited
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...Simplilearn
 
Codecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopCodecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopJamie Coleman
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolsetReid Lai
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationRodrigo Russo
 
Hands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersHands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersWeaveworks
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Jfokus 2017 - The DevOps Disaster
Jfokus 2017 - The DevOps Disaster Jfokus 2017 - The DevOps Disaster
Jfokus 2017 - The DevOps Disaster Bert Jan Schrijver
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneyWeaveworks
 

Tendances (19)

Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Devops interview questions 2 www.bigclasses.com
Devops interview questions  2  www.bigclasses.comDevops interview questions  2  www.bigclasses.com
Devops interview questions 2 www.bigclasses.com
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
CI/CD
CI/CDCI/CD
CI/CD
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
 
Codecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopCodecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshop
 
Sunny Agrawal
Sunny AgrawalSunny Agrawal
Sunny Agrawal
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
Hands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm UsersHands-on GitOps Patterns for Helm Users
Hands-on GitOps Patterns for Helm Users
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Jfokus 2017 - The DevOps Disaster
Jfokus 2017 - The DevOps Disaster Jfokus 2017 - The DevOps Disaster
Jfokus 2017 - The DevOps Disaster
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
 

En vedette

Agile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetAgile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetMichael Palotas
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingAcquia
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...Harish Kumar
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrumQA Club Kiev
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuJacky Wu
 
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Serena Software
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object patternMichael Palotas
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingAtlassian
 
EXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
EXTENT-2016: Managing QA for Complex Systems in Agile Development FrameworkEXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
EXTENT-2016: Managing QA for Complex Systems in Agile Development FrameworkIosif Itkin
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsVipul Gupta
 
Agile Testing: Strength Through Interdependence
Agile Testing: Strength Through InterdependenceAgile Testing: Strength Through Interdependence
Agile Testing: Strength Through InterdependenceEBG Consulting, Inc.
 

En vedette (20)

Agile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetAgile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. Toolset
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...
 
calmio-cicd-containers
calmio-cicd-containerscalmio-cicd-containers
calmio-cicd-containers
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrum
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky Wu
 
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object pattern
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
EXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
EXTENT-2016: Managing QA for Complex Systems in Agile Development FrameworkEXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
EXTENT-2016: Managing QA for Complex Systems in Agile Development Framework
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Agile Testing: Strength Through Interdependence
Agile Testing: Strength Through InterdependenceAgile Testing: Strength Through Interdependence
Agile Testing: Strength Through Interdependence
 

Similaire à Agile Bodensee - Testautomation & Continuous Delivery Workshop

Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Marcin Grzejszczak
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...Puppet
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery AppliedExcella
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSG R VISHAL
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsJuan Manuel Torres
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementSergii Kryshtop
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptxDeploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptxPankaj Goyal
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 

Similaire à Agile Bodensee - Testautomation & Continuous Delivery Workshop (20)

Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Automating the Quality
Automating the QualityAutomating the Quality
Automating the Quality
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptxDeploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
Deploying Mule Applications with Jenkins, Azure and BitBucket (1).pptx
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 

Plus de Michael Palotas

Berlin Selenium Meetup - Galen Framework
Berlin Selenium Meetup -  Galen FrameworkBerlin Selenium Meetup -  Galen Framework
Berlin Selenium Meetup - Galen FrameworkMichael Palotas
 
Berlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumBerlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumMichael Palotas
 
Zürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaZürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaMichael Palotas
 
Mobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMichael Palotas
 
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionAgile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionMichael Palotas
 
Testing in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionTesting in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionMichael Palotas
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMichael Palotas
 
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...Michael Palotas
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidMichael Palotas
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetMichael Palotas
 
EBAY - A LOOK BEHIND THE SCENES
EBAY -  A LOOK BEHIND THE SCENESEBAY -  A LOOK BEHIND THE SCENES
EBAY - A LOOK BEHIND THE SCENESMichael Palotas
 
JAVA User Group Bern - Selenium
JAVA User Group Bern  - SeleniumJAVA User Group Bern  - Selenium
JAVA User Group Bern - SeleniumMichael Palotas
 
Mobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMichael Palotas
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut PotsdamMichael Palotas
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay EuropeMichael Palotas
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsMichael Palotas
 
Test Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsTest Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsMichael Palotas
 

Plus de Michael Palotas (18)

Berlin Selenium Meetup - Galen Framework
Berlin Selenium Meetup -  Galen FrameworkBerlin Selenium Meetup -  Galen Framework
Berlin Selenium Meetup - Galen Framework
 
Berlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumBerlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to Selenium
 
Zürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaZürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrella
 
Mobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructure
 
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionAgile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
 
Testing in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionTesting in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detection
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
 
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindset
 
EBAY - A LOOK BEHIND THE SCENES
EBAY -  A LOOK BEHIND THE SCENESEBAY -  A LOOK BEHIND THE SCENES
EBAY - A LOOK BEHIND THE SCENES
 
JAVA User Group Bern - Selenium
JAVA User Group Bern  - SeleniumJAVA User Group Bern  - Selenium
JAVA User Group Bern - Selenium
 
Mobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBay
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdam
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay Europe
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Test Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsTest Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source Tools
 

Dernier

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 

Dernier (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 

Agile Bodensee - Testautomation & Continuous Delivery Workshop

  • 1. AGILE BODENSEE 2014 TEST AUTOMATION & CONTINUOUS INTEGRATION WORKSHOP Konstanz 01.10.2014 1
  • 2. 2 WHO AM I? Gridfusion Software Solutions Contact: Michael Palotas Gerbiweg 2 8853 Lachen SWITZERLAND Tel.: +41 79 6690708 Email: michael.palotas@gridfusion.net Founder / Principal Consultant Gridfusion Software Solutions Head of Productivity & Test Engineering, eBay
  • 3. SETTING THE STAGE Tell me about yourself J What are your expectations for today? 3
  • 4. POSSIBLE AGENDA TOPICS Introduction CI – what is it, why do we use it, what are we trying to achieve Automation / Code Quality Tools Unit tests Cobertura Sonar E2E Tests Selenium Cucumber Amazon cloud Pipeline Integrating mobile Vagrant - Infrastructure as code Management / organizational aspect 4
  • 5. Your setup How do you build software? 5
  • 6. WHAT IS SO SPECIAL ABOUT AGILE? 6
  • 8. WHAT IS IMPORTANT IN AGILE? 8
  • 9. Agile =? Release working software anytime 9
  • 10. Traditional waterfall model / tools do not support “build and deploy anytime” 10
  • 11. WHAT IS CI / CD? CI and CD = Automated Build? Automated Tests? Automated Quality? Automated Deployment? Automated Feedback? 11
  • 12. WHY CI / CD Deliver value to the business more frequently Better Quality Early Bugs Bug Prevention instead of late detection Fast & frequent feedback 12
  • 13. WHY CI / CD Automated frequent builds Automated frequent tests Automated frequent code quality metrics (Hopefully) Fewer bugs Early feedback Fast feedback 13
  • 14. WITHOUT CI Slow / long release cycles Late testing Waterfall (WaterScrum) Bugs Slow feedback Complex integration 14
  • 15. CORE PRINCIPLES Every build could be a release Everything should be automated Stable and trustworthy automated tests Build pipelines 15
  • 16. RELEASING IN THE OLD WORLD 16 Coding Deploy to QA QA Deploy to Production Production Smoke Tests Bug Bashes
  • 17. CI / CD - CORE WORKFLOW 17 Compile Unit Test Deploy to QA Acceptance tests Deploy to Production Production Smoke Tests Code Quality
  • 18. THE MAIN TASKS Automated build Automated code quality Automated testing Automated deployment 18
  • 20. CAN YOU MEASURE AUTOMATED CODE QUALITY? DOES THAT MAKE SENSE? 20
  • 21. AUTOMATED CODE QUALITY? Sonar gives you information on: - Lines of code - % of comments - Duplications - Complexity - Rules compliance - Unit test coverage - Unit test success rate - Unit test duration - Hotspots 21
  • 23. WHAT SHOULD YOU AUTOMATE? 23
  • 24. WHAT ARE BARRIERS TO CI / CD? 24
  • 25. WHAT IS CONTIUOUS INTEGRATION? Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP). Its main aim is to prevent integration problems, referred to as "integration hell" in early descriptions of XP. CI can be seen as an intensification of practices of periodic integration advocated by earlier published methods of incremental and iterative software development, such as the Booch method. CI isn't universally accepted as an improvement over frequent integration, so it is important to distinguish between the two as there is disagreement about the virtues of each. 25
  • 26. WHAT IS CONTINUOUS DELIVERY? 26 Continuous Delivery (CD) is a design practice used in software development to automate and improve the process of software delivery. Techniques such as automated testing, continuous integration and continuous deployment allow software to be developed to a high standard and easily packaged and deployed to test environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. The technique was one of the assumptions of extreme programming but at an enterprise level has developed into a discipline of its own, with job descriptions for roles such as "buildmaster" calling for CD skills as mandatory.
  • 27. THE MANAGEMENT / ORGANIZATIONAL ASPECT What are the changes for developers and testers? What needs to be changed in the organization to enable them to implement CI / CD? What role has management in creating a devops culture? 27
  • 28. OUR TOOLS Version Control System GIT Build Tool MAVEN Unit Test Framework JUNIT / TESTNG End To End Test Framework SELENIUM Build Server / Deployment JENKINS 28
  • 29. VERSION CONTROL: GIT Branching & Merging Small and Fast Distributed Data Assurance Staging Area Free and Open Source http://git-scm.com/about/ 29
  • 30. GIT: BRANCHING & MERGING 30 Git-scm.com
  • 31. GIT: SMALL & FAST 31 Git-scm.com
  • 32. GIT: THE REST Distributed Data Assurance Staging Area Free & Open Source 32
  • 33. GIT Distributed / local Download: http://git-scm.com/ Initialize directory: git init Status: git status Add files and directories to git: git add file1 dir2 Commit: git commit –am “commit message” 33
  • 34. SHARE YOUR CODE - GITHUB Create repository on Github: https://github.com Create remote: git remote add origin https://… Push code to Github: git push origin master Tag your code: git tag –a v0.1 –m “initial version” Push tag to Github: git push origin v0.1 34
  • 36. CONNECT GIT AND GITHUB Silverpeas.org 36
  • 37. MAVEN 37 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
  • 38. POM.XML The pom.xml file is the core of a project's configuration in Maven. It is a single configuration file that contains the majority of information required to build a project in just the way you want. 38
  • 40. MAVEN TARGETS validate: validate the project is correct and all necessary information is available compile: compile the source code of the project test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed package: take the compiled code and package it in its distributable format, such as a JAR. integration-test: process and deploy the package if necessary into an environment where integration tests can be run verify: run any checks to verify the package is valid and meets quality criteria install: install the package into the local repository, for use as a dependency in other projects locally deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects. clean: cleans up artifacts created by prior builds 40
  • 41. EXAMPLES mvn clean mvn compile mvn test 41
  • 43. APPLICATION STRUCTURE It is a super complex application … 2 text fields 1 submit button 1 very complex calculation 43
  • 48. RUN UNIT TESTS 1. Run in Eclipse 2. Run via maven 48
  • 49. COBERTURA mvn clean cobertura:cobertura –Dgroup=unit 49 TMFSydney2014/target/site/cobertura/index.html
  • 51. END TO END TESTS (E2E) Selenium Selenium Grid 51
  • 52. TEST AUTOMATION Manual Tests E2E Tests Integration Tests Unit Tests
  • 53. WHAT IS SELENIUM? Selenium automates browsers that’s it …
  • 54. E2E / UAT AUTOMATION WITH SELENIUM 54 CLIENT SERVER JSON Wire Protocol BROWSER
  • 55. SELENIUM 2 / WEBDRIVER JSON WIRE PROTOCOL Client Java C# Ruby Python Server Server Server i.e. Selendroid, iOS-Driver
  • 56. CLIENT Is seen as „Selenium“ by the users Generates HTTP requests which are received by the server Is called by the test framework or the CI server Supported languages: Java, C#, Python, Ruby, Perl, PHP, JS
  • 57. SERVER Receives HTTP requests Start and teardown of browser Translates requests into browser specific commands Communicates back to the client
  • 58. SELENIUM GRID Test 1 Test 2 Test … Test 4500 Test 3 Execution Time Parallel Execution Tes t Tes t Tes t Tes t Tes t Tes t Tes t Tes t Test Test Test Execution Time Test Parallel Execution Parallel Execution
  • 59. SCALING – SELENIUM GRID DEV CI …. SELENIUM GRID HUB IOS ANDROID WINDOWS LINUX OSX
  • 60. TEST INFRASTRUCTURE AUT API DB Browsers Mobiles CLIENT
  • 61. A SIMPLE SELENIUM TEST 61
  • 62. A SIMPLE SELENIUM TEST 62
  • 63. SELENIUM – MORE ADVANCED TESTS 63
  • 66. CONTINUOUS INTEGRATION - JENKINS Download at http://jenkins-ci.org/ 66
  • 67. RECAP WHAT DO WE EXPECT THE CI SYSTEM TO DO? 67
  • 68. 68
  • 69. WHAT JENKINS DOES Jenkins checks out the workspace from Github Builds and runs tests locally according to POM Runs maven targets according to POM description 69
  • 70. A SIMPLE BUILD JOB 70
  • 71. A SIMPLE BUILD JOB 1. (Push to Github repository) 2. Let Jenkins pick up the change 3. Perform “mvn test –Dgroup=unit” 71
  • 72. LET’S CREATE A BUILD / DEPLOYMENT PIPELINE 72
  • 73. THE MASTER JOB 73 Unit Test Deploy to QA Acceptance tests Deploy to Production Production Smoke Tests Code Coverage
  • 77. UNIT TESTS - RESULT 77
  • 80. DEPLOY TO QA - RESULT 80
  • 83. E2E TESTS - RESULT 83
  • 84. E2E TESTS - RESULT 84
  • 89. INFRASTRUCTURE AS CODE Consistent Infrastructure Efficient Change Management Simple to rebuild 89
  • 93. 93