SlideShare a Scribd company logo
1 of 50
Download to read offline
5 STEPS TO JUMP-START
YOUR TEST AUTOMATION
DIEGO MOLINA, SENIOR SOFTWARE ENGINEER
MAY 28, 2019
Who Am I?
• OSS & Selenium Enthusiast
• Love testing
• Selenium contributor & committer
• Co-creator and maintainer docker-selenium and Zalenium projects
• Sr. Software Engineer @
diemol diegofmolina
• Will be a the next Appium Conference in Bangalore, June 13-15
2
E
D
C
B
A
Team Setup
Testing
Framework
Test the
Right Thing
When to
Run Tests
Get People
to Join You
STORY TIME
Photo by Ehud Neuhaus on Unsplash
My Story
5
Testing was done
by end users
Wrote tests for every
single use case
Oh, I have too
many tests!
Built my own test
infrastructure
Hmm, I can add
more tests!
Oh, I have too
many tests!
Why Automate?
6
Why Automate?
7
Software Development has changed, we are faster now
Proprietary
Single Stack
On-Premise
Open Source
Best of Breed
Cloud-based
Tools
Process
Waterfall
Fast
Waterfall
Continuous
Integration
Continuous
Delivery
Speed of
Releases
On DemandDailyWeeklyMonthlyQuarterlyAnnually
Desktop/Packaged Apps
Thick-Client Apps
Web Apps
Mobile Apps
Desktop Web
Responsive Web
Apps
Photo by Mpho Mojapelo on Unsplash
TEAM SETUP
Testers are in a separate team
• Languages with an easy setup and a simple entry level, like Python or Ruby
9
Jumping into automation? What programming language should we use?
PYPL PopularitY of Programming Language
Testers are in a separate team
• Languages with an easy setup and a simple entry level, like Python or Ruby
10
Jumping into automation? What programming language should we use?
Top languages over time - GitHub Octoverse StackOverflow Survey 2019
Testers are in a separate team
• Aim for great communication with the Product Owner and the Dev team
• Get access the story|task|feature definitions to create tests
• Get business context from Product Owners to prioritise activities
• Get as much information as possible (tech stack, system architecture, etc…)
• Go step by step when implementing the first automated tests
• Be in synch with the Dev team
• Define a bug report flow
• Agree on a working pace
11
Testing Role is part of the team
• One or more team members have the role of guiding the team in testing
• App code and test code use the same programming language
• Leverages team collaboration
• Testing has the good practices used in the software development lifecycle
• Test automation is also a software project
• Test code is in the same repository where the App code is
• Simplifies flows to write tests for features that are not yet in production
12
Independently from the team setup
• Invest time looking for a test framework that helps the team move faster
• More about this on the next slides
• Test design and implementation are a team task
• Document how:
• Tests are structured
• Run, add and remove tests
• Pair program and do code reviews
• Treat test code as production code
• Continuously evaluate if the existing test cases deliver enough value
13
How the Team Setup should evolve
14
Continuous
Integration
Full adoption of Agile
Automated testing
dominates;
manual for debugging or
exploratory
Dev. and QA
collaborate closely
Fast Waterfall
Initial adoption of Agile
Automated testing begins
Dev. & QA start
communicate
Waterfall
Traditional sequential
design model
Manual testing
dominates
Dev. & QA completely
separate
Process
People
Tools
Continuous
Delivery
Fully automated
Development process
Automated testing core
to Dev. & Delivery
Manual for exploratory
Dev. and QA
functions merge
TESTING FRAMEWORK
Photo by Dayne Topkin on Unsplash
Why a testing framework?
Reduce maintenance costs
Be Faster
Be Reactive
16
17
Assertions on Actions
Initialization and Cleanup
Data Modeling/Mocking
Configuration
Site Modeling Abstractions
Wrappers and Helpers
API Usage
Future ready features
Local and Cloud setups
Speed
Debugging features
Cross browser
Simulators-Emulators/Real Devices
Built in reporting or easy to plug in
What features should my testing framework have?
How do I build my testing framework?
By using Open Source
WebDriverIO Watir Selenide Nerodia
Allure GHP Reporter
WireMock Mockoon Json-Server
Mimesis Faker(Ruby, Python, JS) Mockaroo
(and many others)
18
How to choose an Open Source tool?
Programming language support
Check ★s and forks
Check activity (issues/PRs)
Help/Support channels
Documentation
Involve the whole team
Do a Proof of Concept
19
Photo by Matt Briney on Unsplash
TEST THE RIGHT THING
Should we automate everything?
21
https://xkcd.com/1319/
What is the Right Thing to test?
• Identify main application flows, the ones that must always work
• A clear understanding of the flows is needed, inputs/outputs must be clear.
• How bad is it if this feature/behaviour breaks?
• How much value does the test have? How big is the risk that mitigates?
• Analytics can help you to get more answers
22
23
Is login working?
Is registration working?
Are errors shown for wrong passwords?
Are ads displayed?
Are emails being sent?
Can items be added to the basket?
Can users change their information?
Can users pay?
Can users add new payment methods?
Are product images displayed?
Is the page responsive?
Can users logout?
Example
Online Shopping Site
24
Is login working?
Is registration working?
Are errors shown for wrong passwords?
Are ads displayed?
Are emails being sent?
Can items be added to the basket?
Can users change their information?
Can users pay?
Can users add new payment methods?
Are product images displayed?
Is the page responsive?
Can users logout?
Example
Online Shopping Site
How Analytics could help
25
Browsers
How Analytics could help
26
Browsers/Platforms
How Analytics could help
27
Browser Versions
How Analytics could help
28
Browser/Screen Resolution
How Analytics could help
29
Device Details / Platforms
How many tests are enough?
• To start, we identified 5 main flows. Automating them gives us:
• A lot of value because most of the users go through them
• Security because they lower the risk of breaking something important
• Based on Analytics, we will run them in:
• 3 different browsers (Chrome, Firefox, Safari)
• 2 different OS (Windows, OSX)
• 3 different screen resolutions
• 7 different browser versions (Chrome 71-74, Firefox 64-65, Safari 12)
• 120 + 60 + 15 = 195 tests
• Automate high value tests
30
Use good practices
• Atomic and focused tests
• Readable, faster and more stable
• Sauce Labs Continuous Testing Benchmark report
31
https://info.saucelabs.com/sauce-labs-continuous-testing-benchmark-report-M.html
Use good practices
• Focus on reusability and maintainability
• Avoid code duplication across tests and helper classes/methods
• Every test must be autonomous
• Tests can run in any order without depending on each other
• Write tests and code only for the current requirements
• Avoid complex designs that consider potential future use cases
• Overengineering is overkilling
• Get familiar with software design patterns
• They can benefit automation testing as well
• Base your work on testing plans and/or strategies, not on tools
32
Photo by Maximilian Weisbecker on Unsplash
WHEN (AND WHERE)
TO RUN TESTS
It all depends on the stage where we are
34
Continuous
Integration
Full adoption of Agile
Automated testing
dominates;
manual for debugging or
exploratory
Dev. and QA
collaborate closely
Fast Waterfall
Initial adoption of Agile
Automated testing begins
Dev. & QA start
communicate
Waterfall
Traditional sequential
design model
Manual testing
dominates
Dev. & QA completely
separate
Process
People
Tools
Continuous
Delivery
Fully automated
Development process
Automated testing core
to Dev. & Delivery
Manual for exploratory
Dev. and QA
functions merge
Early stages...
35
Process
People
Tools
When
Big pre-release session
Bug hunting sessions
Regular validation cycles
Where
Locally on desktops
or in the cloud
Shared testing
environments
Why
Not enough time to test
more often due to the
nature of manual testing
Waterfall
Traditional sequential
design model
Manual testing
dominates
Dev. & QA completely
separate
Early automation stage...
36
Process
People
Tools
One or more times
per day
Triggered manually or on
schedule based
Combined with manual
before releasing
Locally on desktops, own
Grid or in the cloud
Initial setup of a CI server
to run on schedule
Shared testing
environments
Fast Waterfall
Initial adoption of Agile
Automated testing begins
Dev. & QA start
communicate
When Where Why
While gaining confidence
in automation, results
need to be triaged and
use that to improve test
resilience and confidence.
Automation starts to get
relevant but it is not part
of the main pipeline yet.
Automation dominates...
37
Process
People
Tools
On every commit and
pull/merge request
After merging
Cloud
CI server integrated to
development flow
Managed testing
environment for SUT
Continuous
Integration
Full adoption of Agile
Automated testing
dominates;
manual for debugging or
exploratory
Dev. and QA
collaborate closely
When Where Why
Fast feedback through
automated testing
Automated testing is now
part of the Quality Gate
Cloud - infrastructure is
vital for success. A
malfunctioning
infrastructure slows down
the development process.
Automation in everything...
38
Process
People
Tools
When
On pre-commit, commit,
and merge/pull requests
After merging
After release
Cloud
CI server integrated to
development flow
Dedicated testing
environment for SUT
Production
Continuous
Delivery
Fully automated
Development process
Automated testing core
to Dev. & Delivery
Manual for exploratory
Dev. and QA
functions merge
When Where Why
Automated tests are fully
resilient and trustable.
Can be used in all
environments.
Cloud - infrastructure is
vital for success. A robust
infrastructure is key for
confidence.
Photo by Priscilla Du Preez on Unsplash
GET PEOPLE TO JOIN YOU
How do I motivate my coworkers?
You
Team/Department
Company
40
Getting your team, manager, department and company onboard
Motivate yourself
Risks
• Not moving in a constantly changing industry: testing
• Missing opportunities to improve testing of the product
• Getting overwhelmed by repetitive tasks
Actions
• Get a % of your time for training, with the purpose of spreading it internally
• Join online testing chats to get ideas and support
• Be the agent that triggers change in your team and organisation
41
Motivating my Team/Department
Risks
• Dev vs. QA brings confusion and low motivation
• Silos break communication, brings different expectations for testing
• Low trust in automation
Actions
• Test earlier, pair with devs to find better ways to test features
• Create a testing framework based on OSS
• Show progress through beautiful reports and dashboards
• Create simple guidelines on what to test and what to expect from testing
• Perform internal training sessions to help people improve
42
Motivating my Company
Risks
• Slow organisations hardly evolve at the same pace as the marketplace
• Testing can become a bottleneck, which could lead to unstable products
• User experience and reliability are hurt if testing is treated as an afterthought
Actions
• Connect business success metrics with testing
• How did a bug in production reduce revenue?
• PoC with testing as a business enabler
• Increase release frequency and speed
• Improve product reliability
43
Photo by Cathryn Lavery on Unsplash
RECAP
E
D
C
B
A
Team Setup
Testing
Framework
Test the
Right Thing
When to
Run Tests
Get People
to Join You
The Continuous
Testing Journey
The Continuous
Testing Journey
LEGACY
TESTING
CONTINUOUS
TESTING
● Executive Sponsor
● Org Structure
● Development
Methodology
● Methodology,
Framework &
Infrastructure
● Authoring Plan
● Skills Development
Plan
● Cloud execution &
parallelization
● Pipeline integration
● Adoption Plan
● Analytics
● Shift Left
● Shift Right
PROOF OF
AUTOMATION VALUE
● Release faster
● Lower risks
● Increase developer productivity
● Delight your customers
THANK YOU
Photo by Stefan Widua on Unsplash
Resources
48
Sauce Labs Continuous Testing Benchmark report
https://info.saucelabs.com/sauce-labs-continuous-testing-benchmark-report-M.html
The Inquiry Method for Test Planning
https://testing.googleblog.com/2016/06/the-inquiry-method-for-test-planning.html
Sauce Labs free trainings
https://training.saucelabs.com/
Selenium Channel
https://seleniumhq.herokuapp.com/
Appium Channel
https://gitter.im/appium/appium
Ministry of Testing Channel
https://www.ministryoftesting.com/slack_invite
Software Testers Channel
https://software-testers.herokuapp.com/
5 STEPS TO JUMP-START YOUR TEST AUTOMATION
DIEGO MOLINA, SENIOR SOFTWARE ENGINEER
MAY 28, 2019
Q/A
50
It is never too late
Diffusion of Innovation (developed by E.M. Rogers, 1962)
Innovators
2.5%
Early Adopters
13.5%
Early Majority
34%
Late Majority
34%
Laggards
16%

