Normalmente distinguimos entre pruebas funcionales y no funcionales, lo que puede llevar a subestimar algunos aspectos importantes de la calidad de la aplicación que estamos probando. En muchos casos, cuando el sistema no es seguro, eficiente o accesible, su funcionalidad se ve afectada o simplemente no es funcional en absoluto. En esta charla, mostraré técnicas y herramientas que podemos utilizar para mejorar nuestra capacidad de observar el sistema al realizar pruebas funcionales para también dar feedback sobre las mal llamadas "características no funcionales".
4. Mabl
/ USA
Un evento para que la comunidad de testing
y calidad de software de Latam siga
creciendo, con charlas de referentes
internacionales de primer nivel.
#QSConf2023
líderes internacionales
de primer nivel
+20 9 y 10 de noviembre
2 TRACKS DE SPEAKERS | ONLINE + EN PERSONA
7. abstracta.us
Pruebas extra-funcionales, más observabilidad
durante las pruebas funcionales
¿Qué es la observabilidad?
● Capacidad de un sistema para permitir determinar su
estado interno a partir de sus entradas y salidas.
Utilidad: poder estar preparado para resolver problemas
inesperados.
● Performance
● Seguridad
● Bugs en producción
10. abstracta.us
El objetivo no es eliminar equipos especializados
sino tender puentes entre equipos
● Funcional - Seguridad
● Funcional - Infraestructura
● Funcional - Desarrollo
Tampoco es perder el foco
● Lo que es lo importante para el negocio, en
este momento
Tender puentes
12. abstracta.us
¿Que es?
Cantidad de trabajo útil por unidad de tiempo
● Velocidad, throughput
Uso de recursos
● CPU, memoria, disco, red, etc.
Se prueba con o sin concurrencia.
Performance
13. abstracta.us
Objetivo:
● Poder detectar degradaciones de performance en cada ciclo de prueba
● Analizar cómo limitaciones de performance pueden afectar la funcionalidad
● Pruebas bajo carga, pruebas de volumen, agregar limitaciones de recursos
Conocimientos generales
● Poder diferenciar entre performance del lado del cliente y del lado del servidor
● Entender de arquitecturas, componentes y sus roles, KPIs más relevantes en cada uno
● Poder interpretar análisis automáticos
Herramientas
● Google Lighthouse (en el browser)
● Apptim (para mobile)
● APMs (Datadog, Dynatrace, NewRelic, Grafana)
¿Cómo incorporar Performance en el
testing extra-funcional?
14. abstracta.us
¿Que es?
Capacidad de proteger los datos y recursos del
sistema contra accesos, daños y usos no
autorizados.
● Confidencialidad
● Integridad y disponibilidad de la información
Seguridad
15. abstracta.us
¿Cómo incorporar Seguridad en el testing
extra-funcional?
Objetivo:
● Poder detectar vulnerabilidades de seguridad
● Detectar incumplimientos con algún estándar (PCI, OWASP top 10, MASVS-L1, etc)
Conocimientos generales
● Conocimiento de los estándares que aplican (PCI, OWASP, MASVS)
● Identificar información sensible (passwords, datos bancarios, datos de usuario, etc)
● Conocer de los ataques y vulnerabilidades más comunes (SQL injection, man in the middle, phishing, etc)
Herramientas
● Web/Backend: OWASP ZAP
● Mobile: Mob SF
16. abstracta.us
¿Que es?
Capacidad de un sistema de ser accedido por
todas las personas de manera eficaz y sin
barreras, independientemente de sus
habilidades o discapacidades, y su contexto.
Accesibilidad
17. abstracta.us
Objetivo:
● Poder detectar issues de accesibilidad
● Detectar incumplimientos con algún estándar (WCAG, ADA, etc.)
Conocimientos generales
● Conocimiento de los estándares que aplican (WCAG, ADA, etc.)
● Conocer de herramientas de apoyo y usos alternativos de los sistemas en modo accesibilidad (uso solo
con teclado, lectores de pantalla, magnifiers, etc)
● Conocer de la necesidad de ajustes a los sistemas para poder ser utilizados por las herramientas de apoyo
(ARIA, texto alternativo, orden de tabulación, etc.)
Herramientas
● Google Lighthouse (en el browser)
● WAVE
● axe DevTools
● Colour contrast analyzer
¿Cómo incorporar Accesibilidad en el
testing extra-funcional?
22. abstracta.us
Herramientas
Performance
● Apptim, DevTools: Desde las pruebas automatizadas se pueden ejecutar validaciones automáticamente
midiendo KPIs de performance.
● JMeter DSL: ayuda con la generación de scripts de JMeter a partir de scripts Selenium
automáticamente
Seguridad
● OWASP ZAP: Se puede ejecutar desde pruebas automatizadas.
Accesibilidad
● Mabl: Herramienta de pruebas automáticas (low-code) que incluye chequeos de accesibilidad.
● Axe: Se puede incluir en tus pruebas automatizadas.
25. abstracta.us
● Aprender conceptos
● Aprender herramientas
● Integrarlas a las pruebas funcionales
● Entender prioridades del negocio
● Reportar respetando prioridades
● Conectar y construir puentes
Convertite en un
tester extra-funcional
Cursos online de
testing de software
Aprende desde el lugar que te
encuentres, con los mejores instructores
y a tu propio ritmo
26. Food for thought
Guides
● Continuous Testing Guide
Blogposts
● De tester funcional a tester de performance
● ¿Qué es la observabilidad y cuál es su importancia para el testing?
● An End-to-End Guide of Load Testing
● How to Make Testing Progress Visible
Quality Sense Podcasts
● Leandro Melendez - Performance Testing Explained Simple
● Sofia Palamarchuk - Mobile App Performance