SlideShare a Scribd company logo
1 of 31
Download to read offline
Improving test
automation code
and strategy
Matías Fornara
@matiasfornara
matias.fornara@abstracta.us
Federico Toledo
@fltoledo
federico@abstracta.us
Automation: pros
and cons
“The first rule of any technology used in a business is that
automation applied to an efficient operation will magnify
the efficiency.
The second is that automation applied to an inefficient
operation will magnify the inefficiency”
Bill Gates
How can we
avoid magnifying
inefficiency?
Content
03
Code Quality
01
Test Strategy
02
Collaboration
01
Test Strategy
abstracta.us
Abstracta Blog: How to Create the Right Test Strategy for Your Project
https://abstracta.us/blog/software-testing/how-to-create-the-right-test-strategy-for-your-project/
Review your
testing and
quality strategy
Test automation
strategy:
the (in)famous
testing pyramid
If I cannot test something in a specific layer,
only then, go up.
A test goal could be accomplished moving the
test script to a lower level?
Synchronize “manual” and automation efforts:
What can we reduce, move, change?
A good use of the model:
Avoid duplications and rework
Quality Sense Podcast:
The role of test automation in Calendly’s test strategy
End to End
vs UI tests
- UI tests as unit tests for the UI
- End to End (all layers, atomic tests)
- Smoke tests, complete flows
https://martinfowler.com/articles/practical-test-pyramid.html
Martin
Fowler
A classic misconception:
End to End tests
End to end scripts, conceived as automating
a user flow, a very long user flow
If something fails, I need to re-run the test
and it can take minutes, several minutes.
Because a problem with the test design
Exploratory testing
at all levels
We can’t explore well without automating. We can’t automate well without exploring.
https://blog.testproject.io/2021/04/20/contemporary-exploratory-testing/
Maaret
Pyhäjärvi
- Unit tests are for developers
- collaborate, pair,
- assess risks and mitigate them in
top layers
- Mocks, it’s not that hard as it seems,
and can help to improve stability
More
considerations
Which tool is the best fit for your context?
Open source vs Commercial
Cover our needs?
Test Environments
Devices, platforms
Pipelines and CI/CD strategy
What, when, reports, traceability, environments
Other aspects of the test
automation strategy
Quality Sense Podcast:
Involving devs in the quality process
02
Collaboration
Are we aligned on the
expectations we have
from test automation?
abstracta.us
Collaboration challenges
How are we defining what to automate?
Who is involved in making this decision?
Tools (Task/Test Case Managers, other collaboration tools).
Are they helping us to give visibility to our work?
Is our test framework well documented?
Who looks at the execution reports?
What else can we do to bridge the gap between
product definition and automation?
Gherkin, a possible solution
BDD
(Behavior Driven Development)
Cucumber
JBehave
03
Code Quality
abstracta.us
Guide, working agreement on
practices to follow
Version control.
Best Practices:
- Naming conventions for branches, packages, classes, operations.
- Design patterns.
- Emphasis on making a DRY (Don’t Repeat Yourself) and DAMP
(Descriptive And Meaningful Phrases) code.
- What to avoid?
General recommendations:
Don't trust a test you haven't seen fail!
Treat your test code as
production code
Peer review: quality control review by someone other
than the author.
Capturing errors on early stages, spread knowledge.
Recommended: Angie Jones article.
Is the test specific?
Pair Review Checklist
Does the test verify
what’s needed?
Can the test run
independently?
How is the test
data being
managed?
Is there a
separation of
concerns?
- GRASP
- Clean Code
Is there anything
that can be
modularized and
reused?
Are the selectors
reliable?
Is the wait strategy
solid?
Keep our technical debt visible and follow up on it.
Define Quality Profiles suitable to our language and objectives.
Define realistic Quality Gates and adjust them regularly.
Use it both remotely and locally.
What about low code tools?
Most of the practices also apply to low code tools!
Peer review.
DRY Tests:
Parameterizing.
Modularizing and grouping common steps .
Naming conventions.
Summary
03
Code Quality
01
Test Strategy
02
Collaboration
abstracta.us
6
Offices
worldwide
+100
Quality Engineers
+13
Years in the
market
95%
Customer
retention rate
+400
Projects
We are an agile software testing company
that applies highly sophisticated
engineering and automation processes to
its testing practices and the software
development cycle, focused on increasing
product quality and reducing time to
market.
More
resources
More
resources
abstracta.us/blog
Final
thoughts
Questions?
Matías Fornara
@matiasfornara
matias.fornara@abstracta.us
Federico Toledo
@fltoledo
federico@abstracta.us
abstracta.us
Improving test
automation code
and strategy
Thank you!
Matías Fornara
@matiasfornara
matias.fornara@abstracta.us
Federico Toledo
@fltoledo
federico@abstracta.us
abstracta.us
Improving test
automation code
and strategy

