Satisfying
your
Automation
Appetite
Jon HaarmannContinuously Improving Software Professional
Jon Haarmann@jthaarmann
● Application Health
● Testing Pyramid
○ Transitioning to the Ideal
Pyramid
● Types of Automated Testing
○ Demo Examples
Satisfying your Automation
Appetite
UI
BFF Layer
Restful Services Layer
DB
Example
Application
How do we keep
our Application
Healthy?
● Diet and Exercise
○ a well rounded diet of testing
○ exercise via automation
The same way we keep
Ourselves Healthy
USDA
Diet - Food Pyramid
Recommended
number of servings of
each food group for a
healthy diet
Recommended
ratio of each type
of testing
Testing Pyramid
Mike Cohn
Unit
Integration
Functional
UI
BFF Layer
Restful Services Layer
DB
Unit
Unit Testing
A software testing method by which
individual units of source code are
tested to determine if they are fit for
use. A unit is often an individual
method or class.
UI
BFF Layer
Restful Services Layer
DB
Integration
Unit
Integration Testing
Software testing in which
individual software modules
are combined and tested as a
group.
UI
BFF Layer
Restful Services Layer
DB
Functional
Integration
Unit
Functional Testing
Traditional QA testing
Usually describes what
the system does.
UI
BFF Layer
Restful Services Layer
DB
Functional
Integration
Unit
Well Rounded Diet
All code should be covered
by at least one of these
types of tests
Exercise
Help from Robots
Automated Build
+
Automated Tests
+
Automated Deploy
=
Continuous Delivery
Manual
Unit
Service/API/Integration
GUIAutomated
Automated
Automated
Ideal Automation
Testing Pyramid
What does your
test pyramid look
like today?
100%
Manual
Testing
Manual Testing
Mostly manual
testing
A few developers
writing automated
unit tests
Manual Testing
Unit Tests
Manual Testing
Unit Tests
Impressive! but probably not sustainable ...
Manual
Testing
The foundation is important...
Unit
Integration
Functional
Unit Testing
Establishing a strong foundation for your pyramid
Automated Unit Tests
Why are unit tests
the foundation?
● Fast !
● Highest ROI
● About the code
What to test?
EVERYTHING !
New or changed code
should require new or
changed tests
“Everything in moderation … except
for vegetables and unit tests”
Demo
UI
BFF Layer
Restful Services Layer
DB
Example
Application
Strong developer
culture of writing
automated unit
tests
Manual testing for
everything else
Manual Testing
Automated Unit Tests
Automated
Integration/Service/API Tests
Automated API Tests
What to test?
External entry points
into modules
Integration Tests
Each individual module is tested by itself, but if the pieces do not work together, then the entire
system could have health issues.
UI
BFF Layer
Restful Services Layer
DB
Integration
Considerations
Will your API become a product?
Demo
Automated Functional Tests
UI
Potential Pitfall - Team Adoption
J Curve
manual
manual
Reduce manual
testing effort
Unit
Service
UI
Unit
Service
UI
Inverted Pyramid Anti Pattern
Allister Scott
Manual
Unit
Integration
GUI
Brittle
Remember: Test code should be of
equal importance as application code
UI Automation can be:
Slow
UI Automation is from the user’s perspective
Test basic, positive, high usage flows
Avoid negative tests. They should could be
covered in prior layers.
Page Object
Model Design
Pattern
Tests should be
human readable and
not have any html
references in it.
automation-core
● Selenium wrapper
selenium
automation-tests
● human readable tests
● test data
automation-page-objects
● page objects
● page elements
Should not interact with directly
Interacts with
Interacts with
Page Object
Model Design
Pattern
Demo
What does your
current Test
Pyramid look
like?
Have a strategy
for your diet and
the discipline to
stick to it
Ensure a solid
foundation
Test code is of
EQUAL
importance to
application code
Exercise !!!
Run the tests
that you have.
THANK YOU !!!
Code Examples:
https://github.com/jthaarmann/

More Related Content

