TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

12
El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

Transcript of TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

Page 1: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

Page 2: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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“.

Page 3: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 4: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 5: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 6: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 7: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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”

Page 8: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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)

Page 9: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 10: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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.

Page 11: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

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

Page 12: TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation

¡Muchas Gracias!