More Related Content

Similar to TSQA - Improving test automation code and strategy

STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptxnischal55
 
Make a career in software testing: AutomatePro - Test Automation Professiona...
Make  a career in software testing: AutomatePro - Test Automation Professiona...Make  a career in software testing: AutomatePro - Test Automation Professiona...
Make a career in software testing: AutomatePro - Test Automation Professiona...CleanSoft Academy
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software ReviewPhilip Johnson
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentRaj Indugula
 
Agile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core businessAgile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core businessWalmyr Lima e Silva Filho
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineeringkiansahafi
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxFinancial Services Innovators
 
Cas2010 is-there-space-for-testers-in-agile-projects
Cas2010 is-there-space-for-testers-in-agile-projectsCas2010 is-there-space-for-testers-in-agile-projects
Cas2010 is-there-space-for-testers-in-agile-projectsAgile Spain
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingAlan Richardson
 
Test Automation in Agile: A Successful Implementation
Test Automation in Agile: A Successful ImplementationTest Automation in Agile: A Successful Implementation
Test Automation in Agile: A Successful ImplementationTechWell
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development Rock Interview
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gapGuillagui San
 

Similar to TSQA - Improving test automation code and strategy (20)

STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
 
Make a career in software testing: AutomatePro - Test Automation Professiona...
Make  a career in software testing: AutomatePro - Test Automation Professiona...Make  a career in software testing: AutomatePro - Test Automation Professiona...
Make a career in software testing: AutomatePro - Test Automation Professiona...
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
Agile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core businessAgile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core business
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
 
Unit testing - An introduction
Unit testing - An introductionUnit testing - An introduction
Unit testing - An introduction
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
 
01 the value of quality
01   the value of quality01   the value of quality
01 the value of quality
 
Cas2010 is-there-space-for-testers-in-agile-projects
Cas2010 is-there-space-for-testers-in-agile-projectsCas2010 is-there-space-for-testers-in-agile-projects
Cas2010 is-there-space-for-testers-in-agile-projects
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile Testing
 
Test Automation in Agile: A Successful Implementation
Test Automation in Agile: A Successful ImplementationTest Automation in Agile: A Successful Implementation
Test Automation in Agile: A Successful Implementation
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gap
 

More from Federico Toledo

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en LatinoaméricaFederico Toledo
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...Federico Toledo
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfFederico Toledo
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesFederico Toledo
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?Federico Toledo
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the artFederico Toledo
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?Federico Toledo
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingFederico Toledo
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroFederico Toledo
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Federico Toledo
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Federico Toledo
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?Federico Toledo
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testingFederico Toledo
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIteFederico Toledo
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceFederico Toledo
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingFederico Toledo
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileFederico Toledo
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryFederico Toledo
 
Taller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteTaller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteFederico Toledo
 

More from Federico Toledo (20)

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en Latinoamérica
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdf
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the art
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en Testing
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde cero
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testing
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIte
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open source
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testing
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous Delivery
 
Taller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteTaller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIte
 

Recently uploaded

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 

Recently uploaded (20)

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 

