INTEGRANTES:
Yuly Marcela Tapias Suarez
Cd.: 1090458751
Tomas De Aquino Moreno Crdoba
Jairo Javier Verdeza
Paulo Vctor Garcia Acosta
Cd.: 86015076
GRUPO:
201014_61
TUTOR:
Mg. JAVIER MEDINA
1. INTRODUCCIN
La automatizacin de las pruebas funcionales reduce significativamente el esfuerzo
dedicado a las pruebas de regresin en productos que se encuentran en continuo
mantenimiento. La automatizacin de las pruebas debe ser considerada un proyecto
en s mismo con objetivos definidos.
En este artculo se presenta una metodologa y el conjunto de herramientas utilizado
para la automatizacin de las pruebas funcionales en productos con interfaz Web.
Este conjunto de herramientas est compuesto por: Selenium, Eclipse y
extensiones de Mozilla Firefox como son Firebug, XPath Checkery XPather, Simple
Test, Unit PHP, PHP Unit y JUnit.
Si bien las herramientas asisten en las pruebas automatizadas, no brindan soporte
para la organizacin de los artefactos del proyecto: scripts, documentos y reportes
de ejecucin
2. FUNDAMENTOS TERICOS
El objetivo de la prueba funcional es validar cuando el comportamiento observado
del software probado cumple o no con sus especificaciones. La prueba funcional
toma el punto de vista del usuario. Las funciones son probadas ingresando las
entradas y examinando las salidas. La estructura interna del programa raramente
es considerada.
Para realizar pruebas funcionales, la especificacin se analiza para derivar los
casos de prueba.
Tcnicas como particin de equivalencia, anlisis del valor lmite, grafo causaefecto y conjetura de errores son especialmente pertinentes para las pruebas
funcionales. Se deben considerar condiciones invlidas e inesperadas de la
entrada y tener en cuenta que la definicin del resultado esperado es una parte
vital de un caso de prueba. El propsito de la prueba funcional es mostrar
discrepancias con la especificacin y no demostrar que el programa cumple su
especificacin.
Un caso de prueba (test case) es un conjunto de valores de entrada,
precondiciones de ejecucin, resultados esperados y pos condiciones de
ejecucin, desarrollados con un objetivo particular o condicin de prueba, tal como
ejercitar un camino de un programa particular o para verificar que se cumple un
requerimiento especfico.
Un script de prueba (test script) son los datos y las instrucciones escritas con una
sintaxis formal, almacenado en un archivo y usado por una herramienta de
automatizacin de las pruebas. Un script de prueba puede automatizar uno o ms
casos de prueba, navegacin, inicializacin u operaciones de configuracin del
entorno. Un script de prueba previsto para la ejecucin manual de las pruebas es
un procedimiento de prueba.
Una suite de pruebas es uno o ms conjuntos de pruebas reunidos para satisfacer
un objetivo de prueba. Un conjunto de prueba incluye scripts y documentacin. En
nuestro caso, las suites constituyen un conjunto de scripts y el orden de ejecucin
de los mismos.
Las pruebas de regresin tienen como objetivo verificar que no ocurri una
regresin en la calidad del producto luego de un cambio, asegurndose que los
cambios no introducen un comportamiento no deseado o errores adicionales.
Implican la re ejecucin de alguna o todas las pruebas realizadas anteriormente.
Las pruebas de humo son un conjunto de pruebas aplicadas a cada nueva versin,
su objetivo es validar que las funcionalidades bsicas de la versin se comportan
segn lo especificado. Estas pruebas buscan grandes inestabilidades o elementos
clave faltantes o defectuosos, que hacen imposible realizar las pruebas como
fueron planificadas para la versin. Si la versin no pasa las pruebas de humo, no
se comienza la ejecucin de las pruebas planificadas de la versin.
3. DESARROLLO DEL TRABAJO
La comunidad de ingeniera del software, est dando cada vez ms importancia al
Software Testing de Aceptacin Automatizado. Un ejemplo de esta situacin es el
Desarrollo Guiado por Pruebas (Test Driven Development), mtodo en el que el
cdigo de programa es desarrollado de acuerdo a casos de prueba previamente
definidos.
Asimismo, Selenium WebDriver se ha convertido en uno de los principales
exponentes en la Automatizacin de Software Testing, por ser esta de cdigo
abierto y soportar mltiples lenguajes de Scripting como Ruby, Java, Perl, entre
otros.
PMOInformatica.com, "La Oficina de Proyectos de Informtica", presenta a
continuacin algunas pautas para usar Selenium WebDriver en el marco de las
metodologas giles de desarrollo de software.
Por qu se necesita automatizar el Software de Pruebas?
En cada iteracin, adems de expandir las funcionalidades del sistema, podemos
realizar Refactorizaciones para optimizar funcionalidad que ya desarrollamos y
eliminar deuda tcnica.
Esto implica la necesidad de realizar constantemente pruebas regresin, dado que
al modificar cdigo desarrollado previamente, debemos revisar que continua
funcionando adecuadamente.
Con frecuencia, esto implica:
Constantes pruebas de regresin.
Esfuerzo duplicado en pruebas.
Todos en el equipo terminan haciendo pruebas manuales, inclusive
desarrolladores, Testers y el cliente
Selenium es una suite de herramientas para automatizar navegadores y lo puedes
usar para tareas de Testing, as como para automatizar otros procesos que se
hacen con el navegador.
Automatizan el navegador para hacer pruebas sobre sitios web y comprobar de una
manera sencilla que todo el conjunto de sitio o aplicacin funciona correctamente.
Esta es una aplicacin que sirve para testear websites desde el lado del cliente,
simulando determinados usos de sitios en el navegador, tal como los realizaran los
propios usuarios, de modo que puedas comprobar cmo se comporta el conjunto
de una aplicacin o sitio web con respecto a una carga de uso determinada. Puede
ser una gran carga de usuarios, una accin inesperada, sin tener que hacerlo
manualmente.
Es un sistema de automatizacin para navegadores, preparado para cargar distintos
perfiles, y por medio de programacin podemos controlar lo que queremos que
ocurra. Con estas aplicaciones simulas acciones, eventos JavaScript, accediendo
al DOM y diciendo lo que quieres que pase con esos elementos de la pgina. Tienes
adems conectores con varios lenguajes de programacin como C#, PHP, para
enviar simular tambin cosas como cargas de ficheros.
El cometido principal es hacer Testing de sitios y aplicaciones desarrolladas por tu
equipo de trabajo, pero tambin puede servir a los administradores de sitios web o
aplicaciones web para automatizar tareas repetitivas que pueden ser aburridas en
el da a da. Es compatible con diversos browsers como Chrome, Safari, Firefox,
Internet Explorer y distintos perfiles y sistemas operativos, hasta de dispositivos
como iOS o Android. De hecho, forma parte del core de estos sistemas, gracias al
soporte de los propios fabricantes de navegadores, de modo que puedas probar las
funcionalidades nativamente. Tienes varios productos dentro de la suite de
herramientas Selenium, que puedes usar segn tus necesidades.
Para Selenium crea rpidos scripts para reproduccin de errores. Realiza
exploracin de un sitio para Testing de manera automtica.
Con Selenium IDE, un complemento Firefox puedes hacer una grabacin de
acciones muy sencilla que luego puedes repetir las veces que necesites. Lo que
creas en realidad son scripts Selenium, que puedes almacenar para ejecutar y
reproducir de nuevo cuando lo desees.
Con Selenium WebDriver tienes adems dentro de Selenium la WebDriver API, que
se ha creado pensando ms en aplicaciones web modernas, donde otras soluciones
de Testing daban problemas. Por ejemplo, puedes testear perfectamente sitios que
trabajan con llamadas al servidor por Ajax, sin que la pgina recargue. Adems
tienes pasarelas de comunicacin que funcionan directamente con el servidor en
diversos lenguajes como Java, PHP, Ruby, C#...
La solucin de este problema sera la utilizacin de pruebas unitarias y pruebas
automatizadas con Selenium.
Para la realizacin de pruebas unitarias, existen herramientas y entornos de
desarrollo (frameworks) que facilitan su creacin en multitud de lenguajes de
programacin:
Etapa 2
Suites
26
Scripts
26
50
Scripts reutilizados
etapa anterior
52%
100%
60%
Scripts nuevos
6. REFERENCIAS