Está en la página 1de 30

PRUEBAS DE SOFTWARE

PRUEBAS FUNCIONALES CON SIKULI IDE


IDE ]

2020 – 2

25 de Noviembre del 2017


Desafío
Desafío
Recordando la clase anterior…
AUTOMATIZACIÓN DE PRUEBAS
FUNCIONALES
• La automatización de pruebas es
usada para controlar la ejecución
de pruebas, funciona básicamente
comparando los resultados reales
con los resultados previstos
• Comúnmente, consiste en la
automatización de un proceso
manual previamente establecido.
Automatizar el 100% de las pruebas no es una meta realista.

• Funcionalidades de uso frecuente en la preparación de datos


de pruebas.
• Funcionalidades especificas que demandan gran esfuerzo en
el proceso de pruebas.
• Funcionalidades relativamente estables en su interfaz grafica.
• Funcionalidades con índice de densidad de errores
relativamente alto.
• Funcionalidades de impacto a otros procesos del software.
Algunos Beneficios de la automatización

• Automatizar tareas mas repetitivas dejando mas tiempo para


aquellas que necesiten mas atención.
• Diseñar mas casos de pruebas automáticos.
• Incrementar la cobertura en el proceso de pruebas.
• Incrementar las pruebas de configuración de datos.
• Asegurar la reutilización de pruebas.
• Por la no intervención humana, la ejecución se puede realizar
en diferentes ambientes y en cualquier horario, lo que resulta
en menores costos.
Para que pueden servir los sistemas de automatización de Pruebas

• Probar aplicaciones GUI


• Probar código en base de datos ORACLE (incluyendo PLSQL)
• Cuando existan casos de pruebas reducir su modificación por
cambios en el diseño de la funcionalidad.
• Brindar la posibilidad que cualquier persona (desarrollor,
personal de pruebas o diseñador ) pueda escribir los casos de
prueba.
Para que pueden servir los sistemas de automatización de Pruebas

• Para reutilizar los casos de prueba ya construidos.


• Soportar buenas practicas de pruebas: unidad, regresión (lo
que no ha sido modificado) y desarrollo orientado a pruebas.
• El caso de prueba pasa de ser un documento en texto a ser
algo vivo, que puede ser ejecutado.
• Ayuda a tener un estándar en la interfaz gráfica.
• Ayuda en el análisis de procesos, rendimiento en ejecutables,
comparación de ambientes.
• Ejecutar pruebas en horario de menor uso del hardware.
Sikuli

¿Qué es SIKULI?
Sikuli es una tecnologia visual para
automatizar pruebas de interface grafica
de usuario (GUI) usando imagenes
(screenshots). Sikuli Script automatiza
todo lo mostrado en pantalla.

Sikuli Script y Sikuli IDE estan ambos


licenciados bajo the MIT License.
Integración de herramientas con Sikuli

Test Data

Test data syntax

Robot Framework
Test library API

Test Libraries Sikuli Scripts

Test Tools Sikuli

Application interfaces

System Under Test SmartFlex


Integración de herramientas con Sikuli

Al tener los datos de prueba independientes, es posible


reutilizarlos en otros escenarios o ejecutar las mismas pruebas
usando información diferente
Integración de herramientas con Sikuli

Provee el soporte para diseñar y


ejecutar los casos de pruebas,
adicionalmente facilita el análisis de
datos como resultado de las pruebas
en diferentes formatos de salida.
Integración de herramientas con Sikuli

Automatizar las pruebas GUI


usando imágenes.
Casos de Éxito
Banco de direcciones
Diseñadas y construidas pruebas para:
1. PLSQL (10 casos de prueba)
2. Componente de ingreso de direcciones de producto (GUI)
(18 casos de prueba)

En total se tienen 28 casos de prueba con 72 escenarios diferentes


El proceso manual para probar los 28 casos es de 7 horas, incluye
preparación de datos (15 minutos por caso).
El proceso automático se ejecuta en aproximadamente 6 minutos,
con la ventaja que puede ser ejecutado por el desarrollador
(13 segundos por caso).
RESULTADOS DE TERCEROS

Cantidad de casos de Tipo Tiempo Tiempo por caso


prueba de prueba
160 Manual 40 horas 15 minutos
768 Automático 8 horas 37.5 segundos
OTROS RESULTADOS

Empresa usando Visual Studio con Oracle/SQL Server


2 versiones por año

Versión Cantidad de errores Comentario


1.0 353
2.1 324
3.0 500
4.0 361 Automatizadas algunas pruebas
5.0 11 Tercer ciclo de pruebas ejecutados (son 7
ciclos), se hacen 2 compilaciones/pruebas
diarias

Los desarrolladores no pueden modificar los casos de prueba automáticos,


solo el grupo de calidad propone e implementa los casos.
El desarrollador debe esperar el CI de la mañana o de la tarde para ver el
impacto de los cambios.
EJEMPLOS EN SIKULI
EJEMPLOS EN SIKULI
EJEMPLOS EN SIKULI
EJEMPLOS EN SIKULI
EJEMPLOS EN SIKULI
API DE SIKULI

• http://sikulix-2014.readthedocs.io/en/latest/genindex.html
Conclusiones

 La automatización no es una “bala de plata” que resuelva


todos los problemas.
 Siempre se necesitarán pruebas manuales.
 La automatización inicialmente es costosa, a largo plazo es
barata.
 Las pruebas manuales son costosas, y siempre mantienen su
costo.
 La automatización es limitada a un alcance dado.
 Debe existir un balance entre pruebas automáticas y
manuales.
¡ Muchas Gracias !

También podría gustarte