TSQA - Improving test automation code and strategy

  • 1. Improving test automation code and strategy Matías Fornara @matiasfornara matias.fornara@abstracta.us Federico Toledo @fltoledo federico@abstracta.us
  • 2. Automation: pros and cons “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency” Bill Gates
  • 3. How can we avoid magnifying inefficiency?
  • 6. Abstracta Blog: How to Create the Right Test Strategy for Your Project https://abstracta.us/blog/software-testing/how-to-create-the-right-test-strategy-for-your-project/ Review your testing and quality strategy
  • 8. If I cannot test something in a specific layer, only then, go up. A test goal could be accomplished moving the test script to a lower level? Synchronize “manual” and automation efforts: What can we reduce, move, change? A good use of the model: Avoid duplications and rework Quality Sense Podcast: The role of test automation in Calendly’s test strategy
  • 9. End to End vs UI tests - UI tests as unit tests for the UI - End to End (all layers, atomic tests) - Smoke tests, complete flows https://martinfowler.com/articles/practical-test-pyramid.html Martin Fowler
  • 10. A classic misconception: End to End tests End to end scripts, conceived as automating a user flow, a very long user flow If something fails, I need to re-run the test and it can take minutes, several minutes. Because a problem with the test design
  • 11. Exploratory testing at all levels We can’t explore well without automating. We can’t automate well without exploring. https://blog.testproject.io/2021/04/20/contemporary-exploratory-testing/ Maaret Pyhäjärvi
  • 12. - Unit tests are for developers - collaborate, pair, - assess risks and mitigate them in top layers - Mocks, it’s not that hard as it seems, and can help to improve stability More considerations
  • 13. Which tool is the best fit for your context? Open source vs Commercial Cover our needs? Test Environments Devices, platforms Pipelines and CI/CD strategy What, when, reports, traceability, environments Other aspects of the test automation strategy Quality Sense Podcast: Involving devs in the quality process
  • 15. Are we aligned on the expectations we have from test automation? abstracta.us
  • 16. Collaboration challenges How are we defining what to automate? Who is involved in making this decision? Tools (Task/Test Case Managers, other collaboration tools). Are they helping us to give visibility to our work? Is our test framework well documented? Who looks at the execution reports?
  • 17. What else can we do to bridge the gap between product definition and automation? Gherkin, a possible solution BDD (Behavior Driven Development) Cucumber JBehave
  • 19. Guide, working agreement on practices to follow Version control. Best Practices: - Naming conventions for branches, packages, classes, operations. - Design patterns. - Emphasis on making a DRY (Don’t Repeat Yourself) and DAMP (Descriptive And Meaningful Phrases) code. - What to avoid? General recommendations: Don't trust a test you haven't seen fail!
  • 20. Treat your test code as production code Peer review: quality control review by someone other than the author. Capturing errors on early stages, spread knowledge. Recommended: Angie Jones article.
  • 21. Is the test specific? Pair Review Checklist Does the test verify what’s needed? Can the test run independently? How is the test data being managed? Is there a separation of concerns? - GRASP - Clean Code Is there anything that can be modularized and reused? Are the selectors reliable? Is the wait strategy solid?
  • 22. Keep our technical debt visible and follow up on it. Define Quality Profiles suitable to our language and objectives. Define realistic Quality Gates and adjust them regularly. Use it both remotely and locally.
  • 23. What about low code tools? Most of the practices also apply to low code tools! Peer review. DRY Tests: Parameterizing. Modularizing and grouping common steps . Naming conventions.
  • 25.
  • 26. 6 Offices worldwide +100 Quality Engineers +13 Years in the market 95% Customer retention rate +400 Projects We are an agile software testing company that applies highly sophisticated engineering and automation processes to its testing practices and the software development cycle, focused on increasing product quality and reducing time to market.
  • 31. Thank you! Matías Fornara @matiasfornara matias.fornara@abstracta.us Federico Toledo @fltoledo federico@abstracta.us abstracta.us Improving test automation code and strategy