SlideShare a Scribd company logo
1 of 29
Cairo Testing Meetup
Sponsorship By Hosted By
Moataz Nabil
Software Engineer in Test ,
Zalando Lounge
Berlin , Germany
moataznabil.net
05.10.2018
QA Automation Pipeline
(Web , API and Performance Tests)
Learn How to Build Your Own
Cairo Testing Meetup
AGENDA
Who Am I
About Zalando
What is Continuous Delivery ?
QA Pipeline
Today we will take a look about
Tech Stack
Demo – Run Automation Tests locally
Continuous Integration
Run QA Automation Pipeline with Jenkins Pipeline
Build Your Configuration via Jenkinsfile and Jenkins Pipelines
Questions
WHO AM I ?
• Currently I'm working as SDET at Zalando in Berlin , Germany
• I have 14+ years of IT experience across development and testing
roles, automation testing , software quality assurance ,
performance and service delivery.
• I worked in Egypt before in different companies such as (Integrant
and Cequens) and working as Technical instructor and consultant
at TestPRO and delivered selenium automation course to different
groups.
• Recently I published my first Automation Course using Selenium
WebDriver on Udemy and I have channel on YouTube and also I
published different articles on LinkedIn and Medium
Image source : Zalando SE
In the past years, software delivery has made a big step
forward thanks to the implementation of continuous delivery.
Quality Assurance is no exception, and the acceleration of the
QA pipeline has helped shorten delivery cycles and bring
higher quality software.
What is Continuous Delivery – AKA CD ?
• Continuous Delivery is the ability to get changes
of all types—including new features, configuration
changes, bug fixes and experiments—into
production, or into the hands of
users, safely and quickly in a sustainable way.
• The goal is to make deployments—whether of a
large-scale distributed system, a complex
production environment, an embedded system, or
an app—predictable, routine affairs that can be
performed on demand.
Why Most Companies Are Getting Continuous
Delivery Wrong?
What comes to your mind when I say the words Continuous Integration
(CI) and Continuous Delivery (CD)?
You’re probably already thinking of popular tools and systems that
enable these processes, such as Jenkins CI, Ansible or Bamboo, and
wondering how to integrate them so you can proudly say that your
organization has a fully operational CI/CD process.
 We tend to spend a lot of time talking about the tools required to
ensure a successful Continuous Delivery process - and not enough
focusing on other critical elements.
 Don’t get me wrong, you simply can’t have a Continuous Delivery