PPT
Testing
PDF
Testing in CI / CD Pipeline
PPTX
"Fear is the mind-killer." -Banishing the Fears of Test Automation
PPTX
Agile Testing!
PPT
Automated Testing with Agile
PPT
Software testing
PPTX
Introduction to Automation Testing
PDF
Test automation methodologies
Testing
Testing in CI / CD Pipeline
"Fear is the mind-killer." -Banishing the Fears of Test Automation
Agile Testing!
Automated Testing with Agile
Software testing
Introduction to Automation Testing
Test automation methodologies

What's hot (17)

ODP
Testing Philosphies
PDF
20170613 tech easy
PPTX
Introduction to Automation Testing
PPTX
Continuous Delivery without Test Automation @STPCon, San Diego
PPTX
Introduction to software testing
PPT
Introduction to Gauge
PPTX
Why You Need to Care About Automated Functional Testing in 2019
PPTX
Test automation
PDF
Performance Testing Using JMeter | Edureka
PPT
Test Automation Best Practices (with SOA test approach)
PPTX
Test Automation Frameworks: Assumptions, Concepts & Tools
PPTX
Tdd01 a simple intro to tdd
PDF
automation testing benefits
PDF
Automation testing introduction for FujiNet
PPTX
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
PDF
Introduction of unit test to management
PPTX
JavaScript Unit Testing
Testing Philosphies
20170613 tech easy
Introduction to Automation Testing
Continuous Delivery without Test Automation @STPCon, San Diego
Introduction to software testing
Introduction to Gauge
Why You Need to Care About Automated Functional Testing in 2019
Test automation
Performance Testing Using JMeter | Edureka
Test Automation Best Practices (with SOA test approach)
Test Automation Frameworks: Assumptions, Concepts & Tools
Tdd01 a simple intro to tdd
automation testing benefits
Automation testing introduction for FujiNet
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
Introduction of unit test to management
JavaScript Unit Testing
Ad

Similar to Satisfying your Automation Appetite (20)

PPT
Testing strategies
PPTX
Software testing
PPT
Testing.ppt
PPT
Testing.ppt
PPT
Testing.ppt
PPT
Testing.ppt
PDF
When you get lost in api testing #ForumPHP
PPTX
Software testing
PDF
Do you know How to Effectively Test APIs.pdf
PPTX
Testing in agile
PPTX
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
PPTX
Software Testing
PPTX
Software testing basic
DOCX
Unit 4 Software engineering deatiled notes.docx
KEY
Client Side Unit Testing
PPSX
Developers Border Line: Unit Testing
PDF
Unit, Integration, and Functional Testing_ 4 main points of difference.pdf
PPTX
Testing concepts
DOCX
Testing in Software Engineering.docx
PPTX
Software testing
Testing strategies
Software testing
Testing.ppt
Testing.ppt
Testing.ppt
Testing.ppt
When you get lost in api testing #ForumPHP
Software testing
Do you know How to Effectively Test APIs.pdf
Testing in agile
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Software Testing
Software testing basic
Unit 4 Software engineering deatiled notes.docx
Client Side Unit Testing
Developers Border Line: Unit Testing
Unit, Integration, and Functional Testing_ 4 main points of difference.pdf
Testing concepts
Testing in Software Engineering.docx
Software testing
Ad

Recently uploaded (20)

PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Visual explanation of Dijkstra's Algorithm using Python
PPTX
Computer Software - Technology and Livelihood Education
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
assetexplorer- product-overview - presentation
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PPTX
GSA Content Generator Crack (2025 Latest)
PPTX
Cybersecurity: Protecting the Digital World
PDF
Time Tracking Features That Teams and Organizations Actually Need
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
AI Guide for Business Growth - Arna Softech
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Patient Appointment Booking in Odoo with online payment
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Visual explanation of Dijkstra's Algorithm using Python
Computer Software - Technology and Livelihood Education
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
assetexplorer- product-overview - presentation
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
GSA Content Generator Crack (2025 Latest)
Cybersecurity: Protecting the Digital World
Time Tracking Features That Teams and Organizations Actually Need
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Designing Intelligence for the Shop Floor.pdf
Monitoring Stack: Grafana, Loki & Promtail
Oracle Fusion HCM Cloud Demo for Beginners
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Why Generative AI is the Future of Content, Code & Creativity?
AI Guide for Business Growth - Arna Softech
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Salesforce Agentforce AI Implementation.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Patient Appointment Booking in Odoo with online payment

Satisfying your Automation Appetite