More Related Content

What's hot

A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityTechWell
 
Continuous Quality: DevOps with Quality by Josh Eastman
Continuous Quality: DevOps with Quality by Josh EastmanContinuous Quality: DevOps with Quality by Josh Eastman
Continuous Quality: DevOps with Quality by Josh EastmanQA or the Highway
 
Testing Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack MaherTesting Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack MaherQA or the Highway
 
The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyTechWell
 
Try: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim GrantTry: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim GrantQA or the Highway
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraQASymphony
 
Add Security Testing Tools to Your Delivery Pipeline
Add Security Testing Tools to Your Delivery PipelineAdd Security Testing Tools to Your Delivery Pipeline
Add Security Testing Tools to Your Delivery PipelineTechWell
 
The agile way: the complete guide to understanding agile methodologies
The agile way:  the complete guide to understanding agile methodologiesThe agile way:  the complete guide to understanding agile methodologies
The agile way: the complete guide to understanding agile methodologiesQASymphony
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAgile Testing Alliance
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
DevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph OursDevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph OursQA or the Highway
 
Continuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QAContinuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QAJeff Sussna
 
Selenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing PyramidSelenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing PyramidNaresh Jain
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
 
Panoramic Quality: The Fellowship of Testing in DevOps
Panoramic Quality: The Fellowship of Testing in DevOpsPanoramic Quality: The Fellowship of Testing in DevOps
Panoramic Quality: The Fellowship of Testing in DevOpsBrendan Connolly
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 