process without automated tools and systems - but there’s more to it
than that.
The tools are vital. But they come second.
Why Continuous Delivery Isn’t Just About the
Tools?
• Each Department Has its Own Needs When it Comes to CD
• You Need to Think About the Process - Not Just the End
Result
Continuous Delivery Success: 5 Things to
Remember
Establishing a successful Continuous Delivery process in your organization is within
your reach.
Just remember these five points before you get started:
1. Focus on the process before the tools
2. Understand the needs of each team
3. Build one process to merge the combined needs of every team in the company
4. Implement the tools
5. Appoint a Continuous Delivery Engineer to manage all of the above!
For Continuous Delivery
People Come Before the
Tools
Enterprise Architecture + Organizational Culture
=
Continuous Delivery
Continous Integration vs. Continous Delivery
vs. Continous Deployment
QA Pipeline !
A fast and reliabel QA Pipeline is usually based on multi-level
automation tests and stable continuous integration, which
runs all of these tests on a daily basis against different test
environments.
Today we will take a look about
• A simple test automation framework written in Java programming
language, which contains basic test scenarios created by using some
of the most popular testing frameworks (Rest Assured, Serenity and
Selenium), which you might find very useful for your needs)
• Integrating with some of the most well known automation tools
• Executing different types of tests
• Adding beautiful visualization to created test automation pipeline
with the Jenkins Blue Ocean
Tech Stack
• Java
• Apache Maven
• JUnit - a basic Java unit tests framework
• Serenity - the backbone of the automation framework
that provides many useful features, like detailed
reporting, parallel execution and tests grouping by tags
• REST Assured - a framework for REST API tests
• Selenium WebDriver - a tool for UI automation tests
and web browser interaction
• Taurus - a performance testing tool that allows you to
write performance tests via yml scripts
Run Automation tests (Web , API and
Performance) locally
You can run smoke, API and UI tests accordingly:
mvn clean verify -Dtags="type:Smoke"
mvn clean verify -Dtags="type:API"
mvn clean verify -Dtags="type:UI"
bzt test.yml
For performance
Test using Taurus
Continuous Integration
• As soon as you implemented your first tests automation suite, it’s
time to take care of automation execution.
• Of course, you can run your tests manually, but it doesn’t make
sense if you can automate this step as well.
Automating Execution has many benefits
• Faster tests result feedback (you can configure automation tests to
run as soon as the code has been committed)
• Some tests might have a longer execution time and you can set
up nightly runs to verify results in the morning
• Fewer mistakes can happen if steps are automated (avoid human
errors)
• You can configure several agents to run automation tests in
parallel in different environments
Jenkins CI
One of the most commonly used CI servers for automation needs
is Jenkins. It is open source, allows you to run any kind of tests, and
integrates with almost anything you can imagine. It has one of the
biggest open source communities, and they bring Jenkins to new levels
year after year.
Build Your Configuration via Jenkinsfile and
Jenkins Pipelines
• Jenkins pipelines is a continuous delivery through code tool, which is
usually added under version control tools like Git.
• It basically means that you can configure, maintain, revert and add
build plans the same way you work with a code.
• At the same time, the Jenkins pipelines workflow has a nice
representation that shows you all steps of your build plan in action.
• This gives you a nice view on build steps with timing and results for
each.
• A file that contains pipelines code with build configuration is called
Jenkinsfile.
What is Blue Ocean ?
• Blue Ocean is a project developed by the Jenkins community team,
which improves the experience of using Jenkins pipelines for
continuous integration pipeline representation.
• First, you need to install required plugins. Go into “Manage Jenkins” ->
“Manage plugins” -> “Available” -> search for ‘Blue Ocean’
Run QA Automation Pipeline with Jenkins
Pipeline
Now It’s your Turn
• I hope this was useful and gave you useful information for
building your own automation tests pipeline, maybe from
scratch.
• Now, It‘s your turn to know more about Serenity, Selenium,
Taurus, Jenkins and automation tests in general
Questions ?!
Thank You ! 

More Related Content

What's hot

Test case management using jira
Test case management using jiraTest case management using jira
Test case management using jiraQMetry
 
Evidenced based management - Presentation at Scrum Australia 24 oct 2018
Evidenced based management - Presentation at Scrum Australia 24 oct 2018Evidenced based management - Presentation at Scrum Australia 24 oct 2018
Evidenced based management - Presentation at Scrum Australia 24 oct 2018Mia Horrigan
 
Cross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaCross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaEdureka!
 
Interview questions
Interview questionsInterview questions
Interview questionssivareddyeda
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test ResultsEric Proegler
 
Impact of QAOps on Software Quality
Impact of QAOps on Software QualityImpact of QAOps on Software Quality
Impact of QAOps on Software QualityMindfire LLC
 
Test automation: the ROI myth
Test automation: the ROI mythTest automation: the ROI myth
Test automation: the ROI mythGilles Mantel
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
test-plan-template-05.pdf
test-plan-template-05.pdftest-plan-template-05.pdf
test-plan-template-05.pdfgintpt
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? EdurekaEdureka!
 

What's hot (20)

Test case management using jira
Test case management using jiraTest case management using jira
Test case management using jira
 
QA-presentation
QA-presentationQA-presentation
QA-presentation
 
Evidenced based management - Presentation at Scrum Australia 24 oct 2018
Evidenced based management - Presentation at Scrum Australia 24 oct 2018Evidenced based management - Presentation at Scrum Australia 24 oct 2018
Evidenced based management - Presentation at Scrum Australia 24 oct 2018
 
Serenity-BDD training
Serenity-BDD trainingSerenity-BDD training
Serenity-BDD training
 
Cross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaCross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | Edureka
 
Interview questions
Interview questionsInterview questions
Interview questions
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
Testing Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabsTesting Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabs
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
 
Impact of QAOps on Software Quality
Impact of QAOps on Software QualityImpact of QAOps on Software Quality
Impact of QAOps on Software Quality
 
Test automation: the ROI myth
Test automation: the ROI mythTest automation: the ROI myth
Test automation: the ROI myth
 
Test Case Management Tools
Test Case Management ToolsTest Case Management Tools
Test Case Management Tools
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Getting Ready for UAT
Getting Ready for UATGetting Ready for UAT
Getting Ready for UAT
 
