SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
AutomatisationAutomatisation
In Development and Quality Process
(Within budget)
David Lukac
Senior Technical Consultant
@ Inviqa Ltd. UK
@davidlukac
https://legacy.joind.in/18271
1
2 . 1
2 . 2
2 . 3
https://inviqa.com
3 . 1
Software Engineer @ SiemensSoftware Engineer @ Siemens
Java Consultant @ T-Mobile AustriaJava Consultant @ T-Mobile Austria
CTO @ Mogdesign.euCTO @ Mogdesign.eu
Head of Project Operations @ iKOS Ltd.Head of Project Operations @ iKOS Ltd.
Senior Technical Consultant @ InviqaSenior Technical Consultant @ Inviqa
3 . 2
3 . 3
QuestionsQuestions
1. F
2. G/V
3. DR/DC
4. AQA
5. C*
4 . 1
4 . 2
Why automate?Why automate?
Saves time
Streamline the process
Efficiency
Quality / Error rate
5 . 1
5 . 2
Why CI/CD?Why CI/CD?
6 . 1
Why CI/CD?Why CI/CD?
What?
Merging
Immediate testing & reporting
G: Feedback ...
... Defects identified and corrected ASAP
6 . 2
Why CI/CD?Why CI/CD?
What?
Short cycles
Releasebility
G: Build, test, release ...
... fast, frequently
6 . 3
Why CI/CD?Why CI/CD?
Business critical functionality
Regression
DRY
Ease of mind
Confidence
Trust
6 . 4
But how!? ... budget?!But how!? ... budget?!
Credit: http://www.dailymail.co.uk/news/article-2103067/Duck-cover--Astonishing-video-shows-U-S-ground-grunt-guinea-pigs-taking-atomic-
bomb-tests-1950s--trenches-protect-radiation.html
7 . 1
Preparation:Preparation:
Unified environmentUnified environment
Drush aliases
7 . 2
Preparation:Preparation:
Unified environmentUnified environment
Drush aliases
$ <project root>/drush/mysite.aliases.drushrc.php
<?php
$aliases['mysite.local'] = array( .... );
$aliases['mysite.stage'] = array( .... );
$aliases['mysite.uat'] = array( .... );
$aliases['mysite.prod'] = array( .... );
...
$ ln -s ${DIR}/mysite.aliases.drushrc.php ~/.drush/mysite.aliases.drushrc.php
7 . 3
Preparation:Preparation:
Unified environmentUnified environment
Drush aliases
Stack
DevDesktop
7 . 4
Preparation:Preparation:
Unified environmentUnified environment
Drush aliases
Stack
DevDesktop
Drupal-VM
7 . 5
Preparation:Preparation:
Unified environmentUnified environment
Drush aliases
Stack
DevDesktop
Drupal-VM
Docker (Drude)
7 . 6
Credit: http://joefleming.net/posts/git-flow/
7 . 7
Local tasksLocal tasks
ShellShell
>_>_
8 . 1
Shell scriptsShell scripts
#!/usr/bin/env bash
# Basic deployment tasks.
drush @mysite.${1} cc all
drush @mysite.${1} updatedb -y
drush @mysite.${1} cron
8 . 2
Shell scriptsShell scripts
#!/usr/bin/env bash
# Basic deployment tasks.
drush @mysite.${1} cc all
drush @mysite.${1} updatedb -y
drush @mysite.${1} cron
# Purge Varnish
curl -X PURGE -H "X-Acquia-Purge:[mysite.com]"
-H "Accept-Encoding: gzip" https://mysite.com/about
8 . 3
Shell scriptsShell scripts
#!/usr/bin/env bash
# Basic deployment tasks.
drush @mysite.${1} cc all
drush @mysite.${1} updatedb -y
drush @mysite.${1} cron
# Purge Varnish
curl -X PURGE -H "X-Acquia-Purge:[mysite.com]"
-H "Accept-Encoding: gzip" https://mysite.com/about
# Features
# Hidden bonus(?!)
drush @mysite.${1} fra -y
8 . 4
Shell scriptsShell scripts
#!/usr/bin/env bash
# Basic deployment tasks.
drush @mysite.${1} cc all
drush @mysite.${1} updatedb -y
drush @mysite.${1} cron
# Purge Varnish
curl -X PURGE -H "X-Acquia-Purge:[mysite.com]"
-H "Accept-Encoding: gzip" https://mysite.com/about
# Features
# Hidden bonus(?!)
drush @mysite.${1} fra -y
# Pull everything
drush rsync ${source}:%files/ ${target}:%files/ --mode=ahkvz --progress -y
drush sql-sync ${source} ${target} -y
8 . 5
Shell scriptsShell scripts
#!/usr/bin/env bash
# Basic deployment tasks.
drush @mysite.${1} cc all
drush @mysite.${1} updatedb -y
drush @mysite.${1} cron
# Purge Varnish
curl -X PURGE -H "X-Acquia-Purge:[mysite.com]"
-H "Accept-Encoding: gzip" https://mysite.com/about
# Features
# Hidden bonus(?!)
drush @mysite.${1} fra -y
# Pull everything
drush rsync ${source}:%files/ ${target}:%files/ --mode=ahkvz --progress -y
drush sql-sync ${source} ${target} -y
# Tests
cd behat
bin/behat features/
8 . 6
Shell scriptsShell scripts
#!/usr/bin/env bash
# Migration
drush @mysite.${1} en menu_migrate -y
drush @mysite.${1} mi Menu --feedback="100 items"
8 . 7
Shell scriptsShell scripts
#!/usr/bin/env bash
# Migration
drush @mysite.${1} en menu_migrate -y
drush @mysite.${1} mi Menu --feedback="100 items"
# Solr
drush @mysite.${1} solr-delete-index
drush @mysite.${1} solr-index
8 . 8
Shell scriptsShell scripts
#!/usr/bin/env bash
# Deployment script
drush @mysite.$1 fr feature_article -y
drush @mysite.$1 vset my_custom_var 1
8 . 9
Shell scriptsShell scripts
#!/usr/bin/env bash
# Deployment script
drush @mysite.$1 fr feature_article -y
drush @mysite.$1 vset my_custom_var 1
drush @mysite.$1 cc css-js
drush @mysite.$1 cron
8 . 10
OtherOther
Env. setup
Dep. management
npm, bundle
Toggle
Changelog
Build
8 . 11
Local tasksLocal tasks
GulpGulp
9 . 1
Gulp tasksGulp tasks
watch
compile
copy
serve
9 . 2
10
Laravel EnvoyLaravel Envoy
Server side, ssh
Shell
11 . 1
Laravel EnvoyLaravel Envoy
Server side, ssh
Shell
Easy to setup
Works with WebSupport
$ composer global require "laravel/envoy=~1.0"
$ envoy init user@192.168.1.1
11 . 2
Laravel EnvoyLaravel Envoy
Server side, ssh
Shell
Variables
Servers
Tasks
Macros
Setup
11 . 3
EnvoyEnvoy
Envoy.blade.php
---------------
@servers(['s1' => 'usr1@myserver.com -p 12345'])
@setup
$now = new DateTime();
$environment = isset($env) ? $env : "testing";
@endsetup
@task('deploy-prod', ['on' => 's1'])
cd /var/www
echo {{ $now }}; echo {{ $environment }}
drush @mysite.prod sql-dump --result-file --gzip
git checkout master
git pull
drush @mysite.prod updb
drush @mysite.prod cc all
drush @mysite.prod cron
@endtask
@macro('deploy')
deploy-prod
clean-up
@endmacro
11 . 4
EnvoyEnvoy
Envoy.blade.php
---------------
@servers(['s1' => 'usr1@myserver.com -p 12345'])
@task('deploy-prod', ['on' => 's1'])
cd /var/www
drush @mysite.prod sql-dump --result-file --gzip
git checkout master
git pull
drush @mysite.prod updb
drush @mysite.prod cc all
drush @mysite.prod cron
@endtask
...
$ envoy run deploy-prod
11 . 5
CapistranoCapistrano
12 . 1
CapistranoCapistrano
Remote server
Ruby
Role, tasks, stages ...
12 . 2
ToolsTools
Credit: http://galilsoftware.com/our-2015-ci-survey-the-results/
13 . 1
ToolsTools
Credit: http://galilsoftware.com/our-2015-ci-survey-the-results/
github.com/ripienaar/free-for-devgithub.com/ripienaar/free-for-dev
13 . 2
QA AutomationQA Automation
14 . 1
14 . 2
QA AutomationQA Automation
TTD
Unit Tests
...
14 . 3
QA AutomationQA Automation
TTD
Unit Tests
...
pricy?
time consuming?
ROI?
14 . 4
14 . 5
15 . 1
BehatBehat
Behavioural testing
Gather & test requirements
User stories
Gherkin
15 . 2
BehatBehat
Behavioural testing
Gather & test requirements
User stories
Gherkin
Critical functionality
Login
Purchase
Post
...
15 . 3
BehatBehat
Behavioural testing
Gather & test requirements
User stories
Gherkin
Drupal support
15 . 4
BehatBehat
default:
suites:
default:
contexts:
- FeatureContext
- DrupalDrupalExtensionContextDrupalContext
- DrupalDrupalExtensionContextMessageContext
extensions:
BehatMinkExtension:
selenium2: ~
base_url: http://mysite.local
DrupalDrupalExtension:
blackbox: ~
api_driver: 'drupal'
drupal:
drupal_root: '/var/www'
text:
log_out: "Log out"
log_in: "Log in"
password_field: "Password"
username_field: "Username"
selectors:
message_selector: '.messages'
error_message_selector: '.messages.error'
success_message_selector: '.messages.status'
warning_message_selector: '.messages.warning'
region_map:
header_search: ".search-toggle"
15 . 5
BehatBehat
DrupalContext
custom context
<?php
class FeatureContext extends RawDrupalContext
implements SnippetAcceptingContext {
...
/**
* @Then I should see the subheading
*/
public function iShouldSeeSubHeading() {
$this->countElements('.taxonomy-term.vocabulary-sections
.field-name-field-body .field-item', 1, 'Homepage subheading');
}
...
15 . 6
BehatBehat
Feature: Homepage
I want to see a home page
As a user
So I can see the latest featured content on the site.
Background:
Given I am not logged in
When I visit "/"
Scenario: User can see Main header
Then I should see the text "welcome to our site"
And I should see the subheading
Scenario: User can see Latest Articles
Then I should see 11 latest homepage articles
15 . 7
BehatBehat
Scenario: User can add the content administration
Given I am logged in as a user with the "Content Editor" role
When I go to "node/add/article"
Then I should not see "Page not found"
When I fill in "title" with "Behat testing article"
And I fill in "media[field_listing_image_und_0]" with "314631"
And I press the 'edit-submit' button
Then I should see the following success messages:
| success messages |
| Article Behat testing article has been created. |
And I should be able to register my article with title
"Behat testing article" for cleanup
15 . 8
BehatBehat
Credit: http://erikaybar.name/building-and-testing-a-restful-api-using-behat-phpunit-and-laravel-part-1/
15 . 9
Ghost InspectorGhost Inspector
16 . 1
Ghost InspectorGhost Inspector
Automated UI testing
Automated UI monitoring
16 . 2
Ghost InspectorGhost Inspector
Automated UI testing
Automated monitoring
Screenshots
Comparison
16 . 3
Ghost InspectorGhost Inspector
16 . 4
Ghost InspectorGhost Inspector
Credit: http://www.hung-truong.com/blog/
16 . 5
Ghost InspectorGhost Inspector
Automated UI testing
Automated monitoring
Screenshots
Comparison
Step-by-step
Selectors
Recorder
API
16 . 6
Ghost InspectorGhost Inspector
Credit: http://www.hung-truong.com/blog/
16 . 7
Ghost InspectorGhost Inspector
API
$ curl https://api.ghostinspector.com/v1/
suites/jabsdf7283947298374sdf/execute/
?apiKey=aodjshfas72834970128347ijshdfg
16 . 8
Ghost InspectorGhost Inspector
16 . 9
Effectiveness + Quality
Confidence + Trust
Unified environment
Automated Tasks
Automated QA
Time for coffee + $$$
RecapRecap
17
Q & DQ & D
https://legacy.joind.in/18271 @davidlukac
18

Contenu connexe

Tendances

BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoToshiaki Maki
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyDaniel Spilker
 
One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.Javier López
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP applicationJavier López
 
Spring Boot 1.3 News #渋谷Java
Spring Boot 1.3 News #渋谷JavaSpring Boot 1.3 News #渋谷Java
Spring Boot 1.3 News #渋谷JavaToshiaki Maki
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
CPAN Dependency Heaven
CPAN Dependency HeavenCPAN Dependency Heaven
CPAN Dependency HeavenOpusVL
 
Vagrant move over, here is Docker
Vagrant move over, here is DockerVagrant move over, here is Docker
Vagrant move over, here is DockerNick Belhomme
 
Bugzilla Installation Process
Bugzilla Installation ProcessBugzilla Installation Process
Bugzilla Installation ProcessVino Harikrishnan
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetMarc Cluet
 
Search and play more than 50 clips
Search and play more than 50 clipsSearch and play more than 50 clips
Search and play more than 50 clipsphanhung20
 
Gearman work queue in php
Gearman work queue in phpGearman work queue in php
Gearman work queue in phpBo-Yi Wu
 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialJoe Ferguson
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Matt Raible
 
Laravel 4 package development
Laravel 4 package developmentLaravel 4 package development
Laravel 4 package developmentTihomir Opačić
 
Rails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on RailsRails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on RailsDonSchado
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
 
A Tour of Wyriki
A Tour of WyrikiA Tour of Wyriki
A Tour of WyrikiMark Menard
 

Tendances (20)

BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And Groovy
 
One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP application
 
Spring Boot 1.3 News #渋谷Java
Spring Boot 1.3 News #渋谷JavaSpring Boot 1.3 News #渋谷Java
Spring Boot 1.3 News #渋谷Java
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
CPAN Dependency Heaven
CPAN Dependency HeavenCPAN Dependency Heaven
CPAN Dependency Heaven
 
Vagrant move over, here is Docker
Vagrant move over, here is DockerVagrant move over, here is Docker
Vagrant move over, here is Docker
 
Intro to Laravel
Intro to LaravelIntro to Laravel
Intro to Laravel
 
Bugzilla Installation Process
Bugzilla Installation ProcessBugzilla Installation Process
Bugzilla Installation Process
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and Puppet
 
Search and play more than 50 clips
Search and play more than 50 clipsSearch and play more than 50 clips
Search and play more than 50 clips
 
Gearman work queue in php
Gearman work queue in phpGearman work queue in php
Gearman work queue in php
 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
 
Laravel 4 package development
Laravel 4 package developmentLaravel 4 package development
Laravel 4 package development
 
Rails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on RailsRails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on Rails
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
 
A Tour of Wyriki
A Tour of WyrikiA Tour of Wyriki
A Tour of Wyriki
 

Similaire à Automatisation in development and testing - within budget

Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Automatisation in development and testing - within budget [IronCamp prague 20...
Automatisation in development and testing - within budget [IronCamp prague 20...Automatisation in development and testing - within budget [IronCamp prague 20...
Automatisation in development and testing - within budget [IronCamp prague 20...David Lukac
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
Minimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationMinimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationOutlyer
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
Control your deployments with Capistrano
Control your deployments with CapistranoControl your deployments with Capistrano
Control your deployments with CapistranoRamazan K
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 
Fullstack workshop
Fullstack workshopFullstack workshop
Fullstack workshopAssaf Gannon
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environmentSumedt Jitpukdebodin
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabAyush Sharma
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
Lightning branches at RedMart (Js conf Asia 2014 Talk)
Lightning branches at RedMart (Js conf Asia 2014  Talk)Lightning branches at RedMart (Js conf Asia 2014  Talk)
Lightning branches at RedMart (Js conf Asia 2014 Talk)Ritesh Angural
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment TacticsIan Barber
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby TeamArto Artnik
 
Container (Docker) Orchestration Tools
Container (Docker) Orchestration ToolsContainer (Docker) Orchestration Tools
Container (Docker) Orchestration ToolsDhilipsiva DS
 

Similaire à Automatisation in development and testing - within budget (20)

Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Automatisation in development and testing - within budget [IronCamp prague 20...
Automatisation in development and testing - within budget [IronCamp prague 20...Automatisation in development and testing - within budget [IronCamp prague 20...
Automatisation in development and testing - within budget [IronCamp prague 20...
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Minimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestrationMinimum Viable Docker: our journey towards orchestration
Minimum Viable Docker: our journey towards orchestration
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Control your deployments with Capistrano
Control your deployments with CapistranoControl your deployments with Capistrano
Control your deployments with Capistrano
 
End-to-end testing with geb
End-to-end testing with gebEnd-to-end testing with geb
End-to-end testing with geb
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Fullstack workshop
Fullstack workshopFullstack workshop
Fullstack workshop
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Revoke-Obfuscation
Revoke-ObfuscationRevoke-Obfuscation
Revoke-Obfuscation
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with Gitlab
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Lightning branches at RedMart (Js conf Asia 2014 Talk)
Lightning branches at RedMart (Js conf Asia 2014  Talk)Lightning branches at RedMart (Js conf Asia 2014  Talk)
Lightning branches at RedMart (Js conf Asia 2014 Talk)
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Container (Docker) Orchestration Tools
Container (Docker) Orchestration ToolsContainer (Docker) Orchestration Tools
Container (Docker) Orchestration Tools
 

Dernier

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
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
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
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

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 ...
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 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
 
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...
 
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
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Automatisation in development and testing - within budget