Вы находитесь на странице: 1из 8

Taller numero 3 Automatizacion de pruebas y

herramientas

Marco Oechsler 14.762.264-3


Andres Briones 17.250.274-1
Sebastian Mondaca 19.405.848-9
Sebastian Agass 19.829.582-5

Agosto 2019
AIEP Maipú
Programación y análisis de sistemas PEV
Taller de Testing y calidad de software
Profesor Claudio Costagliola
Automatización de pruebas y herramientas de testing.

La automatización de pruebas es una practica que permite controlar la ejecución de


un los procesos y acciones que debe realizar un sistema de manera automática, se
basa en comparar los resultados obtenidos con los resultados esperados, la
automatización de pruebas es una practica que tiene como finalidad complementar la
ejecución de testing manual, evitando que se realicen a mano pruebas que pueden ser
automatizadas y que, por su monotonía, podrían llevar a fallos de los testers en las
mismas pruebas.

Otra ventaja de la automatización de testing es que permite a los testers concentrarse


en pruebas mas "finas" y complejas, donde se necesita aprovechar las capacidades
humanas mas allá de las computarizadas.

La automatización se realiza por medio de la construcción de un conjunto de scripts y


programas reutilizables, estos tienen la ventaja que pueden ser reutilizados en otros
proyectos, ya que se ajustan a cada funcionalidad requerida

Beneficios de la automatización de pruebas.

La automatización de las pruebas de testing conllevan enormes ventajas respecto a


otras formas de testear software

Alineadas con las tendencias de trabajo ágil dentro de los equipos de desarrollo, es
importante poder concentrarse en la elaboración diseño y ejecución de los planes de
desarrollo, y dejar la mayor cantidad posible de procesos automatizados, la
automatización de testing permite además obtener resultados mas precisos y fiables a
través de pruebas que para un humano pueden terminar siendo tediosas afectando a
la larga la ejecución y resultados de estas, la automatización de testing elimina

Que desventajas puede tener la automarizacion del testing

La realización de automatización de testing cuenta con la desventaja de ser un proceso


diseñado para probar funcionalidades concretas, sin embargo, al no gestionar toda la
calidad del código hay que entender que no todo el proceso de testing puede ser
automatizado, esta debe centrarse en los siguientes procesos, es importante contar
con equipos que sean capaces de determinar con precisión, dentro del desarrollo de
un sistema, que características de este puede ser automatizadas y cuales deben
tratarse con mayor rigurosidad, es necesario saber determinar con precisión los
procesos que tienen que ser revisados por un

humano, dados ciertos parámetros donde las maquinas no pueden o no tienen la


capacidad de encontrar fallas que, para una persona pueden ser evidentes.

• Sanity Testing: casos de prueba que se deben ejecutar en cada nueva versión
de la aplicación
• Data Driven Testing: casos de prueba que utilicen distintos datos de prueba
para las mismas acciones.
• Smoke Testing: funcionalidades criticas
• Funcionalidades que permanecerán dentro de la aplicación o de las que no se
contempla modificación.

El testing es una parte del proceso de desarrollo de software, y no puede ser tratado
como una entidad aparte, el testing debe integrarse en todo el proceso de desarrollo,
mas aun cuando en la actualidad se utilizan metodologías agiles que deben contar con
la mayor eficiencia en su planificación y ejecución, al elegir que herramientas utilizar
para realizar las pruebas es importante tener en cuanta una gran cantidad de
variables, como pueden ser

• funcionalidad
• Tipo de aplicación
• Tipo de lenguaje
• Sistema de trabajo

Dado que el testing es parte fundamental de la calidad final de un sistema, es


importante contar con el personal especializado o con la asesoría de un experto en el
tema.
La calidad final del software va mas allá del testing, esta va relacionada a factores que
incluyen la calidad del proceso mismo de creación, la calidad del código y la calidad
del equipo de desarrollo

