SlideShare a Scribd company logo
Agile Automated Testing
Jordi Pradel
Jordi Pradel Miquel
Software developer
Interested in agility, quality, backend,
functional programming, ...
- 2005: Founder of Agilogy
- 2014, 2016: Father of 2
- 2020: Amateur violinist
Agile software testing
Goals
Desiderata
Technical concepts
Patterns
Strategy
Goals
No Bugs!
detection & prevention
Desiderata
Principles
• Usability to better testing!
• Determinism 👉
• Welcoming to change 👉
• User friendliness 👉
• Quality, quality, quality!
• Economy 👉
Deterministic tests
Flaky tests
Avoid. Flaky. Tests.
Deterministic tests
Isolate tests from
• Execution order
• Concurrency
• External systems
• The alignment of stars
Tests that (allow you to) welcome change
Don't be in the way of refactoring
outcome, not behavior
Changes, changes, changes!
cohesion
User friendly tests
• Clear error reporting
• Fast!
• Maintainable test code
Economics of testing
• How to prioritize?
• How to design?
Technical concepts
(aka buzzwords)
Black box vs white box
Broad stack tests
vs
Narrow tests
Test doubles
Dummy
Fake
Mocks, stubs and spies
Mocks vs Spies
Stubs
Unit tests
developer-centric
small
fast
https://martinfowler.com/bliki/UnitTest.html
Integration tests
A very gentle
introduction to
Hexagonal
Architecture
Hexagonal architecture
Application
(domain)
driven side
driving side
Driving
adapter
Driving
adapter
Driven
adapter
Driven
adapter
Driving
port
Driving
port
Driven
port
Driven
port
(aka Controllers)
(aka use cases / services)
(aka repository / api proxy
interfaces)
(aka repository / api proxy
implementations)
Hexagonal architecture
Example
Application
(domain)
driven side
driving side
RulesEngineController
RulesEngineRepository
VppApiProxy
RulesEngineService
IRulesEngineRepository
IVppApiProxy
VppApi
Payments
(PostgreSql)
Driving adapters
(aka controllers)
• Low level implementation of APIs, listeners, etc to get commands, queries
or events from the outside to the driving ports in the hexagon.
Driving adapters (controllers)
Dependency Injection
Driving ports
(aka services, use cases, interactors)
• Domain interface of the app used by the driving adapters to pass
commands, queries and events in the language of the domain.
Driven ports
(aka repositories, api proxies)
• Domain abstraction of the capabilities of external systems used by the
application.
Driven adapters
(aka data sources)
• Low level implementation of the interfaces of driven ports that use
speci
f
ic external services or technologies (e.g. a PostgreSql database).
Driven Adapters
Decouple driven ports from technology used: Exceptions
👉
Patterns
Arrange, Act, Assert
Stateless components
AAA with state
Stateful components
1. Arrange inputs & initial state
2. Act
3. Assert outputs &
f
inal state
https://blog.agilogy.com/2022-06-17-testing-and-persistent-state.html
In-memory
production-ready
test fakes
👍 fast!
👍 deterministic
👎 may fail
👎 implementation cost
In-memory production-ready test fakes
Alternatives
• Test in integration with Isolated, production(-like) external systems
• 👍 You test the actual component
• 👎 Slow
• Use mocks and stubs
• 👎 You test the behaviour of the system, not the outcome
Isolated,
production(-like)
external systems
👍 real
👎 slow
Strategy
Test all the domain
Broad test of all the components that
form the domain
• Whole domain
• Through (driver) ports (controllers)
• Use AAA with state
A. Test with In-memory,
production-ready test fakes
(preferred)
B. Test in integration with
Isolated, production(-like)
external systems (slower)
Test all the domain
alternatives
Narrow tests of
complex logic
• unit tests
• AAA / AAA with state
• only a bunch of these!
Integration tests of
driven adapaters
• integration tests
• isolated, production-like
external systems
• in isolation
• AAA with state
Test Driver
Adapters
A. behavior with Mocks and
stubs
B. outcome with the actual
domain + doubles
Test the assembly with end-to-
end tests
Test test fakes
Make In-memory, production-ready
tests fakes production-ready indeed:
• Parameterize Integration tests
• Run the same test suite for both
Invest!
A couple examples...
Clear error
reporting
Property-based
testing with shrinking
Property-based testing with shrinking

More Related Content

PDF
Agile Software Testing the Agilogy Way
PPT
Test planning and software's engineering
PDF
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
PPT
System Testing by system analysis design.ppt
PPTX
Software_Testing_Techniques_undergraduate.pptx
PPTX
19 Software Testing Techniques presentation file.pptx
PDF
End-end tests as first class citizens - SeleniumConf 2020
PPTX
Guidelines to Measuring Test Automation ROI
Agile Software Testing the Agilogy Way
Test planning and software's engineering
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
System Testing by system analysis design.ppt
Software_Testing_Techniques_undergraduate.pptx
19 Software Testing Techniques presentation file.pptx
End-end tests as first class citizens - SeleniumConf 2020
Guidelines to Measuring Test Automation ROI

Similar to Agile Software Testing - Agilogy - Voxel.pdf (20)

PDF
L software testing
PPTX
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
PDF
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
PDF
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
PDF
John Fodeh Adventures in Test Automation - EuroSTAR 2013
PDF
Software Engineering TESTING AND MAINTENANCE
PDF
ISTQB - CTFL Summary v1.0
PPT
PDF
Continuous delivery is more than dev ops
PPTX
Test Policy and Practices
PPT
Automated Software Testing Framework Training by Quontra Solutions
PPT
Ch11lect1 ud
PPTX
Exploratory testing using heuristics
PPTX
A Software Testing Intro
PPTX
Small is Beautiful- Fully Automate your Test Case Design
PPT
The QA/Testing Process
PPTX
New model
PPTX
A New Model For Testing
PDF
Unit testing (Exploring the other side as a tester)
PPTX
Object Oriented Testing(OOT) presentation slides
L software testing
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh Adventures in Test Automation - EuroSTAR 2013
Software Engineering TESTING AND MAINTENANCE
ISTQB - CTFL Summary v1.0
Continuous delivery is more than dev ops
Test Policy and Practices
Automated Software Testing Framework Training by Quontra Solutions
Ch11lect1 ud
Exploratory testing using heuristics
A Software Testing Intro
Small is Beautiful- Fully Automate your Test Case Design
The QA/Testing Process
New model
A New Model For Testing
Unit testing (Exploring the other side as a tester)
Object Oriented Testing(OOT) presentation slides
Ad

Recently uploaded (20)

PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
wealthsignaloriginal-com-DS-text-... (1).pdf
Softaken Excel to vCard Converter Software.pdf
Nekopoi APK 2025 free lastest update
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
ai tools demonstartion for schools and inter college
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Computer Software and OS of computer science of grade 11.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
PTS Company Brochure 2025 (1).pdf.......
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms II-SECS-1021-03
Design an Analysis of Algorithms I-SECS-1021-03
L1 - Introduction to python Backend.pptx
Operating system designcfffgfgggggggvggggggggg
Ad

Agile Software Testing - Agilogy - Voxel.pdf