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

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

Embed Size (px)

Citation preview

Page 1: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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

Seminario web

Page 2: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

Nuestras locaciones

Page 3: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

NuestrosPanelistas

Willy De la Cruz SME (Test Automation – Subject Matter Expert)

Pablo SoiferSME (Test Automation – Subject Matter Expert)

Paulina IbarraMarketing Analyst

Page 4: SEMINARIO WEB - 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“.

Page 5: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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 6: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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 7: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix

Non UI

Test Effort

manual testing

automated testing(setup, maintenance and

execution)

UI

60 - 80%

20 - 40%

Today Future

UI

Non UI

Page 8: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

Exploratory

End-to-end

Component

Integration

Unit

QUESTIONS#AutomationBelatrix

$$$$

$>>>>>

>>

Page 9: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix

La automatización es un mecanismo para la ejecución de pruebas

La habilidad de una prueba (tests) para encontrar bugs, no es afectada por la manera en cómo es ejecutado.

“Encontrar bugs” puede ser un objetivo peligroso especialmente para una regresión automatizada

Automated tests Manual scripted Exploratory Fix Verification

9.3% 24.0% 58.2% 8.4%

Más automatizado Probabilidad de encontrar más bugs

Page 10: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixEficiencia y Efectividad

slow testing

fast testing

poorslow

testing

poorfast

testing

Pruebas Automatizadas

Pruebas Manuales

Efectividad

E f i c i e n c i a

Page 11: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixEficiencia y Efectividad

Goodslow

testing

Good fast

testing

poorslow

testing

poorfast

testing

Pruebas Automatizadas

Pruebas Manuales

Efectividad

E f i c i e n c i a

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

QUESTIONS#AutomationBelatrix

“La alta dirección siempre se sentirá que la regresión debe ser 100% automatizada.

Esta percepción debe ser gestionada mientras se adecuen las expectativas de lo

que se puede lograr con la automatización.”

Page 13: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix

¿Automatizar pruebas manuales?

Pruebas Manuales Pruebas Automatizadas

pruebas no automatizadas

pruebas que no valen la pena automatizar

pruebas manuales automatizadas

verificaciones que no son posibles de hacerlas manualmente

Page 14: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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 15: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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 16: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixEjecución de pruebas de

regresión automatizada

ITERACIÓNPruebasDesarrollo

SPRINT 1

PruebasDesarrollo

SPRINT 2

PruebasDesarrollo

SPRINT 3

PruebasDesarrollo

SPRINT 1 SPRINT 2 SPRINT 3

Page 17: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix

PD PD PD PD PD

“Nightly regression execution” como parte del despliegue continuo

SPRINT

Page 18: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix

P δ1P

δ1δ2

P

δ1δ2δ3

δ1δ2δ3

P δ4

δ1δ2δ3

Pδ4δ5

δ1δ2δ3

P

δ4δ5δ6

Page 19: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixEl é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 20: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrix“Test Automation” es

desarrollo de softwareHabilidades 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 21: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixAutomated Test

Seleccionar e identificar casos de

prueba

Configurar el entorno de prueba

Crear el entorno de pruebas

Popular los datos de prueba

Configurar pre-

requisitos

Comparar resultados

Registro de resultados

Análisis de resultados

Reporte de defectos Clear Up

Limpiar el entorno de pruebas

Reportar resultados

Ejecución

Proceso automatizado Proceso manual

Page 22: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixAutomated Testing

Seleccionar e identificar casos de

prueba

Configurar el entorno de prueba

Crear el entorno de pruebas

Popular los datos de prueba

Configurar pre-

requisitos

Comparar resultados

Registro de resultados

Análisis de resultados

Reporte de defectos Clear Up

Limpiar el entorno de pruebas

Reportar resultados

Ejecución

Proceso automatizado Proceso manual

Page 23: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

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 24: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixVentajas 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 25: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

QUESTIONS#AutomationBelatrixHerramientas

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 26: SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?

¡Muchas Gracias!