SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
KEEP YOUR APPLICATIONS TUNED
Functional Testing
by
Kristof Debruyne & José Luis Santos
facilitator facilitator
knowledge
EMPOWER
ONLINE TEAMS01 ACTIVATE YOUR
DIGITAL CUSTOMERS02 ACTIONABLE
INSIGHTS03 CONTINUOUS
AUTOMATION04
Adobe Experience Cloud
Personalization
Analytics
Full Stack Web apps
APIs
Java / JS
Machine learning / Big
Data / Monitoring
DevOps practices /
Automated FT /
Continuous Integr.
CUSTOMER JOURNEYS SUPPORT
EMPOWER
ONLINE TEAMS01 ACTIVATE YOUR
DIGITAL CUSTOMERS02 ACTIONABLE
INSIGHTS03 CONTINUOUS
AUTOMATION04
01
02
03
04
#StopTheBullshit
 E-services migration
 AEM, Apache Sling, Apache Jack Rabbit (JCR), Apache Felix (OSGi), Slice,
JMX, AngularJS
 Initial goal of functional testing
 Goal: Improve overall code stability
THE MISSION
OUR WAY OF WORKING (1/2)
 6 teams
 8 master releases per year / every 3 weeks maintenance release
 1 master release = 3 sprints
 DoD and functional testing
OUR WAY OF WORKING (2/2)
SETUP
 Gherkin language
 CLI-runner
 Simple life cycle
• Alternative for JBehave / JFunc
• 3-layer: feature, scenario, step
CUCUMBER
 Feature
 Scenario
 Step definition
 Hook
TERMINOLOGY
 Tag
 Cuke
 Glue
FEATURE DRIVEN
LIFE CYCLE
RECOMMENDATIONS (1/2)
 Imperative vs declarative
 clear separation (scope) of scenarios
 Don’t put meta data in step defs
 Group tag scenario’s
RECOMMENDATIONS (2/2)
 Context driven (no state in step definitions)
 Never -> Thread.sleep(x)
 Performance as important factor
 Scenario outlines (tables)
REPORTING (1/3)
REPORTING (2/3)
REPORTING (3/3)
PROS AND CONS
PROS CONS
+ Regression out-of-the-box (return of
investment)
+ Quality assurance tool to improve
overall code quality
+ Acts as JavaScript test tool (if you don’t
have KarmaJS, JasemineJS, etc …)
+ Rebase verification
+ Test mobile development (emulated
but works pretty well) / multiple
browsers
+ Nice reporting (pdf + screenshots)
+ Other stuff (test toggles, AEM
components, etc …)
- Time consuming (full time job)
- High setup cost
- Inconsistency of mock data results in
bad tests
- Team effort (all stakeholders!)
otherwise it is useless
 https://cucumber.io
 http://cucumber.github.io/api/cucumber/jvm/javadoc
 https://en.wikipedia.org/wiki/Behavior-driven_development
RESOURCES
Workshop - Functional Testing - Lessons Learned

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
 
Selenium conference, 2016
Selenium conference, 2016Selenium conference, 2016
Selenium conference, 2016
 
Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014Helpful Automation Techniques - Selenium Camp 2014
Helpful Automation Techniques - Selenium Camp 2014
 
Accelerating DevOps Collaboration with Sauce Labs and JIRA
Accelerating DevOps Collaboration with Sauce Labs and JIRAAccelerating DevOps Collaboration with Sauce Labs and JIRA
Accelerating DevOps Collaboration with Sauce Labs and JIRA
 
End to end test automation with cypress
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel Meetup
 
Parallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce LabsParallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce Labs
 
DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016
 
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce LabsHow To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
How To Combine Back-End 
 & Front-End Testing with BlazeMeter & Sauce Labs
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and Kubernetes
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
Belfast Selenium Meetup
Belfast Selenium MeetupBelfast Selenium Meetup
Belfast Selenium Meetup
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentationLONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
 