El hecho de que el software funcione no significa que este bien construido, la calidad
del software engloba una serie de factores que tienen que ser medidos, tanto
individualmente como por medio de un proceso conjunto de valores.
Herramientas de gestión de pruebas (Open Source)

- Testlink.

Descripción de las herramientas:

- TestLink es una herramienta que permite crear y gestionar casos de pruebas y


organizarlos en planes de prueba. Estos planes permiten a los miembros del equipo
ejecutar casos de test y registrar los resultados dinámicamente, generar informes,
mantener la trazabilidad con los requerimientos, así como priorizar y asignar tareas.

- Bugzilla es un sistema para detectar defectos o bugs en sitios web y aplicaciones.


Está pensado para que los desarrolladores puedan seguir el rastro de los bugs de sus
productos con mayor efectividad.

- FitNesse es una herramienta colaborativa para el desarrollo de software. Permite a


los clientes, testers, y programadores aprender lo que su software debería hacer, y
automáticamente compara lo que realmente hace. Compara las expectativas de los
clientes a los resultados reales.

Comparación herramientas:

- TestLink: esta herramienta incluye entre sus funcionalidades la posibilidad de


mantener un repositorio de requisitos que ayude a verificar su trazabilidad:

- Permite gestionar varios proyectos, así como registrar sus requerimientos y


relacionarlos con los casos de prueba.

- Permite importar requisitos y planes de prueba a partir de hojas de cálculo.

- Permite generar informes en diversos formatos.

- Permite definir requisitos y casos de prueba utilizando un interfaz amigable,


así como adjuntar ficheros.

- Permite agrupar los requisitos en una estructura en árbol.

- Bugzilla: reduce tiempos, aumenta la productividad, deja a los clientes


satisfechos y mejora la comunicación entre integrantes de un mismo proyecto,
también puede reducir costos a través de su suporte técnico y ayuda a
empresas.

- Busca bugs y cambios en códigos

- Habilita una comunicación directa y rápida con otros compañeros de trabajo

- Establece y revisa parches

- Es una garantía de confianza y calidad para los desarrolladores


- FitNesse:

Como usarlas en el proceso de pruebas de SW:

- TestLink:
Instalación de la aplicación:

Para tener esta aplicación instalada en nuestro servidor web, es muy sencillo.

Pasos:

-Tener un servidor web como Apache con Php5 y un servicio SQL de base de

datos. Por ejemplo XAMPP.

-Tener descargado el paquete de SourceForge.

-Descomprimimos el paquete de TestLink en el directorio que queramos dentro

de nuestro servidor.

-TestLink posee un script de instalación automática, que te ayudará a instalar

todas las directivas de configuración, así como la estructura de la base de

datos. Desde nuestro navegador acceder

a: http://nuestroServidor/testlink/install/index.php

Configurar la aplicación:

Todos los parámetros de configuración están en el fichero config.inc.php y


todos los ficheros incluidos en él.

config.inc.php: contiene configuración principal.

config_db.inc.php: contiene parámetros de configuración de acceso a la base


de datos.

custom_config.inc.php: sirve para modificar los valores por defecto de los


parámetros de config.inc.php, esto nos facilita la modificación.

Uso de la aplicación:

En sumary indicaremos la especificación que queremos de nuestro software, por


ejemplo:

– «Posibilidad de logear en la aplicación»


Un ejemplo más claro seria:

– Summary: «Quiero que se cargue un menú de inicio»

– Preconditions: «El usuario se haya conectado»

De momento dejamos los steps sin definir.

Ahora crearemos un Test Plan, al que ligaremos todos los test cases.

En el panel de «Test Plan» hacemos click en build y nos dice que tenemos que crear
uno, sera nuestro control de versión de cada test.

Es decir para el test «Probar un caso de test» creamos una build «Probar un caso de
test 0.1» por ejemplo.

Herramientas para pruebas funcionales.