test-plan-template-05.pdf
test-plan-template-05.pdftest-plan-template-05.pdf
test-plan-template-05.pdf
 
Testing Services
Testing ServicesTesting Services
Testing Services
 
STLC
STLCSTLC
STLC
 
Chapter 5 - Test Management
Chapter 5 - Test ManagementChapter 5 - Test Management
Chapter 5 - Test Management
 
Test Automation
Test AutomationTest Automation
Test Automation
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 

Similar to Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and Jenkins Pipeline

How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...Simplilearn
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Modern_Continuous-Integration_Webinar
Modern_Continuous-Integration_WebinarModern_Continuous-Integration_Webinar
Modern_Continuous-Integration_WebinarAbhijit Pendyal
 
Beyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms OrganizationsBeyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms OrganizationsSauce Labs
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 
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 2014Clever Moe
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15Pierluigi Riti
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with RubyPierluigi Riti
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Cloud DevOps_ The Future of Agile Operations.pdf
Cloud DevOps_ The Future of Agile Operations.pdfCloud DevOps_ The Future of Agile Operations.pdf
Cloud DevOps_ The Future of Agile Operations.pdffeelhappy2
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfMinh Quân Đoàn
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case StudyTalentica Software
 
Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operationsteekhesawaal
 

Similar to Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and Jenkins Pipeline (20)

How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Modern_Continuous-Integration_Webinar
Modern_Continuous-Integration_WebinarModern_Continuous-Integration_Webinar
Modern_Continuous-Integration_Webinar
 
Beyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms OrganizationsBeyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms Organizations
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
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
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Cloud DevOps_ The Future of Agile Operations.pdf
Cloud DevOps_ The Future of Agile Operations.pdfCloud DevOps_ The Future of Agile Operations.pdf
Cloud DevOps_ The Future of Agile Operations.pdf
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operations
 

More from Moataz Nabil

Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps worldMoataz Nabil
 
Zalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium GridZalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium GridMoataz Nabil
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsMoataz Nabil
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOpsMoataz Nabil
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testingMoataz Nabil
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Moataz Nabil
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Moataz Nabil
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionMoataz Nabil
 

More from Moataz Nabil (10)

Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
Zalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium GridZalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium Grid
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test Tools
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testing
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off Session
 

Recently uploaded

SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionMohammed Fazuluddin
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...Marko Lohert
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...OnePlan Solutions
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerWave PLM
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersEmilyJiang23
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Soroosh Khodami
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Primacy Infotech
 

Recently uploaded (20)

SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
Reinforcement Learning – a Rewards Based Approach to Machine Learning - Marko...
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing Manufacturer
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 

Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and Jenkins Pipeline

  • 2. Moataz Nabil Software Engineer in Test , Zalando Lounge Berlin , Germany moataznabil.net 05.10.2018 QA Automation Pipeline (Web , API and Performance Tests) Learn How to Build Your Own Cairo Testing Meetup
  • 3. AGENDA Who Am I About Zalando What is Continuous Delivery ? QA Pipeline Today we will take a look about Tech Stack Demo – Run Automation Tests locally Continuous Integration Run QA Automation Pipeline with Jenkins Pipeline Build Your Configuration via Jenkinsfile and Jenkins Pipelines Questions
  • 4. WHO AM I ? • Currently I'm working as SDET at Zalando in Berlin , Germany • I have 14+ years of IT experience across development and testing roles, automation testing , software quality assurance , performance and service delivery. • I worked in Egypt before in different companies such as (Integrant and Cequens) and working as Technical instructor and consultant at TestPRO and delivered selenium automation course to different groups. • Recently I published my first Automation Course using Selenium WebDriver on Udemy and I have channel on YouTube and also I published different articles on LinkedIn and Medium
  • 5. Image source : Zalando SE
  • 6. In the past years, software delivery has made a big step forward thanks to the implementation of continuous delivery. Quality Assurance is no exception, and the acceleration of the QA pipeline has helped shorten delivery cycles and bring higher quality software.
  • 7. What is Continuous Delivery – AKA CD ? • Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. • The goal is to make deployments—whether of a large-scale distributed system, a complex production environment, an embedded system, or an app—predictable, routine affairs that can be performed on demand.
  • 8. Why Most Companies Are Getting Continuous Delivery Wrong? What comes to your mind when I say the words Continuous Integration (CI) and Continuous Delivery (CD)? You’re probably already thinking of popular tools and systems that enable these processes, such as Jenkins CI, Ansible or Bamboo, and wondering how to integrate them so you can proudly say that your organization has a fully operational CI/CD process.
  • 9.  We tend to spend a lot of time talking about the tools required to ensure a successful Continuous Delivery process - and not enough focusing on other critical elements.  Don’t get me wrong, you simply can’t have a Continuous Delivery process without automated tools and systems - but there’s more to it than that. The tools are vital. But they come second.
  • 10. Why Continuous Delivery Isn’t Just About the Tools? • Each Department Has its Own Needs When it Comes to CD • You Need to Think About the Process - Not Just the End Result
  • 11. Continuous Delivery Success: 5 Things to Remember Establishing a successful Continuous Delivery process in your organization is within your reach. Just remember these five points before you get started: 1. Focus on the process before the tools 2. Understand the needs of each team 3. Build one process to merge the combined needs of every team in the company 4. Implement the tools 5. Appoint a Continuous Delivery Engineer to manage all of the above!
  • 12. For Continuous Delivery People Come Before the Tools
  • 13. Enterprise Architecture + Organizational Culture = Continuous Delivery
  • 14. Continous Integration vs. Continous Delivery vs. Continous Deployment
  • 15.
  • 16. QA Pipeline ! A fast and reliabel QA Pipeline is usually based on multi-level automation tests and stable continuous integration, which runs all of these tests on a daily basis against different test environments.
  • 17. Today we will take a look about • A simple test automation framework written in Java programming language, which contains basic test scenarios created by using some of the most popular testing frameworks (Rest Assured, Serenity and Selenium), which you might find very useful for your needs) • Integrating with some of the most well known automation tools • Executing different types of tests • Adding beautiful visualization to created test automation pipeline with the Jenkins Blue Ocean
  • 18. Tech Stack • Java • Apache Maven • JUnit - a basic Java unit tests framework • Serenity - the backbone of the automation framework that provides many useful features, like detailed reporting, parallel execution and tests grouping by tags • REST Assured - a framework for REST API tests • Selenium WebDriver - a tool for UI automation tests and web browser interaction • Taurus - a performance testing tool that allows you to write performance tests via yml scripts
  • 19. Run Automation tests (Web , API and Performance) locally
  • 20. You can run smoke, API and UI tests accordingly: mvn clean verify -Dtags="type:Smoke" mvn clean verify -Dtags="type:API" mvn clean verify -Dtags="type:UI" bzt test.yml For performance Test using Taurus
  • 21. Continuous Integration • As soon as you implemented your first tests automation suite, it’s time to take care of automation execution. • Of course, you can run your tests manually, but it doesn’t make sense if you can automate this step as well.
  • 22. Automating Execution has many benefits • Faster tests result feedback (you can configure automation tests to run as soon as the code has been committed) • Some tests might have a longer execution time and you can set up nightly runs to verify results in the morning • Fewer mistakes can happen if steps are automated (avoid human errors) • You can configure several agents to run automation tests in parallel in different environments
  • 23. Jenkins CI One of the most commonly used CI servers for automation needs is Jenkins. It is open source, allows you to run any kind of tests, and integrates with almost anything you can imagine. It has one of the biggest open source communities, and they bring Jenkins to new levels year after year.
  • 24. Build Your Configuration via Jenkinsfile and Jenkins Pipelines • Jenkins pipelines is a continuous delivery through code tool, which is usually added under version control tools like Git. • It basically means that you can configure, maintain, revert and add build plans the same way you work with a code. • At the same time, the Jenkins pipelines workflow has a nice representation that shows you all steps of your build plan in action. • This gives you a nice view on build steps with timing and results for each. • A file that contains pipelines code with build configuration is called Jenkinsfile.
  • 25. What is Blue Ocean ? • Blue Ocean is a project developed by the Jenkins community team, which improves the experience of using Jenkins pipelines for continuous integration pipeline representation. • First, you need to install required plugins. Go into “Manage Jenkins” -> “Manage plugins” -> “Available” -> search for ‘Blue Ocean’
  • 26. Run QA Automation Pipeline with Jenkins Pipeline
  • 27. Now It’s your Turn • I hope this was useful and gave you useful information for building your own automation tests pipeline, maybe from scratch. • Now, It‘s your turn to know more about Serenity, Selenium, Taurus, Jenkins and automation tests in general
  • 29. Thank You !