What's hot (19)

A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software Quality
 
Continuous Quality: DevOps with Quality by Josh Eastman
Continuous Quality: DevOps with Quality by Josh EastmanContinuous Quality: DevOps with Quality by Josh Eastman
Continuous Quality: DevOps with Quality by Josh Eastman
 
Testing Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack MaherTesting Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack Maher
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing Strategy
 
Try: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim GrantTry: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim Grant
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile era
 
Add Security Testing Tools to Your Delivery Pipeline
Add Security Testing Tools to Your Delivery PipelineAdd Security Testing Tools to Your Delivery Pipeline
Add Security Testing Tools to Your Delivery Pipeline
 
The agile way: the complete guide to understanding agile methodologies
The agile way:  the complete guide to understanding agile methodologiesThe agile way:  the complete guide to understanding agile methodologies
The agile way: the complete guide to understanding agile methodologies
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
DevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph OursDevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph Ours
 
Continuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QAContinuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QA
 
Selenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing PyramidSelenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing Pyramid
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Panoramic Quality: The Fellowship of Testing in DevOps
Panoramic Quality: The Fellowship of Testing in DevOpsPanoramic Quality: The Fellowship of Testing in DevOps
Panoramic Quality: The Fellowship of Testing in DevOps
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 

