Barra Superior

PMOinformatica.com
La oficina de proyectos de informática
La web sobre gerencia de proyectos de informática, software y tecnología.
Síguenos en:     

lunes, 24 de marzo de 2014

Testing de aceptación automatizado con selenium

Imagen de: My Software Quality
La comunidad de ingeniería del software, está dando cada vez más importancia a las metodologías ágiles, y estas a su vez le dan un sitial de gran importancia al Software Testing de Aceptación Automatizado. Un ejemplo de esta situación es el “Desarrollo Guiado por Pruebas (Test Driven Development)”, método en el que el código 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 Automatización de Software Testing, por ser esta de código abierto y soportar múltiples lenguajes de Scripting como Ruby, Java, Perl, entre otros.

PMOInformatica.com, "La Oficina de Proyectos de Informática", presenta a continuación algunas pautas para usar Selenium WebDriver en el marco de las metodologías ágiles de desarrollo de software.

Cursos de Software Testing

Como profesional de informática, necesitas que tu equipo de trabajo tenga formación en técnicas y metodologías de software testing. Para mejores desarrollos en menor tiempo, te presentamos:



Automatización de pruebas con Selenium
Saca el máximo provecho de Selenium WebDriver para la automatización de software testing.

Curso Online de Cucumber
Usa Cucumber para automatizar pruebas bajo Behaviour Driven Development (BDD).








Más Información sobre Software Testing

Visita nuestra página de Recursos en Pruebas de Software

¿Por qué se necesita automatizar el Software Testing al aplicar metodologías ágiles?

  • Todas las metodologías ágiles implican constantes iteraciones, en las cuales el código de programa se modifica constantemente.
  • En cada iteración, además de expandir las funcionalidades del sistema, podemos realizar Refactorizaciones para optimizar funcionalidad que ya desarrollamos y eliminar deuda técnica.
  • Esto implica la necesidad de realizar constantemente pruebas regresión, dado que al modificar código desarrollado previamente, debemos revisar que continua funcionando adecuadamente.
  • Con frecuencia, esto implica:
    • Constantes pruebas de regresión.
    • Esfuerzo duplicado en pruebas.
    • Todos en el equipo terminan haciendo pruebas manuales, inclusive desarrolladores, Testers y el cliente.

Entonces, ¿Se necesita la automatización de pruebas en metodologías ágiles?

  • La respuesta es un sí definitivo, dado que muchas veces se pueden hacer cambios en la base de código y refactorizaciones, inclusive varias veces al día.
  • Cuando el software es complejo y tiene muchas interfaces con otros sistemas, es imposible seguir el ritmo de las constantes iteraciones sin automatizar las pruebas de regresión.

Como puede ayudarme Selenium WebDriver para esto
  • Una de las principales dificultades al utilizar herramientas de prueba en el TDD, es que el método de registrar (capturar) la acción del usuario y luego reproducirla no puede usarse debido a que el sistema no está implementado al momento de diseñar los casos de prueba.
  • En este sentido, el API de Selenium soporta la implementación manual de casos de prueba, los cuales pueden definirse en lenguajes de programación como Ruby, Java, entre otros, de esta manera, el desarrollo de los casos de prueba automatizados se puede realizar antes que el software que se va a probar esté implementado.
  • Casos de prueba escritos en un lenguaje de programación determinado, se pueden transformar a otros lenguajes, de esta forma, se puede integrar Selenium por ejemplo con JUnit.
  • Es importante destacar que Selenium está específicamente diseñada para probar solamente aplicaciones web.

Selenium en el ciclo de Test Driven Development (TDD)

Selenium WebDriver intervendría en el ciclo de Desarrollo TDD como se muestra en la figura.


Formación en Software Testing

Inscríbete ahora en los Cursos Online que te ofrecemos:

¿Y tú? Qué opinas?

¿Has aplicado el TDD con herramientas automatizadas?, ¿Cuál ha sido tu experiencia?, ¿Cómo te apoyarías en herramientas automatizadas en las metodologías ágiles? Escribe tus comentarios en este post o envíanos un mensaje directo a la sección Contáctanos. Te invitamos a suscribirse por la lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.

¿Interesado en libros sobre metodologías ágiles?




Kanban
Autor: David J Anderson
>> Latinoamérica (amazon.com)
>> España (amazon.es)
Lean Software 
Development: An Agile Toolkit
Autor: Mary y Tom Poppendieck
>> España (amazon.es)
>> Latinoamérica (amazon.com)
El Método de Lean Startup
Autor: Eric Ries
>> España (amazon.es)
>> Latinoámerica (amazon.com)
>> Reseña
Generación de 
modelos de negocio
Autor: Alexander
Pigneur, Yves Osterwalder
>> España (amazon.es)
>> Latinoamérica (amazon.com)
>> Reseña

¿Interesado en otros productos y últimas novedades? 
>> Visita nuestra sección de productos amazon

Referencia


TDD in Functional Testing with WebDriver

Otros artículos sobre desarrollo ágil

No hay comentarios :

Publicar un comentario en la entrada

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.