SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
abstracta.us
Extra-functional Testing:
Improve How you
Observe the System
During Functional Testing
Federico Toledo
Co-founder and Chief Quality Officer
federico@abstracta.us
abstracta.us
abstracta.us/blog
federico-toledo.com
About me
Mabl
/ USA
#QSConf2023
+20 November 9th & 10th
2 SPEAKERS TRACKS | ONLINE + IN PERSON
International thought
leaders
Free for attendees!
Call for Sponsors is open
Call for Speakers opens soon
abstracta.us
80% of the testing focuses on the
system’s functionality
Non-functional testing is often left for later:
● For when the system is more stable
● For when we are more mature
● Right before the release
● After the first version, for the optimization stage
Motivation
abstracta.us
● Demystify non-functional testing
● Share basic concepts for performance, security and accessibility
● Share some tools to help you kick off
● Discuss if the approach would make sense in your context
Goals
abstracta.us
01.
Introduction
Functional vs Non-functional
Quality Factors
Based on
abstracta.us
Is it really “non” functional?
Quality Factors
Non-Functional?
Para-Functional
Quasi-Functional
Extra-Functional
abstracta.us
Interrelation
Interrelation / Interconnection
Quality Factors
We can’t test quality
factors in isolation
We need to have a holistic
approach to quality
abstracta.us
What’s your quality strategy?
Build bridges between teams
Don’t lose focus from your main goal
● Be mindful about what’s important for the
business, at each moment
Unveil Risks Sooner
abstracta.us
02.
Extra-Functional Aspects:
Performance
abstracta.us
What is it?
Amount of useful work achieved by a system
● Related to
○ Velocity
○ Response times
○ Throughput
● Resources usage
○ CPU
○ Memory
○ Disk
○ Network
○ Etc.
Performance
abstracta.us
Goal:
● Detect performance degradations, risks or improvement
opportunities in every test cycle
How?
● Using tools to gather metrics and compare with expected
(or historical) behavior
● Using tools to perform automatic analysis
How to Incorporate Performance
into Functional Testing?
abstracta.us
Good to Know:
● Understand your system’s architecture, components and
their role and most relevant KPIs
● Have access to the tools your team is already using
○ Understand reports and be able to drill down
How to Incorporate Performance
into Functional Testing?
abstracta.us
● Test under load
● Volume of the testing database
● Analize how performance limitations can affect functionality
○ Simulate or generate resource limitations
Good to Know:
● Client side versus server side performance
Where Performance
meets Functionality
abstracta.us
Some Tools to
Try for Observing
Performance
abstracta.us
Performance Tools:
Lighthouse for Web
DEMO
abstracta.us
Performance Tools:
ChatGPT plugin for Website
Performance
abstracta.us
Performance Tools:
Apptim for Mobile
DEMO
abstracta.us
Performance Tools:
Application Performance
Management Tools (APMs)
DEMO
abstracta.us
How to Incorporate
Performance into Test
Automation?
Collect response times
● Analyze trends, assertions to identify degradations
Chrome DevTools:
● API to access performance metrics
● Assert deviations with previous versions or
comparing to an SLO
● Example using Chrome DevTools from Playwright
https://github.com/unlikelyzero/js-perf-toolkit
abstracta.us
How to Incorporate
Performance into Test
Automation?
From Functional Test Automation to
Performance Simulation
JMeter DSL:
● Convert Selenium scripts to JMeter
● Demo (repo)
Mabl:
● Reusing API testing to run performance tests
abstracta.us
02.
Extra-Functional Aspects:
Security
abstracta.us
What is it?
Capacity to protect system data and resources
from access, damage or non authorized uses.
Related to:
● Confidentiality
● Information integrity and availability
Security
abstracta.us
How to Incorporate Security
into Functional Testing?
Goal:
● Detect security vulnerabilities or risks
● Detect non compliance with standards
How?
● Using tools to scan for vulnerabilities
● Functional testing on access control features
abstracta.us
Where Security meets
Functionality
● Functional tests on the login, and access control (users, roles)
● Error handling (which information is exposed, i.e. stack traces)
● Input validation (SQL injection, prompt injection)
Good to Know:
● Most common attacks and vulnerabilities (SQL injection,
phishing, prompt injection, etc.)
● Applicable standards (PCI, OWASP, MASVS)
● Identify sensitive information (passwords, financial or medical
information, credit card numbers, etc)
abstracta.us
Some Tools to
Try for Observing
Security
abstracta.us
DEMO
Security Tools:
OWASP - ZAP
abstracta.us
Security Tools (mobile):
Mob SF - dynamic analysis
abstracta.us
How to Incorporate Security
into Test Automation?
OWASP ZAP:
● Run audits during automated test runs to detect new issues or threats
● Setting OWASP ZAP as a proxy in the webdriver
abstracta.us
How to Incorporate Security
into Test Automation?
abstracta.us
02.
Extra-Functional Aspects:
Accessibility
abstracta.us
What is it?
Capacity of a system of being accessed by all the
people in an effective way, without barriers,
regardless of their abilities or disabilities and
their context.
Accessibility
abstracta.us
How to Incorporate Accessibility
into Functional Testing?
Goal:
● Detect accessibility issues
● Detect non compliance with standards
How?
● Using tools to perform accessibility audits
● Manually verifying accessibility criteria
abstracta.us
How to Incorporate Accessibility
into Functional Testing?
Good to Know:
● Applicable standards (WCAG, ADA, etc.)
● Understand how support tools work and alternative uses of the
system in accessibility mode (only keyboard, screen readers,
magnifiers, etc)
● Understand how a system must be adjusted in order to effectively use
a support tool (ARIA labels, alternative text, tabulation order, etc)
abstracta.us
● Power users can be more efficient
● Usability improves accessibility and vice versa
○ Check usability, use Nielsen Heuristics
Good to Know:
● Applicable standards (WCAG, ADA, etc.)
● Support tools and accessibility mode (only keyboard, screen
readers, magnifiers, etc)
● What’s needed to make them work well (ARIA labels,
alternative text, tabulation order, etc.)
Where Accessibility meets
Functionality
abstracta.us
Some Tools to
Try for Observing
Accessibility
abstracta.us
Accessibility Tools:
Lighthouse for Web
abstracta.us
Accessibility Tools:
axe DevTools
DEMO
abstracta.us
Accessibility Tools:
WAVE (Web Accessibility
Evaluation Tool)
abstracta.us
● Keyboard only
● Screen reader
“Accessibility is not about compliance with a
standard or adding ARIA labels, it’s about
removing barriers.”
Accessibility Tools:
abstracta.us
How to Incorporate Accessibility
into Test Automation?
● axe DevTools API:
API to include accessibility audits to your scripts
● Mabl:
Low-code test automation tool, includes accessibility checks in runtime
abstracta.us
03.
Final Thoughts
abstracta.us
Tester Copilot,
how would that
be?
abstracta.us
● Extra-functional testing is not rocket science
○ Learn the basic concepts
○ Get familiar with the tools (Lighthouse, Apptim, ZAP, axe, etc.)
○ Share learnings with your team
● Integrate it to your functional testing and test automation
○ Start simple
○ Filter what’s important
● Understand business priorities
● Report considering priorities
● Connect, build bridges
Extra-Functional Testing,
Final Thoughts:
abstracta.us
Food for Thought
Guides
● Continuous Testing Guide
Blogposts
● From Functional Tester to Performance Tester
● What is Observability and How is it Relevant to Software Testing
● An End-to-End Guide of Load Testing
● How to Make Testing Progress Visible
● How to Take the Security of your Mobile Apps to the Next Level of OWASP
Quality Sense Podcasts
● Leandro Melendez - Performance Testing Explained Simple
● Sofia Palamarchuk - Mobile App Performance
abstracta.us
Let’s discuss if the
approach makes sense in
your context
Federico Toledo
federico@abstracta.us
¡Gracias!
Extra-functional Testing:
Improve How you Observe the System During Functional Testing

Contenu connexe

Similaire à QA or the Highway - Extra-functional testing, improve how you observe the system during functional testing

Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 
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
Federico Toledo
 

Similaire à QA or the Highway - Extra-functional testing, improve how you observe the system during functional testing (20)

The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps Presentation
 
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestBuilding an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
How to become a Software Tester Carrier Path for Software Quality Tester
How to become a Software Tester Carrier Path for Software Quality TesterHow to become a Software Tester Carrier Path for Software Quality Tester
How to become a Software Tester Carrier Path for Software Quality Tester
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
 
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
 
Testwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper ToolTestwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper Tool
 
CTFL chapter 06
CTFL chapter 06CTFL chapter 06
CTFL chapter 06
 
Yasfeen_Sultana
Yasfeen_SultanaYasfeen_Sultana
Yasfeen_Sultana
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2
 
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
 

Plus de Federico 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
 

Plus de 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
 
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?
 
¿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?
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategy
 
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
 
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
 
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestiónTestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
 
El testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOpsEl testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOps
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
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
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

QA or the Highway - Extra-functional testing, improve how you observe the system during functional testing