Similar to 5 Steps to Jump Start Your Test Automation

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
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software TestingMohammed Moishin
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using SeleniumTechWell
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsTechWell
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemSundar Sritharan
 
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
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationClever Moe
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organizationanuvip
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughAngela Dugan
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
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 AutomationClever Moe
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 

Similar to 5 Steps to Jump Start Your Test Automation (20)

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
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software Testing
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud Applications
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
 
E2 e test with testcafe
E2 e test with testcafeE2 e test with testcafe
E2 e test with testcafe
 
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
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Agile testing
Agile testingAgile testing
Agile testing
 
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
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Software testing
Software testingSoftware testing
Software testing
 

More from Sauce Labs

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSauce Labs
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesSauce Labs
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingSauce Labs
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationSauce Labs
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) TestingSauce Labs
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsSauce Labs
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionSauce Labs
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartSauce Labs
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.ioSauce Labs
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Sauce Labs
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingSauce Labs
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiSauce Labs
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Sauce Labs
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaSauce Labs
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleSauce Labs
 
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha CoffmanAutomated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha CoffmanSauce Labs
 
Building The Blocks of Trust in Automation by Sneha Viswalingam
Building The Blocks of Trust in Automation by Sneha ViswalingamBuilding The Blocks of Trust in Automation by Sneha Viswalingam
Building The Blocks of Trust in Automation by Sneha ViswalingamSauce Labs
 
What's that smell? Tidying Up our Test Code by Angie Jones
What's that smell? Tidying Up our Test Code by Angie JonesWhat's that smell? Tidying Up our Test Code by Angie Jones
What's that smell? Tidying Up our Test Code by Angie JonesSauce Labs
 

More from Sauce Labs (20)

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location Services
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI Testing
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test Automation
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) Testing
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product Obsession
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous Testing
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu Peteti
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa Benua
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny Bramble
 
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha CoffmanAutomated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
 