automationframework
automationframeworkautomationframework
automationframework
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 

Semelhante a Workshop - Functional Testing - Lessons Learned

Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Ho Chi Minh City Software Testing Club
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
manoj_kumar_resume
manoj_kumar_resumemanoj_kumar_resume
manoj_kumar_resume
Manoj Kumar
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
Rahul Singh
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
Jesy George
 

Semelhante a Workshop - Functional Testing - Lessons Learned (20)

DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 
Poster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftPoster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ Microsoft
 
Marcoso_QA_CV
Marcoso_QA_CVMarcoso_QA_CV
Marcoso_QA_CV
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
 
XStudio
XStudioXStudio
XStudio
 
ABHAY_SHUKLA
ABHAY_SHUKLAABHAY_SHUKLA
ABHAY_SHUKLA
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
manoj_kumar_resume
manoj_kumar_resumemanoj_kumar_resume
manoj_kumar_resume
 
ApoorvaTiwari
ApoorvaTiwariApoorvaTiwari
ApoorvaTiwari
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
 
Punith_CV
Punith_CVPunith_CV
Punith_CV
 
sushant
sushantsushant
sushant
 
V katakam
V katakamV katakam
V katakam
 

Mais de Jose Luis Santos Odriozola

Public PhD defense
Public PhD defensePublic PhD defense
Public PhD defense
Jose Luis Santos Odriozola
 
LAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCsLAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCs
Jose Luis Santos Odriozola
 

Mais de Jose Luis Santos Odriozola (19)

DiD at the XPDays Benelux
DiD at the XPDays BeneluxDiD at the XPDays Benelux
DiD at the XPDays Benelux
 
Public PhD defense
Public PhD defensePublic PhD defense
Public PhD defense
 
LAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCsLAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCs
 
Seminar at UC3M Madrid
Seminar at UC3M MadridSeminar at UC3M Madrid
Seminar at UC3M Madrid
 
20131007 peno3 sessie3_sven_jose
20131007 peno3 sessie3_sven_jose20131007 peno3 sessie3_sven_jose
20131007 peno3 sessie3_sven_jose
 
20130918 ectel cyprus_jose
20130918 ectel cyprus_jose20130918 ectel cyprus_jose
20130918 ectel cyprus_jose
 
Presentation @LAK13
Presentation @LAK13 Presentation @LAK13
Presentation @LAK13
 
WeSPOT presentation with Alacatel-lucent
WeSPOT presentation with Alacatel-lucent WeSPOT presentation with Alacatel-lucent
WeSPOT presentation with Alacatel-lucent
 
Final presentación
Final presentaciónFinal presentación
Final presentación
 
Project management and data store
Project management and data storeProject management and data store
Project management and data store
 
Peno 3 Google App Engine introduction
Peno 3 Google App Engine introductionPeno 3 Google App Engine introduction
Peno 3 Google App Engine introduction
 
Peno3 instructions
Peno3 instructionsPeno3 instructions
Peno3 instructions
 
Learning Analytics MUME 2012
Learning Analytics MUME 2012Learning Analytics MUME 2012
Learning Analytics MUME 2012
 
Empowering students to reflect on their activity with StepUp!
Empowering students to reflect on their activity with StepUp!Empowering students to reflect on their activity with StepUp!
Empowering students to reflect on their activity with StepUp!
 
Lak12 jlsantos-v2
Lak12 jlsantos-v2Lak12 jlsantos-v2
Lak12 jlsantos-v2
 
Datastore
DatastoreDatastore
Datastore
 
Project management
Project managementProject management
Project management
 
Quantified learning
Quantified learningQuantified learning
Quantified learning
 
Registry slides for Se@m Workshop
Registry slides for Se@m Workshop Registry slides for Se@m Workshop
Registry slides for Se@m Workshop
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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 New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Workshop - Functional Testing - Lessons Learned