WebInject

Es una herramienta para ver el contenido de la pagina web , es una


herramienta muy buena para ver como esta construida la pagina

Watir

Es una Herramienta para interpretar y manipular todos los elementos


HTML también permite escribir scripts que maneja de forma
automatizada los casos de prueba

Comparación:

El Primer Programa Lo Que Hace es Ver como Esta Constituida una el


otro lo que hace es interpretar y manipular los elementos HTML y
escribe los scripts que maneja automatizada mente el caso de prueba

Conclusión:

Si usamos estos 2 programas evitaremos que rompan nuestra pagina y


después anden diciendo que nuestra pagina esta rota, no tenemos que
dejar ningún solo bug tenemos que esforzarnos para que la pagina sea
lo mas perfecta posible

Caso de Uso:
Ya en nuestra pagina hecha tenemos que meterle mano al WebInject
para comprobar que todo este en orden y si algo no esta en orden
tenemos que usar el watir para arreglar esos bugs

Canoo WebTest:

Este programa sirve para hacerle pruebas a la pagina web para ver si
tiene errores o no para así proceder a usar las demás herramientas si es
necesario

Ventajas:

> Probable longevidad, desarrollo activo


> Se puede hacer ajax / javascript
> Soporte para PageObject o patrones similares
> Madurez
> Sin cabeza (por ejemplo, htmlunit) está bien, especialmente si hace
que las cosas vayan más rápido
> Buena información
> Soporte para proveedor de credenciales NTLM o similar
> Scripts de prueba compactos y robustos
> Aprovecha el lenguaje groovy

Canoo WebTest vs. Selenium

DropdownDatePicker Es muy buen programa ya que con struts y Spring


MVC encontré un inconveniente:

Cannon WebTest ya no se puede usar para ingresar fechas en un


formulario

No encuentra el elemento de formulario porque la implementación del


navegador subyacente para Canoo no lo comprende por que presenta
los componentes de Dojo

Usuarios las soluciones incluyen:

1. No escriba pruebas para ingresar datos en formularios que tengan


fechas requeridas.
2. No haga las fechas requeridas.

Parece lógico pasar a Selenium para las pruebas de IU que Cannon


WebTest no puede hacer

Herramientas para pruebas de carga y rendimiento


Herramientas para pruebas de carga y rendimiento

FunkLoad
Es un probador Web funcional y carga, escrito en Python. Es una herramienta para
desarrolladores la cual ayuda a probar sus aplicaciones y sitios web en distintos
ambientes y situaciones.
cuyos principales casos de uso son:
• Pruebas funcionales de proyectos web y, por lo tanto, también pruebas de
regresión.
• Pruebas de rendimiento: al cargar la aplicación web y monitorear sus
servidores, le ayuda a detectar cuellos de botella, brindando un informe detallado
de la medición del rendimiento.
• Herramienta de prueba de carga para exponer errores que no aparecen en
la prueba superficial, como la prueba de volumen o la prueba de longevidad.
• Herramienta de prueba de esfuerzo para abrumar los recursos de la
aplicación web y probar la capacidad de recuperación de la aplicación.
• Escribir agentes web mediante secuencias de comandos de cualquier tarea
repetitiva web.
Las características principales:
Obtener / publicar / poner / eliminar soporte, publicar cualquier tipo de contenido
como aplicaciones xml, distintos tipos de soportes (cookies, referencia, https,
etc.), verificar rendimientos de páginas, carga de archivos y envío de datos
multiparte / formulario
Licencia
FunkLoad es un software gratuito y libre.

Apache JMeter ™

La aplicación Apache JMeter ™ es un software de código abierto, una aplicación


Java 100% pura diseñada para cargar el comportamiento funcional de las pruebas
y medir el rendimiento. Originalmente fue diseñado para probar aplicaciones web,
pero desde entonces se ha expandido a otras funciones de prueba.

Comparaciones: