1. Automatización de Pruebas
1. ¿Qué es la Automatización de Pruebas?
2. Tipos de Automatización
3. Ventajas de la automatización
4. Cuando se debe automatizar
5. Herramientas de Automatización Funcionales
6. Herramientas de Automatización No Funcionales
7. Tipos de Herramientas de Automatización
8. Ciclo de Vida de Automatización
9. Características de un Analista de Automatización
10.Recomendaciones a la hora de automatizar
Índice
2. ¿Qué es la automatización de Pruebas?
El uso de herramientas o técnicas que permiten realizar
cualquier actividad de manera automática
3. Tipos de automatización
Hay 3 tipos de automatización:
Record And Play: Es cuando se realiza la grabación de
una transacción con una herramienta de automatización
y los datos están quemados
Data- Driven : Es cuando se realiza la grabación de una
transacción con una herramienta de automatización y los
datos provienen de un archivo Excel, de la tabla de una
BD o de un archivo CSV
KeyWord – Driven: Es cuando se realiza la grabación de
una transacción con una herramienta de automatización
pero creando la grabación con algún lenguaje de
scripting propio o no propio
4. Ventajas de la automatización
Algunas de las ventajas de la automatización son:
• Permite ejecutar mas pruebas en menos tiempo
• Permite que una prueba se ejecute más rápido
• Permite que se puedan ejecutar pruebas en paralelo
• Permite que el conocimiento se pueda transmitir más
fácilmente y no dependa tanto de los analistas de
calidad
• Mejora la eficiencia y productividad de las pruebas
• Mejora la organización de las pruebas
• Permite reducir la complejidad de las pruebas
5. ¿Cuándo se debe automatizar?
• Cuándo la interfaz de usuario va a cambiar poco en el
futuro
• Cuando hay un tiempo prudente para realizar la
automatización
• Cuando se va a utilizar una metodología de desarrollo
ágil(SCRUM y XP)
• Cuando se realizan muchas pruebas de regresión
• Cuando el flujo de trabajadores requiere una transmisión
de conocimientos rápida
• Cuando las pruebas sean complejas y sean una gran
cantidad de pruebas que se repiten periódicamente
6. Herramientas de automatización
funcionales
Selenium :Es una herramienta Open Source ; permite realizar
grabaciones solo sobre aplicaciones web; originalmente era un
plugin para Firefox pero en Selenium 2 existen plugins para IE y
otros navegadores ; funciona bajo Windows y Linux.
Rational Functional Tester : Es una herramienta de IBM que permite
realizar grabaciones sobre aplicaciones web y de escritorio ;puede
utilizar como lenguaje de scripting Java o Visual Basic; soporta
aplicaciones AS-400 ;es un tipo de herramienta por coordenadas ;
funciona bajo Windows y Linux
Unified Functional Tester : Es una herramienta de HP; permite
realizar grabaciones sobre aplicaciones web y de escritorio; es un
tipo de herramienta por coordenadas pero también puede utilizar la
técnica por OCR; funciona bajo Windows
7. Herramientas de automatización
funcionales
Ranorex Studio: Es una que permite
hacer grabaciones sobre aplicaciones
web , de escritorio y móviles ; soporta
los 5 navegadores mas utilizados y
permite utilizar como lenguajes de
scripting C# y Visual Basic ;utiliza el
framework de .NET; es un tipo de
herramienta por coordenadas;
funciona bajo Windows
TestComplete: Es una aplicación
8. Herramientas de automatización no
funcionales
Rational Performance Tester: Es una herramienta de
automatización de pruebas de rendimiento de IBM ;
permite realizar pruebas de carga ,volumen y stress;
utiliza usuarios virtuales ,perfiles de usuario y pool de
datos ; permite grabar y asociar varios escenarios a un
grupo de usuarios ; también permite utilizar pool de
datos de BD , archivos Excel ,ect
LoadComplete: Es una herramienta de automatización de
pruebas de rendimiento ; permite realizar pruebas de
carga ,volumen y stress; utiliza usuarios virtuales ,
perfiles de usuario(ancho de banda , navegador , ect) y
pool de datos ; permite configurar la calidad del tiempo
de respuesta y del tiempo por cada transacción
9. Herramientas de automatización no
funcionales
JMeter = Es una herramienta Open Source para realizar
pruebas no funcionales(Carga y Stress);esta escrita en
Java y necesita un jdk o jre igual o superior a 1.6;
permite probar el rendimiento de aplicaciones web(de
java , .NET , php ), Bases de datos , servidores de FTP,
servidores de aplicaciones ; también permite realizar
pruebas de regresión verificando que la aplicación
devuelve el resultado correcto con afirmaciones
S
10. Herramientas de automatización no
funcionales
• SoapUI : Es una herramienta Open Source escrita en
Java; permite realizar pruebas funcionales ,de regresión
y de carga sobre aplicaciones web y servicios web;
soporta protocolos como HTTP , SOAP , FTP ; permite
realizar pruebas de carga sobre base de datos ,
servicios web y aplicaciones web; permite grabaciones
con secuencia de comandos; accede a pool de datos en
archivos Excel , archivos XML , distintas base de datos ,
archivos de texto plano; al ser escrito en Java funciona
bajo Windows , Linux y MAC
11. Tipos de Herramientas de
Automatización
Hay tres tipos de herramientas de automatización:
• Herramienta por coordenadas : Es una herramienta que detecta los
objetos basándose en su posición o coordenadas ; Ej: TestComplete
, Ranorex Studio, Functional Test, Unified Functional Testing .
• Herramienta por seudocódigo único : Es una herramienta que
detecta los objetos por un nombre único lo que permite que aunque
las propiedades del objeto o su posición cambien la herramienta
siga reconociendo el objeto .Ej: Sahi
• Herramienta por OCR: Es una herramienta que reconoce los objetos
por medio de la técnica OCR(reconocimiento óptico de caracteres)
lo que permite que aunque las propiedades del objeto cambian o su
posición lo reconozca igual.Ej: EggPlant , UFT.
12. Características de un analista de
automatización
Un analista de automatización debe tener conocimiento en
algún lenguaje de desarrollo(Java , C# , etc.) y
experiencia como desarrollador por lo menos 6 meses ,
conocer alguna metodología de desarrollo como por
ejemplo SCRUM , conocimientos de SQL, de algún
gestor de BD como SQL Server o Oracle , tener
conocimientos en calidad(casos de prueba , etc.)y
experiencia de 1 año por lo menos como Analista de
Calidad ; también debe conocer alguna herramienta de
automatización (Sahi , Selenium , etc.) , herramientas de
gestión de incidencias( bug-tracker) y de gestión de
pruebas( Testlink , Quality Manager,ect); también debe
tener una gran facilidad de aprendizaje para aprender
distintas herramientas y lenguajes de scripting.
13. Ciclo de vida de Automatización
El ciclo de vida de automatización tiene las siguientes
fases:
1. Levantamiento de Requerimientos=Se realiza una
reunión con el cliente para determinar las transacciones
de los módulos que se van a automatizar , el tipo de
aplicación que es(web , escritorio , móvil o híbrida) y el
tipo de prueba que se va a grabar(funcional o no
funcional(carga, stress , bechmark o perfil de
desempeño)
2. Prueba de adherencia=Se prueba la herramienta de
automatización realizando parte de las transacciones
para analizar la complejidad de automatizar las
trasacciones
14. Ciclo de vida de Automatización
• 3 . Análisis de las transacciones : Se analiza las
transacciones al completo para ver la complejidad de la
transacción(se analiza los CP si los dan y sino los
documentos con los pantallazos) ,las validaciones por
transacción ,la complejidad de las transacciones y la
estimación del tiempo para automatizar cada transacción
; se crea un documento de análisis
• 4. Configuración del entorno de pruebas : Se configura
la herramienta de automatización y se habilita los
plugins de la herramienta en los navegadores
15. Ciclo de vida de Automatización
5. Creación de pool de datos : Se consiguen los datos que
se van a utilizar en las transacciones
6. Grabación de los scripts=Se realiza la grabación de las
transacciones y se añade un pool de datos
7. Ejecución de los scripts=Se establece el entorno de
ejecución a como estaba el entorno de grabación
inicialmente ; se analiza los resultados de la ejecución
para ver si los script funcionan correctamente
16. Ciclo de vida de Automatización
8. Certificación de las pruebas=Se realiza la
ejecución de los script y se certifica que los
casos de prueba son todos éxito o tienen
algunos no éxito ; se guardan los resultados
de la prueba en un repositorio (Jira ,
Testlink ,etc.)
9. Pruebas de aceptación con el cliente=Se
muestra la ejecución de los script al cliente
y se verifica que es lo que el cliente quería
10. Entrega de los artefactos al cliente=Se
instala la herramienta de automatización en
17. Recomendaciones a la hora de
automatizar
• Configurar la herramienta de automatización (ej: detectar
objetos MSSA) y que esté instalado y habilitado el plugin
de la herramienta en todos los navegadores a utilizar
• Cerrar todas las aplicaciones que no vallan a ser
utilizadas en la grabación
• Ralentizar la ejecución del script mediante Delays para
que se puedan detectar los objetos a tiempo
• Si el pool de datos está en un archivo Excel cerrarlo
para que la herramienta no muestro un error
• El entorno inicial de ejecución tiene que ser igual al
entorno de grabación
• Realizar control de versiones de los scripts
18. Recomendaciones a la hora de
automatizar
• Guardar los resultados de todas las ejecuciones en
algún repositorio
• Realizar una prueba de adherencia y crear un
documento de adherencia donde se analice la
complejidad de las transacciones, las tecnologías
utilizadas ,las validaciones o afirmaciones que se van a
realizar y la complejidad de cada validación o afirmación