herramientas open source para testing de aplicaciones web ......herramientas open source para...
TRANSCRIPT
![Page 1: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/1.jpg)
Herramientas open source para testing de aplicaciones
Web. Evaluación y usos.
F. Javier DíazClaudia M. Banchoff Tzancoff
Anahí S. RodríguezValeria Soria
{javier.diaz, claudia.banchoff, anahi.rodriguez, valeria.soria}@linti.unlp.edu.ar
LINTI. Fac. de Informática, Universidad Nacional de La Plata.La Plata, 1900, ARGENTINA
![Page 2: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/2.jpg)
Aplicación Web
• Myers: “Las aplicaciones de Internet son aplicaciones cliente-servidor donde el cliente es un navegador Web y el servidor es un servidor Web o una aplicación servidor”
![Page 3: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/3.jpg)
Objetivo
• El objetivo de este trabajo es presentar una serie de herramientas que asisten en la tarea de testing durante el desarrollo de una aplicación web.
• Este trabajo se ha focalizado en el análisis de aplicaciones Web. Se presentarán herramientas de código abierto agrupadas según el tipo de prueba realizar.
![Page 4: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/4.jpg)
Testing• Es someter un software a ciertas
condiciones que puedan demostrar si es válido o no, verificando que el software se ajusta a los requerimientos y además validar que las funciones se implementan correctamente.
• Es en definitiva agregar valor a un producto y no solamente al producto, sino al proceso de desarrollo, siempre que se consideren los resultados generados.
![Page 5: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/5.jpg)
Etapas de testing
• Al igual que el desarrollo de software, las pruebas también tienen diferentes etapas, como ser: Planificación y Control, Análisis y Diseño, Implementación y Ejecución, Evaluación y Cierre.
![Page 6: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/6.jpg)
Calidad de Software• IEEE std. 610: “El conjunto de programas
de ordenador, los procedimientos y posiblemente, la documentación asociada y los datos relativos a la operación del sistema informático”.
• Algunos autores afirman que los valores de calidad que tiene mayor relevancia en las aplicaciones Web son: Usabilidad, Funcionabilidad, Fiabilidad, Seguridad, Eficiencia y Mantenibilidad.
![Page 7: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/7.jpg)
Caso de PruebaUn caso de prueba es un conjunto de entradas, precondiciones de ejecución, resultados esperados y poscondiciones de ejecución, realizadas para un objetivo particular, tal como ejecutar un camino en particular o verificar la concordancia con los requerimientos.
![Page 8: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/8.jpg)
Caso de Prueba• Un caso de prueba debe probar un item
(en teoría) y luego realizar un análisis del resultado esperado.
• Si se descubre un nuevo caso, documentarlo y no ejecutarlo.
• Se tiende agrupar casos de prueba, pero asi se pueden enmascarar errores.
![Page 9: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/9.jpg)
Caso de Prueba• Objetivo: la carácteristica del sistema a
probar.• Datos de entrada y de ambiente: datos a
introducir al sistema que se encuentra en condiciones preestablecidas.
• Comportamiento esperado: la salida o la acción esperada en el sistema de acuerdo a los requerimientos del mismo.
• Comprobación del resultado esperado: método o forma de realizarlo.
![Page 10: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/10.jpg)
Tipos de pruebas• Pruebas de aceptación
– Alfa– Beta
• Pruebas de sistema– Usabilidad– Interfaz de usuario– Seguridad– Rendimiento– Configuración
![Page 11: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/11.jpg)
Tipos de pruebas• Pruebas funcionales
• Pruebas de integración– Big Bang– Top Down– Bottom Up
• Pruebas de unidad
![Page 12: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/12.jpg)
Probando aplicaciones Web• El tipo de pruebas no depende del tipo
de aplicación, ya sea Web o escritorio.
• Se recomienda realizar las siguientes pruebas básicas:– Pruebas de aceptación– Pruebas estáticas de código– Pruebas unitarias– Pruebas funcionales– Pruebas de rendimiento
![Page 13: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/13.jpg)
Herramientas
• Según Whittaker, la utilización de una herramienta puede ser útil para mejorar y agilizar las pruebas a realizar.
• Por ejemplo, a la hora de simular una cantidad determinada de usuarios accediendo a un sitio al mismo tiempo, o la carga de datos en un sistema, etc.
![Page 14: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/14.jpg)
Herramientas - Ventajas
• El trabajo repetitivo se reduce.
• Una mayor coherencia y repetibilidad.
• Evaluación Objetiva.
• Fácil visualización de los resultados.
![Page 15: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/15.jpg)
Herramientas - Desventajas
• Se pueden llegar a tener expectativas irrealistas sobre las herramientas.
• Sobrestimar el tiempo.
• La incorporación de la herramienta a las pruebas realizadas puede demandar más tiempo que el previsto.
![Page 16: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/16.jpg)
Herramientas – Pruebas de aceptación
• FitNesse: permite comparar lo que debe hacer el software con lo que realmente hace. Se pueden realizar pruebas de aceptación y pruebas de reglas de negocio.
http://fitnesse.org/
• Avignon: permite a los usuarios expresar pruebas de aceptación de una forma no ambigua antes que comience el desarrollo. Trabaja en conjunto con JUnit, HTTPUnit, etc.
http://www.nolacom.com/avignon/index.asp
![Page 17: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/17.jpg)
FitNesse
![Page 18: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/18.jpg)
Tablas comparativasPruebas de aceptación
Herramienta UI Licencia Plata-forma
Lenguaje Ult.Actual.
Documen-tación
FitNesse WEB GPL Win / Linux
Java, C#, PHP, Ruby,
.NET, etc.
Julio2009
Guía de Usuarios
Avignon GUI GPL Win / Linux
Java, .NET, etc.
Octubre2006
Insuficiente
![Page 19: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/19.jpg)
Herramientas – Pruebas estáticas de código
• PHPLint: permite mejorar las tareas de programación, ya sea comenzando la codificación con esta herramienta o mejorando código ya existente. Permiten dar seguridad en el código, errores de sintaxis, variables no utilizadas, código muerto, etc.
http://www.icosaedro.it/phplint/
• RATS: realiza chequeo de seguridad en el código, determinando la criticidad de fallos, como así también una evaluación del código.
http://www.fortify.com/security-resources/rats.jsp
• YASCA: permite encontrar vulnerabilidades de seguridad, calidad en el código, rendimiento, etc. Aprovecha la funcionalidad de los plugins FindBugs, PMD y Jlint.
http://www.yasca.org/
![Page 20: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/20.jpg)
Herramientas – Pruebas estáticas de código
• PMD: puede ser integrado a varias herramientas: JDeveloper, Eclipse, JEdit, etc. Permite encontrar en el código errores en el manejo de excepciones, código muerto, código sin optimizar, código duplicado, etc.
http://pmd.sourceforge.net/
• FindBugs: puede integrarse a Eclipse. Realiza un escaneo de código encontrando errores comunes, malas prácticas de programación, código vulnerable, rendimiento, seguridad, etc.
http://findbugs.sourceforge.net/
![Page 21: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/21.jpg)
Tablas comparativasPruebas estáticas de código
Herramienta UI Licen-cia
Plata-forma
Lenguaje Ult.Actual.
Documen-tación
PHPLint GUI BSD Win / Linux
PHP Mayo2009
Tutorial / Manual
RATS CLI GPL Win / Linux
C++, Perl, PHP y Python
Septiembre2009
Sin Datos
YASCA CLI GPL Win / Linux
Java, .NET, PHP, HTML,
CSS, etc.
Mayo2009
Manual
PMD CLI BSD Win / Linux
Java Febrero2009
Tutorial/ Manual
FindBugs GUI / CLI
GPL Win / Linux
Java Marzo2009
Tutorial/ Manual
![Page 22: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/22.jpg)
Herramientas – Pruebas Unitarias
• JUnit: automatiza las pruebas unitarias y de integración. Provee clases y métodos que facilitan la tarea de realizar pruebas en el sistema y así asegurar la consistencia y funcionalidad.
http://www.junit.org/
• PHPUnit: permite crear y ejecutar tests unitarios de manera simple. Está basado en el framework “JUnit” para java.
http://www.phpunit.de/
• SimpleTest: pruebas de unidad en PHP y pruebas Web. Cuenta con un navegador Web interno, lo que permite que las pruebas naveguen los sitios Web, ingresen datos en formularios y páginas de prueba.
http://www.simpletest.org/
![Page 23: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/23.jpg)
Tablas comparativasPruebas Unitarias
Herramienta UI Licen-cia
Intetgración Ult.Actual.
Documen-tación
JUnit Integra-da
CPL Eclipse / NetBeans
Mayo2009
Coockbook/Foro/FAQ
PHPUnit CLI PHP No Aplica Junio 2009
Manual
SimpleTest CLI LGPL Eclipse Abril2008
Tutorial / How to
![Page 24: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/24.jpg)
Herramientas – Pruebas Funcionales• Chequeadores de Enlace
– XENU: permite encontrar los enlaces rotos en un análisis en profundidad
http://home.snafu.de/tilman/xenulink.html
– LINK Checker W3C: herramienta On-Line que permite encontrar enlaces rotos, anclas mal definidas, advertir sobre redirecciones, etc.
http://validator.w3.org/checklink
– DRKSpider: permite encontrar enlaces rotos, tiene niveles de profundidad y genera un árbol jerárquico con los enlaces del sitio en prueba, con información detallada.
http://www.drk.com.ar/index.php
– Link Evaluator: se integra a la interfaz del navegador. Se procesa sólo la página actual y no realiza un análisis en profundidad, resaltando en distintos colores el estado de los enlaces.
https://addons.mozilla.org/es-ES/firefox/addon/4094
![Page 25: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/25.jpg)
XENU
![Page 26: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/26.jpg)
W3C Validator
![Page 27: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/27.jpg)
Tablas comparativasPruebas funcionales – Chequeadores de enlaces.
Herramienta UI Licencia Procesa-miento
Plata-forma
Ult.Actual.
Documen-tación
XENU GUI Freeware Remoto / Local
Win Abril 2009
FAQ
LINKChecker
W3C
WEB GPL Remoto Win / Linux
No Aplica Manual
DRKSpider GUI GPL Remoto / Local
Win Abril2009
Foro
Link Evaluator WEB Apache License
Remoto / Local
Win / Linux
Mayo2009
How to / Ejemplos
![Page 28: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/28.jpg)
Herramientas – Pruebas Funcionales• Funcionalidad
– Selenium IDE: plug-in del Firefox. Permite grabar clicks, tipeo y otras acciones para realizar test. Se puede exportar en distintos lenguajes para su posterior adaptación y utilización.
http://seleniumhq.org/projects/ide
– HTTPUnit: Se basa en la metodología XP. Se pueden realizar pruebas funcionales antes de que estén generadas las páginas Web. No se basa en los controles que tenga la página, si no que se basa en los valores de entrada que el usuario pueda ingresar.
http://httpunit.sourceforge.net/index.html
– Badboy: Permite grabar y luego reproducir las acciones realizadas por los usuarios, luego este script puede ser utilizado en otras herramientas, como ser JMeter. Se puede integrar al navegador Web Internet Explorer.
http://www.badboy.com.au/
– SAHI: Permite grabar y luego reproducir script. Tiene soporte funciones realizadas en lenguaje Javascript.
http://sahi.co.in/w/
![Page 29: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/29.jpg)
Selenium
![Page 30: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/30.jpg)
Tablas comparativasPruebas funcionales – Funcionalidad
Herramienta UI Licencia Plata-forma
Ult. actual. Documentación
Selenium IDE GUI Apache Varios Junio 2008 Tutorial/ Manual/Wiki
HTTPUnit WEB Propia Win / Linux
Mayo 2008 Tutorial/ Manual/FAQ
Badboy WEB LGPL Win Diciembre 2008
Manual/ Foro
Sahi GUI Apache Win / Linux
Mayo 2009 Manual/ FAQ
![Page 31: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/31.jpg)
Herramientas – Pruebas de Rendimiento
• JMeter: permite realizar pruebas de rendimiento, de stress, de carga y de volumen, sobre recursos estáticos o dinámicos.
http://jakarta.apache.org/
• OpenSTA: permite captar las peticiones del usuario generadas en un navegador Web, luego guardarlas, y poder editar para su posterior uso.
http://www.opensta.org/
• WEbLoad: permite realizar pruebas de rendimiento, a través de un entorno gráfico en el cual se pueden desarrollar, grabar y editar script de pruebas.
http://www.webload.org
• Grinder: Es un framework escrito en Java, con el cual se pueden realizar pruebas de rendimiento, a través de script escritos en lenguaje Jython. Permite grabar las peticiones del cliente sobre un navegador Web para ser luego reproducido.
http://grinder.sourceforge.net/
![Page 32: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/32.jpg)
JMeter
![Page 33: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/33.jpg)
Tablas comparativasPruebas de rendimiento
Herramienta UI Licen-cia
Plata-forma
Conc. usuarios
Ult.Actual
Documen-tación
JMeter GUI Apache License
Win / Linux
SI Junio 2009
Tutorial
OpenSTA GUI GPL Win SI Octubre 2007
Guía de usuario
WebLoader GUI GPL * Win SI Abril2007
Tutorial
Grinder GUI GPL Win / Linux
SI Febrero2009
Guía de usuario / FAQ
(*) Existen dos tipos de licencias: GPL y profesional
![Page 34: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/34.jpg)
Conclusiones• Al utilizar herramientas open source, no
sólo se encuentran disponibles para su uso, sino que también se las podría adaptar a los requerimientos propios del proyecto.
• Existen muchas herramientas que ayudan al equipo de testing de un proyecto. Elegir las más adecuadas no es una tarea sencilla.
![Page 35: Herramientas open source para testing de aplicaciones Web ......Herramientas open source para testing de aplicaciones Web. Evaluación y usos. F. Javier Díaz Claudia M. Banchoff Tzancoff](https://reader036.vdocuments.mx/reader036/viewer/2022071523/613cf32b4c23507cb635b596/html5/thumbnails/35.jpg)
MUCHAS GRACIAS!!!