Building The Blocks of Trust in Automation by Sneha Viswalingam
Building The Blocks of Trust in Automation by Sneha ViswalingamBuilding The Blocks of Trust in Automation by Sneha Viswalingam
Building The Blocks of Trust in Automation by Sneha Viswalingam
 
What's that smell? Tidying Up our Test Code by Angie Jones
What's that smell? Tidying Up our Test Code by Angie JonesWhat's that smell? Tidying Up our Test Code by Angie Jones
What's that smell? Tidying Up our Test Code by Angie Jones
 

Recently uploaded

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
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.pptxRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
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
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
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 Ontologyjohnbeverley2021
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
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
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
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 DevelopersWSO2
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
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
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 

Recently uploaded (20)

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
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...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
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...
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
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
 
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
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
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
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 

5 Steps to Jump Start Your Test Automation

  • 1. 5 STEPS TO JUMP-START YOUR TEST AUTOMATION DIEGO MOLINA, SENIOR SOFTWARE ENGINEER MAY 28, 2019
  • 2. Who Am I? • OSS & Selenium Enthusiast • Love testing • Selenium contributor & committer • Co-creator and maintainer docker-selenium and Zalenium projects • Sr. Software Engineer @ diemol diegofmolina • Will be a the next Appium Conference in Bangalore, June 13-15 2
  • 3. E D C B A Team Setup Testing Framework Test the Right Thing When to Run Tests Get People to Join You
  • 4. STORY TIME Photo by Ehud Neuhaus on Unsplash
  • 5. My Story 5 Testing was done by end users Wrote tests for every single use case Oh, I have too many tests! Built my own test infrastructure Hmm, I can add more tests! Oh, I have too many tests!
  • 7. Why Automate? 7 Software Development has changed, we are faster now Proprietary Single Stack On-Premise Open Source Best of Breed Cloud-based Tools Process Waterfall Fast Waterfall Continuous Integration Continuous Delivery Speed of Releases On DemandDailyWeeklyMonthlyQuarterlyAnnually Desktop/Packaged Apps Thick-Client Apps Web Apps Mobile Apps Desktop Web Responsive Web Apps
  • 8. Photo by Mpho Mojapelo on Unsplash TEAM SETUP
  • 9. Testers are in a separate team • Languages with an easy setup and a simple entry level, like Python or Ruby 9 Jumping into automation? What programming language should we use? PYPL PopularitY of Programming Language
  • 10. Testers are in a separate team • Languages with an easy setup and a simple entry level, like Python or Ruby 10 Jumping into automation? What programming language should we use? Top languages over time - GitHub Octoverse StackOverflow Survey 2019
  • 11. Testers are in a separate team • Aim for great communication with the Product Owner and the Dev team • Get access the story|task|feature definitions to create tests • Get business context from Product Owners to prioritise activities • Get as much information as possible (tech stack, system architecture, etc…) • Go step by step when implementing the first automated tests • Be in synch with the Dev team • Define a bug report flow • Agree on a working pace 11
  • 12. Testing Role is part of the team • One or more team members have the role of guiding the team in testing • App code and test code use the same programming language • Leverages team collaboration • Testing has the good practices used in the software development lifecycle • Test automation is also a software project • Test code is in the same repository where the App code is • Simplifies flows to write tests for features that are not yet in production 12
  • 13. Independently from the team setup • Invest time looking for a test framework that helps the team move faster • More about this on the next slides • Test design and implementation are a team task • Document how: • Tests are structured • Run, add and remove tests • Pair program and do code reviews • Treat test code as production code • Continuously evaluate if the existing test cases deliver enough value 13
  • 14. How the Team Setup should evolve 14 Continuous Integration Full adoption of Agile Automated testing dominates; manual for debugging or exploratory Dev. and QA collaborate closely Fast Waterfall Initial adoption of Agile Automated testing begins Dev. & QA start communicate Waterfall Traditional sequential design model Manual testing dominates Dev. & QA completely separate Process People Tools Continuous Delivery Fully automated Development process Automated testing core to Dev. & Delivery Manual for exploratory Dev. and QA functions merge
  • 15. TESTING FRAMEWORK Photo by Dayne Topkin on Unsplash
  • 16. Why a testing framework? Reduce maintenance costs Be Faster Be Reactive 16
  • 17. 17 Assertions on Actions Initialization and Cleanup Data Modeling/Mocking Configuration Site Modeling Abstractions Wrappers and Helpers API Usage Future ready features Local and Cloud setups Speed Debugging features Cross browser Simulators-Emulators/Real Devices Built in reporting or easy to plug in What features should my testing framework have?
  • 18. How do I build my testing framework? By using Open Source WebDriverIO Watir Selenide Nerodia Allure GHP Reporter WireMock Mockoon Json-Server Mimesis Faker(Ruby, Python, JS) Mockaroo (and many others) 18
  • 19. How to choose an Open Source tool? Programming language support Check ★s and forks Check activity (issues/PRs) Help/Support channels Documentation Involve the whole team Do a Proof of Concept 19
  • 20. Photo by Matt Briney on Unsplash TEST THE RIGHT THING
  • 21. Should we automate everything? 21 https://xkcd.com/1319/
  • 22. What is the Right Thing to test? • Identify main application flows, the ones that must always work • A clear understanding of the flows is needed, inputs/outputs must be clear. • How bad is it if this feature/behaviour breaks? • How much value does the test have? How big is the risk that mitigates? • Analytics can help you to get more answers 22
  • 23. 23 Is login working? Is registration working? Are errors shown for wrong passwords? Are ads displayed? Are emails being sent? Can items be added to the basket? Can users change their information? Can users pay? Can users add new payment methods? Are product images displayed? Is the page responsive? Can users logout? Example Online Shopping Site
  • 24. 24 Is login working? Is registration working? Are errors shown for wrong passwords? Are ads displayed? Are emails being sent? Can items be added to the basket? Can users change their information? Can users pay? Can users add new payment methods? Are product images displayed? Is the page responsive? Can users logout? Example Online Shopping Site
  • 25. How Analytics could help 25 Browsers
  • 26. How Analytics could help 26 Browsers/Platforms
  • 27. How Analytics could help 27 Browser Versions
  • 28. How Analytics could help 28 Browser/Screen Resolution
  • 29. How Analytics could help 29 Device Details / Platforms
  • 30. How many tests are enough? • To start, we identified 5 main flows. Automating them gives us: • A lot of value because most of the users go through them • Security because they lower the risk of breaking something important • Based on Analytics, we will run them in: • 3 different browsers (Chrome, Firefox, Safari) • 2 different OS (Windows, OSX) • 3 different screen resolutions • 7 different browser versions (Chrome 71-74, Firefox 64-65, Safari 12) • 120 + 60 + 15 = 195 tests • Automate high value tests 30
  • 31. Use good practices • Atomic and focused tests • Readable, faster and more stable • Sauce Labs Continuous Testing Benchmark report 31 https://info.saucelabs.com/sauce-labs-continuous-testing-benchmark-report-M.html
  • 32. Use good practices • Focus on reusability and maintainability • Avoid code duplication across tests and helper classes/methods • Every test must be autonomous • Tests can run in any order without depending on each other • Write tests and code only for the current requirements • Avoid complex designs that consider potential future use cases • Overengineering is overkilling • Get familiar with software design patterns • They can benefit automation testing as well • Base your work on testing plans and/or strategies, not on tools 32
  • 33. Photo by Maximilian Weisbecker on Unsplash WHEN (AND WHERE) TO RUN TESTS
  • 34. It all depends on the stage where we are 34 Continuous Integration Full adoption of Agile Automated testing dominates; manual for debugging or exploratory Dev. and QA collaborate closely Fast Waterfall Initial adoption of Agile Automated testing begins Dev. & QA start communicate Waterfall Traditional sequential design model Manual testing dominates Dev. & QA completely separate Process People Tools Continuous Delivery Fully automated Development process Automated testing core to Dev. & Delivery Manual for exploratory Dev. and QA functions merge
  • 35. Early stages... 35 Process People Tools When Big pre-release session Bug hunting sessions Regular validation cycles Where Locally on desktops or in the cloud Shared testing environments Why Not enough time to test more often due to the nature of manual testing Waterfall Traditional sequential design model Manual testing dominates Dev. & QA completely separate
  • 36. Early automation stage... 36 Process People Tools One or more times per day Triggered manually or on schedule based Combined with manual before releasing Locally on desktops, own Grid or in the cloud Initial setup of a CI server to run on schedule Shared testing environments Fast Waterfall Initial adoption of Agile Automated testing begins Dev. & QA start communicate When Where Why While gaining confidence in automation, results need to be triaged and use that to improve test resilience and confidence. Automation starts to get relevant but it is not part of the main pipeline yet.
  • 37. Automation dominates... 37 Process People Tools On every commit and pull/merge request After merging Cloud CI server integrated to development flow Managed testing environment for SUT Continuous Integration Full adoption of Agile Automated testing dominates; manual for debugging or exploratory Dev. and QA collaborate closely When Where Why Fast feedback through automated testing Automated testing is now part of the Quality Gate Cloud - infrastructure is vital for success. A malfunctioning infrastructure slows down the development process.
  • 38. Automation in everything... 38 Process People Tools When On pre-commit, commit, and merge/pull requests After merging After release Cloud CI server integrated to development flow Dedicated testing environment for SUT Production Continuous Delivery Fully automated Development process Automated testing core to Dev. & Delivery Manual for exploratory Dev. and QA functions merge When Where Why Automated tests are fully resilient and trustable. Can be used in all environments. Cloud - infrastructure is vital for success. A robust infrastructure is key for confidence.
  • 39. Photo by Priscilla Du Preez on Unsplash GET PEOPLE TO JOIN YOU
  • 40. How do I motivate my coworkers? You Team/Department Company 40 Getting your team, manager, department and company onboard
  • 41. Motivate yourself Risks • Not moving in a constantly changing industry: testing • Missing opportunities to improve testing of the product • Getting overwhelmed by repetitive tasks Actions • Get a % of your time for training, with the purpose of spreading it internally • Join online testing chats to get ideas and support • Be the agent that triggers change in your team and organisation 41
  • 42. Motivating my Team/Department Risks • Dev vs. QA brings confusion and low motivation • Silos break communication, brings different expectations for testing • Low trust in automation Actions • Test earlier, pair with devs to find better ways to test features • Create a testing framework based on OSS • Show progress through beautiful reports and dashboards • Create simple guidelines on what to test and what to expect from testing • Perform internal training sessions to help people improve 42
  • 43. Motivating my Company Risks • Slow organisations hardly evolve at the same pace as the marketplace • Testing can become a bottleneck, which could lead to unstable products • User experience and reliability are hurt if testing is treated as an afterthought Actions • Connect business success metrics with testing • How did a bug in production reduce revenue? • PoC with testing as a business enabler • Increase release frequency and speed • Improve product reliability 43
  • 44. Photo by Cathryn Lavery on Unsplash RECAP
  • 45. E D C B A Team Setup Testing Framework Test the Right Thing When to Run Tests Get People to Join You
  • 46. The Continuous Testing Journey The Continuous Testing Journey LEGACY TESTING CONTINUOUS TESTING ● Executive Sponsor ● Org Structure ● Development Methodology ● Methodology, Framework & Infrastructure ● Authoring Plan ● Skills Development Plan ● Cloud execution & parallelization ● Pipeline integration ● Adoption Plan ● Analytics ● Shift Left ● Shift Right PROOF OF AUTOMATION VALUE ● Release faster ● Lower risks ● Increase developer productivity ● Delight your customers
  • 47. THANK YOU Photo by Stefan Widua on Unsplash
  • 48. Resources 48 Sauce Labs Continuous Testing Benchmark report https://info.saucelabs.com/sauce-labs-continuous-testing-benchmark-report-M.html The Inquiry Method for Test Planning https://testing.googleblog.com/2016/06/the-inquiry-method-for-test-planning.html Sauce Labs free trainings https://training.saucelabs.com/ Selenium Channel https://seleniumhq.herokuapp.com/ Appium Channel https://gitter.im/appium/appium Ministry of Testing Channel https://www.ministryoftesting.com/slack_invite Software Testers Channel https://software-testers.herokuapp.com/
  • 49. 5 STEPS TO JUMP-START YOUR TEST AUTOMATION DIEGO MOLINA, SENIOR SOFTWARE ENGINEER MAY 28, 2019 Q/A
  • 50. 50 It is never too late Diffusion of Innovation (developed by E.M. Rogers, 1962) Innovators 2.5% Early Adopters 13.5% Early Majority 34% Late Majority 34% Laggards 16%