seminario web - el abc del test automation: ¿qué, por qué, cuando y cómo?

Post on 09-Jan-2017

246 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Seminario web

Nuestras locaciones

NuestrosPanelistas

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

Pablo SoiferSME (Test Automation – Subject Matter Expert)

Paulina IbarraMarketing Analyst

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

Non UI

Test Effort

manual testing

automated testing(setup, maintenance and

execution)

UI

60 - 80%

20 - 40%

Today Future

UI

Non UI

Exploratory

End-to-end

Component

Integration

Unit

QUESTIONS#AutomationBelatrix

$$$$

$>>>>>

>>

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

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

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

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

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

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#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

QUESTIONS#AutomationBelatrix

PD PD PD PD PD

“Nightly regression execution” como parte del despliegue continuo

SPRINT

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

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”

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)

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

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

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

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

¡Muchas Gracias!

top related