Imagen de: Selenium HQ |
En tiempos en que las aplicaciones se hacen cada vez más interactivas y dinámicas en su interacción con el usuario por medio de las interfaces gráficas, y en el que muchas organizaciones están utilizando alguna forma de metodologías ágiles, la automatización de pruebas de software se está convirtiendo prácticamente en un requisito para los proyectos de desarrollo de software.
Existe un número de herramientas comerciales y de código abierto para la automatización de pruebas de software. Selenium es una de las más difundidas. En este artículo contestaremos algunas preguntas sobre Selenium 2, también conocido como Selenium WebDriver, explicaremos en qué consiste la automatización de pruebas, Que es Selenium, sus orígenes, Como se automatizan las pruebas y sus patrones de uso.
PMOInformatica.com, La Oficina de Proyectos de Informática, presenta a continuación Selenium 2 para automatización de pruebas de software:
Más Información sobre Software Testing
> Visita nuestra página de Recursos en Pruebas de Software
Que es la automatización de pruebas de software
Significa usar una herramienta de software para ejecutar pruebas de calidad de software repetidas veces sobre la aplicación que se esté probando. Tiene muchas ventajas, como la capacidad de repetir las pruebas una y otra vez, ejecutándolas con mayor velocidad.
Por ejemplo, las pruebas funcionales de regresión (uno de los tipos de pruebas de software), con frecuencia implican repetir las mismas pruebas, sin que necesariamente se modificara los componentes de software, por lo cual la Automatización de Pruebas de Software puede ser de gran utilidad.
La automatización de pruebas de software requiere de conocimientos y habilidades especificas que deben adquirir los especialistas en software testing.
Que es Selenium
Selenium es una herramienta de pruebas automatizadas de aplicaciones web, funciona desde un navegador web y permite crear las pruebas automatizadas de dos formas, escribiéndolas en lenguaje de programación (Scripting) o utilizando el método de grabación y playback de la acción del usuario. Es de código abierto y el sitio oficial de Selenium.
Entre los beneficios de Selenium destacan el ser de código abierto, ser gratis, permite probar desde varios navegadores, permite representar con exactitud la experiencia del usuario, se pueden escoger entre distintos lenguajes de programación para el Scripting y permite probar aplicaciones web dinámicas que usen CSS, AJAX y JavaScript, con respuesta dinámica al comunicarse con el Backend.
La última versión de Selenium es Selenium 2, también conocido como Selenium WebDriver.
Los orígenes de Selenium
Fue desarrollada por Jason R. Higgins y su equipo, quienes se encontraban trabajando en un proyecto en Thoughtworks (una empresa) y necesitaban probar una aplicación que contenía componentes en HTML y AJAX. Ninguna de las herramientas para ese momento soportaba AJAX o HTML, por lo cual decidieron fabricar la suya propia, que luego convirtieron en un proyecto de código abierto.
Cuáles son las herramientas de la Suite Selenium
Cual herramienta es recomendable usar
Muchas personas empiezan con el Selenium IDE, el cual es ideal sino se tiene mucha experiencia en programación o lenguaje de Scripting. Con el IDE, se pueden crear pruebas sencillas rápidamente.
Para sacar el máximo provecho no se recomienda quedarse solo con el Selenium IDE, sino que debe usarse Selenium 2 o Selenium 1 para desarrollar Scripts y Frameworks de pruebas en alguno de los lenguajes de programación. Para quienes estén comenzando a usar Selenium en este momento, definitivamente es recomendable implementar en Selenium 2, dado que está será el proyecto que tendrá soporte en el futuro.
Como se automatizan las pruebas en Selenium usando un lenguaje de programación
Selenium permite escribir las pruebas en varios lenguajes, entre ellos Ruby, Java, C#, Perl, Python e inclusive en HTML puro (llamado Selenesio).
Para cada lenguaje existen distintas instrucciones de programa que te permitirán ejecutar interacciones con la aplicación web, tales como abrir una ventana de navegador, navegar hacia la dirección de HTTP donde esté ubicado tu ambiente de pruebas integrales, acceder a la página y a sus componentes para ingresar datos, presionar el botón enviar, recibir respuestas, evaluar los mensajes de respuesta y continuar con el flujo de proceso en distintos escenarios, entre otros.
Usando Ruby para automatizar las pruebas con Selenium
Ruby es una excelente opción para Ingenieros de Pruebas Funcionales (Testers), dado que es un lenguaje de programación fácil de aprender y en el cual se pueden desarrollar Scripts muy rápido.
Pasos para Crear y ejecutar pruebas Selenium usando lenguaje de programación
El procedimiento consiste en:
Una vez se ha escrito el Script, el próximo paso es asegurarse que el Servidor Selenium esté encendido. Luego se ejecuta el Script, en este caso de Ruby, como se ejecutaría cualquier otro Script.
Más información en el sitio de Documentación de Selenium HQ.
Como se automatizan las pruebas en Selenium usando la funcionalidad de Record / Playback
Se utiliza el Selenium IDE, el cual es capaz de registrar las acciones que está realizando el usuario por pantalla. Se comienza encendiendo la grabación, luego se utiliza el Navegador dirigiéndose a la dirección URL del ambiente de pruebas integrales de software, se ejecuta como si se estuviera haciendo una prueba funcional, ingresando datos en pantalla, enviando la información y evaluando las respuestas. Todo esto será registrado por el IDE.
Posteriormente, se podrá exportar la prueba funcional realizada en la forma de un Script en cualquiera de los lenguajes de programación usados.
Primero, se crear los casos de prueba como pruebas funcionales, usando el Selenium IDE para grabarlos.
> Visita nuestra página de Recursos en Pruebas de Software
Que es la automatización de pruebas de software
Significa usar una herramienta de software para ejecutar pruebas de calidad de software repetidas veces sobre la aplicación que se esté probando. Tiene muchas ventajas, como la capacidad de repetir las pruebas una y otra vez, ejecutándolas con mayor velocidad.
Por ejemplo, las pruebas funcionales de regresión (uno de los tipos de pruebas de software), con frecuencia implican repetir las mismas pruebas, sin que necesariamente se modificara los componentes de software, por lo cual la Automatización de Pruebas de Software puede ser de gran utilidad.
La automatización de pruebas de software requiere de conocimientos y habilidades especificas que deben adquirir los especialistas en software testing.
Que es Selenium
Selenium es una herramienta de pruebas automatizadas de aplicaciones web, funciona desde un navegador web y permite crear las pruebas automatizadas de dos formas, escribiéndolas en lenguaje de programación (Scripting) o utilizando el método de grabación y playback de la acción del usuario. Es de código abierto y el sitio oficial de Selenium.
Entre los beneficios de Selenium destacan el ser de código abierto, ser gratis, permite probar desde varios navegadores, permite representar con exactitud la experiencia del usuario, se pueden escoger entre distintos lenguajes de programación para el Scripting y permite probar aplicaciones web dinámicas que usen CSS, AJAX y JavaScript, con respuesta dinámica al comunicarse con el Backend.
La última versión de Selenium es Selenium 2, también conocido como Selenium WebDriver.
Los orígenes de Selenium
Fue desarrollada por Jason R. Higgins y su equipo, quienes se encontraban trabajando en un proyecto en Thoughtworks (una empresa) y necesitaban probar una aplicación que contenía componentes en HTML y AJAX. Ninguna de las herramientas para ese momento soportaba AJAX o HTML, por lo cual decidieron fabricar la suya propia, que luego convirtieron en un proyecto de código abierto.
Cuáles son las herramientas de la Suite Selenium
- Selenium Remote Control RC (Selenium 1): Principal proyecto Selenium durante mucho tiempo, antes que la fusión entre WebDriver y Selenium trajera Selenium 2. Aún tiene soporte y proporciona funcionalidades que pudieran no estar en Selenium 2, incluyendo soporte de varios lenguajes (Java, JavaScript, Ruby, PHP, Python, Perl y C#) y de casi todos los navegadores.
- Selenium WebDriver (Selenium 2): Representa lo nuevo de Selenium, con nuevas funcionalidades y un nuevo API más cohesionado y orientado a objetos. Fusiona lo mejor el API de WebDriver y Selenium 1, y proporciona flexibilidad para migrar los Tests. Igualmente, Selenium 2 aún utiliza la misma interfaz de Selenium 1 para poder ser compatible.
- Selenium IDE: Es una herramienta para hacer prototipos de Scripts de Pruebas, un plugin de Firefox y proporciona una interfaz fácil de usar. Posee una funcionalidad de “grabación”, la cual registra las acciones del usuario en la medida en que son realizadas y luego las exporta como un Script de pruebas reusable, en alguno de los muchos lenguajes de programación soportados por Selenium y que luego pueden ser ejecutados.
- Selenium Grid: Permite ejecutar muchas pruebas de un mismo grupo en paralelo o pruebas en distintos ambientes de pruebas integrales. Tiene la ventaja que un conjunto de pruebas muy grande puede dividirse en varias maquinas remotas para una ejecución más rápida, o si se necesitan repetir las mismas pruebas en distintos ambientes de pruebas integrales.
Cual herramienta es recomendable usar
Muchas personas empiezan con el Selenium IDE, el cual es ideal sino se tiene mucha experiencia en programación o lenguaje de Scripting. Con el IDE, se pueden crear pruebas sencillas rápidamente.
Para sacar el máximo provecho no se recomienda quedarse solo con el Selenium IDE, sino que debe usarse Selenium 2 o Selenium 1 para desarrollar Scripts y Frameworks de pruebas en alguno de los lenguajes de programación. Para quienes estén comenzando a usar Selenium en este momento, definitivamente es recomendable implementar en Selenium 2, dado que está será el proyecto que tendrá soporte en el futuro.
Curso de Selenium
¿Problemas con proyectos de software muy grandes en los cuales tienes que repetir las mismas pruebas manuales una y otra vez?
Como se automatizan las pruebas en Selenium usando un lenguaje de programación
Selenium permite escribir las pruebas en varios lenguajes, entre ellos Ruby, Java, C#, Perl, Python e inclusive en HTML puro (llamado Selenesio).
Para cada lenguaje existen distintas instrucciones de programa que te permitirán ejecutar interacciones con la aplicación web, tales como abrir una ventana de navegador, navegar hacia la dirección de HTTP donde esté ubicado tu ambiente de pruebas integrales, acceder a la página y a sus componentes para ingresar datos, presionar el botón enviar, recibir respuestas, evaluar los mensajes de respuesta y continuar con el flujo de proceso en distintos escenarios, entre otros.
Usando Ruby para automatizar las pruebas con Selenium
Ruby es una excelente opción para Ingenieros de Pruebas Funcionales (Testers), dado que es un lenguaje de programación fácil de aprender y en el cual se pueden desarrollar Scripts muy rápido.
Pasos para Crear y ejecutar pruebas Selenium usando lenguaje de programación
El procedimiento consiste en:
- Escribir el código de pruebas en el lenguaje seleccionado.
- Ejecutarlo usando Selenium Remote Control o Selenium 2.
- Puedes desarrollar tu propio Framework y después utilizarlo en otros Scripts.
- Puedes utilizar Grid para ejecutar las mismas pruebas en paralelo en distintos ambientes de pruebas o para dividir los casos de prueba.
Imagen de: Selenium HQ |
Más información en el sitio de Documentación de Selenium HQ.
Como se automatizan las pruebas en Selenium usando la funcionalidad de Record / Playback
Se utiliza el Selenium IDE, el cual es capaz de registrar las acciones que está realizando el usuario por pantalla. Se comienza encendiendo la grabación, luego se utiliza el Navegador dirigiéndose a la dirección URL del ambiente de pruebas integrales de software, se ejecuta como si se estuviera haciendo una prueba funcional, ingresando datos en pantalla, enviando la información y evaluando las respuestas. Todo esto será registrado por el IDE.
Posteriormente, se podrá exportar la prueba funcional realizada en la forma de un Script en cualquiera de los lenguajes de programación usados.
Primero, se crear los casos de prueba como pruebas funcionales, usando el Selenium IDE para grabarlos.
Imagen de: Selenium HQ |
Luego los casos se pueden ejecutar utilizando la función de Playback del IDE.
Imagen de: Selenium HQ |
También se puede exportar el caso grabado a un Script en Ruby o cualquiera de los otros lenguajes soportados, para luego ejecutar la prueba como si se tratara de un caso creado en Lenguaje de Programación.
Más información en el sitio de Documentación de Selenium HQ.
¿Y tú? ¿Qué opinas?
¿Tienes alguna pregunta o comentario sobre Selenium WebDriver que te gustaría compartir con el grupo?, ¿Cuáles son las ventajas de escribir tus pruebas en Scripting vs. Usar el IDE?, ¿Qué lenguaje de programación utilizas y porque?. Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (puedes firmar tu comentario con la dirección de tu web si así lo deseas). Asimismo, te invitamos a suscribirse por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.
Referencia
Nayak, R. Selenium Web Test Automation Tool
Selenium HQ. Introduction
Software Testing Mentor. Introduction to Selenium Automation
Otros artículos en “La Oficina de Proyectos de Informática”
Pruebas de Software
Software y Herramientas
Gestión de Desarrollo de Software
¿Y tú? ¿Qué opinas?
¿Tienes alguna pregunta o comentario sobre Selenium WebDriver que te gustaría compartir con el grupo?, ¿Cuáles son las ventajas de escribir tus pruebas en Scripting vs. Usar el IDE?, ¿Qué lenguaje de programación utilizas y porque?. Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (puedes firmar tu comentario con la dirección de tu web si así lo deseas). Asimismo, te invitamos a suscribirse por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.
Referencia
Nayak, R. Selenium Web Test Automation Tool
Selenium HQ. Introduction
Software Testing Mentor. Introduction to Selenium Automation
Otros artículos en “La Oficina de Proyectos de Informática”
Pruebas de Software
- 10 Conocimientos para especializarte en automatización de pruebas de software
- Guía de desarrollo de aplicaciones para Móviles – 3ra Parte: Las Pruebas y Calidad
- El arte de reportar un bug
- Introducción al Mobile Testing
- ISTQB - Preguntas del exámen
Desarrollo de Software para Teléfonos Móviles y Tabletas
- 9 Habilidades que Necesitan Aprender los Desarrolladores para Móviles
- Guía de desarrollo aplicaciones Móviles - 4ta Parte: La Implementación
- Programar para Teléfonos Móviles: Retos y Ventajas
- Guía de desarrollo de aplicaciones para Móviles - 2da Parte: Desarrollo
- Guía de desarrollo de aplicaciones para Móviles - 1era Parte: Diseño
Software y Herramientas
- 7 aplicaciones de productividad para profesionales tecnología de información
- Herramientas de Software para Gestión Proyectos
- Herramientas para Gestionar el Desarrollo de Software (2da Parte)
- Herramientas de Gestión de Proyectos de Desarrollo de Software (1era Parte)
Gestión de Desarrollo de Software
- 10 tendencias de 2014 en Tecnología e Informática
- 17 consejos de seguridad Informática para Desarrolladores
- El Rol del Arquitecto de Software (2da Parte)
- El Rol del Arquitecto de Software
- Requerimientos No Funcionales: Porque son importantes
- Los pasos para resolver incidentes en el período de estabilización de un desarrollo de software
- Ambientes de desarrollo de software: Buenas prácticas
- Algunas prácticas de desarrollo de aplicaciones web para asegurar calidad, mantenibilidad, escalabilidad y seguridad
- Acciones preventivas para evitar retraso y retrabajo en proyectos de tecnología de información (TI)
Existe una aplicación similar a Selenium que sirva para hacer pruebas en aplicaciones de escritorio?
ResponderEliminareggplant tool for testing, tabaja con imágenes de la aplicación
EliminarTienen Información de Test manager.
ResponderEliminarFredi,
ResponderEliminar¿Te refieres a herramientas de Test Management o a la figura Test Manager dentro del área QA?
Para herramientas tienes un clásico como TestLink que es open source.
Saludos