Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Noviembre 2019
Contenido
© 2019 Everis
01
OBJETIVO DEL CURSO
Este programa de estudio se basa en los estándares de calidad de automatización de pruebas de ISTQB Advanced Level Test Automation
Engineer.
© 2019 Everis
INTRODUCCIÓN A LA AUTOMATIZACIÓN
DE PRUEBAS
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
En las pruebas de software, la automatización de pruebas es una o más de las siguientes tareas:
• Uso de herramientas de software especializado para controlar y configurar las condiciones previas
de pruebas.
• Ejecución de pruebas.
• Comparación de resultados reales con resultados previstos.
Se espera que la automatización de las pruebas ayude a ejecutar muchos casos de prueba de
manera consistente y repetida en diferentes versiones del SSP y/o entornos.
Pero.. La automatización de pruebas es más que un mecanismo para ejecutar un conjunto de pruebas sin interacción
humana. Implica un proceso de diseño de productos de prueba, que incluye:
Software
Documentación
Casos de prueba
Entornos de prueba
Datos de prueba
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
Objetivos Ventajas
✓ ✓
Se pueden ejecutar más pruebas por
Mejora de la eficiencia de las pruebas
compilación
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
En su libro Succeeding with Agile, Mike Cohn propuso una clasificación de test automatizados conocida como la pirámide de
pruebas.
Pruebas
Manuales
Pruebas
Manuales
Automatización Pruebas
GUI
Automatización Pruebas
GUI
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
En su libro Agile Testing, Lisa Crispín y Janet Gregory definen la clasificación de las pruebas ágiles en el siguiente cuadrante:
Orientado al negocio
Automatizada y
Manual
Manual
Pruebas funcionales
Ejemplos Pruebas Exploratorias
Pruebas de Historia Pruebas de Usabilidad
Prototipos UAT (User Acceptance Testing)
Críticas al Producto
Simuladores Alpha/Beta
Apoyo al Equipo
Q2 Q3
Q1 Q4
Automatizada Herramientas
© 2019 Everis Orientado a la tecnología
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
Para que un proyecto de automatización de pruebas tenga éxito se recomienda incluir los siguientes factores:
La AAP está muy alineada con la arquitectura de un producto de softaware. Debe quedar claro qué requisitos funcionales y no
funcionales deben de apoyar la Arquitectura. A menudo, la AAP está diseñada para el mantenimiento, el rendimiento y la
capacidad de ser aprendido.
El SSP debe estar diseñado para que la capacidad de ser probado sea compatible con las pruebas automatizadas. Un factor
clave para el éxito de la automatización reside en la facilidad de implementación de guiones de prueba automatizados.
Al crear la estrategia de automatización, tenga en cuenta los costos, beneficios y riesgos de aplicarla a diferentes partes del
código. Se debe de tener en cuenta la posibilidad de probar tanto la interfaz de usuario como la API con casos de prueba
automatizados para verificar la consistencia de los resultados.
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
Un marco de trabajo de automatización de la prueba que sea fácil de utilizar, está bien documentado y se puede mantener, admite un
enfoque coherente para automatizar las prueba.
• Implementar servicios de gestión de información: Los informes de prueba deben proporcionar información (paso/fallo/error/no
ejecutado/abortado, estadístico, etc.).
• Abordar el entorno de prueba adecuadamente: Tener un entorno de prueba dedicado es necesario en las pruebas automatizadas.
• Documentar los casos de prueba automatizados: Los objetivos para la automatización de pruebas deben ser claros, p. ej., qué
partes de la aplicación se deben probar, en qué grado y qué atributos se deben probar (funcionales y no funcionales)
• Permitir un mantenimiento fácil En el mejor de los casos, los casos de prueba automatizados deberían mantenerse fácilmente.
Para ello, los casos deben ser fácilmente analizables, modificables y ampliables.
• Mantener las pruebas automatizadas actualizadas: cuando los requisitos nuevos o modificados hacen que las pruebas o los juegos
de pruebas fallen, no deshabilite las pruebas fallidas, corríjalas.
• Supervisar y restaurar el SSP: En la práctica real, para ejecutar continuamente un caso de prueba o un conjunto de casos de
prueba, el SSP debe monitorearse continuamente
© 2019 Everis
02
INTRODUCCIÓN A LA AUTOMATIZACIÓN DE PRUEBAS
ANALIZAR SSP
el análisis de la SAP se
EVOLUCIONAR
DISEÑAR SSP
SSP ANALIZAR SAP
basa en el diseño del SSP
CICLO DE VIDA DE
DESARROLLO SOFTWARE EVOLUCIONAR
DISEÑAR SAP
PARA EL SSP SAP
CICLO DE VIDA DE
DESPLEGAR DESARROLLAR
SSP SSP DESARROLLO SOFTWARE
PARA PRUEBAS
AUTOMATIZADAS
PROBAR SAP
© 2019 Everis
03 LINEAMIENTOS PARA IMPLEMENTAR
AUTOMATIZACIÓN
Antes de iniciar con un proyecto de automatización de pruebas, es necesario contemplar lo siguientes lineamientos que nos
permitirá determinar si se automatiza un SSP o se descarta:
01 02 03 04
Fuente: CoE QA
© 2019 Everis
ENFOQUES PARA AUTOMATIZAR
© 2019 Everis
04
ENFOQUES PARA AUTOMATIZAR
Los casos de prueba automatizados también deben definir datos de prueba para la interacción con el SSP e incluir pasos de
verificación para comprobar que el SSP logró el resultado esperado. Se puede utilizar varios enfoques para crear la secuencia de
acciones:
© 2019 Everis
ARQUITECTURA DE AUTOMATIZACIÓN
DE PRUEBAS
© 2019 Everis
05
ARQUITECTURA DE AUTOMATIZACIÓN DE PRUEBAS
Project Management
Test Automation
Test Generation Layer
Capa de Generación de la Prueba
Manual Test
Design Models
• Diseño manual de casos de prueba
• Desarrollar , capturar o derivar datos de prueba.
Test Management
Test Data
• Segmentar/restringir, parametrizar o instanciar
Test Library datos de prueba.
Emulator
Protocol
Services
API
© 2019 Everis
06
MÉTODOS DE ESTIMACIÓN PARA AUTOMATIZACIÓN
Si bien la estimación del esfuerzo para un proyecto de SAP es responsabilidad de un JAP, un IAP debe apoyar al JAP en esta
tarea, proporcionando buenas estimaciones para el tiempo y la complejidad de un diseño de AAP. Los métodos de estimaciones
incluyen los siguientes:
Estimación por
expertos
© 2019 Everis
HERRAMIENTAS PARA AUTOMATIZACIÓN
DE PRUEBAS
© 2019 Everis
07 HERRAMIENTAS PARA AUTOMATIZACIÓN DE
PRUEBAS
Junit es un conjunto de bibliotecas que son utilizadas para hacer pruebas unitarias.
Selenium, es un conjunto de librerías que permite automatizar aplicaciones web con distintos navegadores
04
(Chrome, Opera, Edge, Mozilla, Safari, etc.).
Appium, es framework de automatización para aplicaciones híbridas y nativas para móviles. Maneja
aplicaciones iOS, Android y Windows.
Serenity BDD, es un conjunto librerías que permite automatizar pruebas de aceptación, produciendo
reportes más completos para una toma de decisiones eficaz.
Cucumber, es un conjunto librerías que permite leer especificaciones ejecutables escritas en texto plano
(Gherkin).
© 2019 Everis
Gracias