Date post: | 09-Jan-2017 |
Category: |
Software |
Upload: | belatrix-software |
View: | 244 times |
Download: | 1 times |
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!