testingar vii - siete magníficos - pablo soifer - el abc del test automation
TRANSCRIPT
El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
QUESTIONS #AutomationBelatrix
“Las pruebas automatizadas son una alternativa
complementaria a las pruebas manuales, en donde
herramientas de software, no testers humanos,
ejecutan scripted tests a una aplicación de software
antes que sea liberada a un entorno de producción”.
"Las pruebas automatizadas no son
un sustituto de las pruebas manuales
y no debe ser tratado como tal“.
QUESTIONS #AutomationBelatrix
El ser humano:
piensa, evalúa, decide,
observa, interpreta
reconoce patrones, tienes
nuevas ideas, encuentra
bugs
comete errores
Las herramientas:
ejecutan pruebas/tests
(cualquiera para las que
haya sido programadas para
ejecutar, incluyendo malos
tests)
inteligencia nivel 0
QUESTIONS #AutomationBelatrix
Automatización de Pruebas de Software
¿Qué es? Gestión y desempeño de actividades de prueba
¿Qué incluye? Desarrollo y ejecución de scripts de prueba
¿Con qué fin? Verificar (checks) requisitos de prueba
¿Qué utilizamos? Herramientas de automatización
QUESTIONS #AutomationBelatrix
¿Qué se debe automatizar?
Pruebas de regresión
“Smoke Testing”
Pruebas estáticas y repetitivas
“Data Driven Testing”
Load & Performance Testing
Áreas críticas y riesgosas de la aplicación
QUESTIONS #AutomationBelatrix
¿Qué NO se debe automatizar?
Pruebas que solo se ejecutan una vez
Pruebas que requieren pasos manuales
Pruebas no determinísticas
Pruebas que pueden ser verificadas fácilmente
QUESTIONS #AutomationBelatrix El éxito en pruebas automatizadas
NO es automático
Más que una herramienta.
Proceso de aprendizaje: tiempo y esfuerzo
Alta dirección:
• Capacidades y limitaciones
• Expectativas y presupuesto realistas.
• “People issues”
QUESTIONS #AutomationBelatrix “Test Automation” es
desarrollo de software
Habilidades y conocimiento
Personas con habilidades de
desarrollo de software
Interés por el testing
Automation mindset
Buen entendimiento de la arquitectura
del SUT (System Under Test)
Práctica de ingeniería
Desarrollo orientado a tareas
Lean development principles
Diseñar la prueba antes de la
codificación
Code Reviews (con desarrolladores)
QUESTIONS #AutomationBelatrix
“A software framework, in computer programming, is an abstraction in which
common code providing generic functionality can be selectively overridden or
specialized by user code providing specific functionality. Frameworks are a special
case of software libraries in that they are reusable abstractions of code wrapped in
a well-defined Application programming interface (API), yet they contain some key
distinguishing features that separate them from normal libraries.”
Framework de Automatización
https://en.wikipedia.org/wiki/Software_framework
QUESTIONS #AutomationBelatrix Ventajas de Automatizar
Menor coste de ejecución de pruebas de regresión: Las pruebas pueden ejecutarse una y otra vez en los tiempos y horarios que se requieran sin intervención humana alguna.
Es rápido: Las pruebas al ejecutarse de manera automática se ejecutan mucho más rápido que
siendo ejecutadas manualmente. Todos los pasos y verificaciones no requieren más que lo que el código diga y no necesita que alguien revise resultados.
Repetible: Las pruebas se pueden repetir cuantas veces sean necesarias. Mayor confiabilidad: Los sistemas automatizados no se cansan, no están apurados y no cometen
errores humanos. Mejoras en pruebas complicadas:Toda prueba que requiera muchas verificaciones va a ser
mucho mejor probada por un sistema de automatización que por personas. Ej: Verificar miles de registros.
QUESTIONS #AutomationBelatrix Herramientas
Web Testing
Selenium Watir Test Complete QTP Coded UI
Performance Testing
JMeter LoadRunner LoadComplete Rational Performance
Testing (IBM) LoadUI
Mobile Testing
Apium eggPlant Calabash Selendroid
Desktop Testing
AutoIt Rational
Functional Tester Robot Test Complete Coded UI
¡Muchas Gracias!