Carrera Profesional de Ingeniería de Sistemas e Informática - CGT Curso Calidad de Software Tema: Herramienta de Testing Docente: Ubalde Enriquez, Rembrandt Alumno: Valdez Vega, Edison Renato Sánchez Chicana, André Bernardo De la Torre Elguera, Walter Alexis Torres Soriano, Jorge Mallqui Moreno, Johnny Lima – Perú U1221539 U19303891 U19314243 U17305024 U1635223 SELENIUM Selenium es un entorno de pruebas que se utiliza para comprobar si el software que se está desarrollando funciona correctamente. Es decir, esta herramienta permite: grabar, editar y depurar casos de pruebas que se pueden automatizar. Selenium puede editar acciones o crearlas desde cero. Además, ayuda mucho en las pruebas de regresión porque consigue pruebas automatizadas que luego se pueden reutilizar cuando se necesite. Tiene un entorno de pruebas de software para aplicaciones basadas en la web. Y provee una herramienta de grabar/reproducir para crear pruebas sin usar un lenguaje de scripting para pruebas (Selenium IDE). Incluye también un lenguaje específico de dominio para pruebas (Selenese) para escribir pruebas en un amplio número de lenguajes de programación populares incluyendo Java, C#, Ruby, Groovy, Perl, PHP y Python. Las pruebas pueden ejecutarse entonces usando la mayoría de los navegadores web modernos en diferentes sistemas operativos como Windows, Linux y OSX. Selenium Tests Selenium soporta los test completos con WebDriver soportando los siguientes framework • JUnit • TestNG • NUnit • PyUnit • Ruby Test::Unit • PHPUnit Selenium RC: Selenium RC (Remote Control) con RC es posible realizar pruebas automatizadas para aplicaciones web, RC soporta cualquier lenguaje de programación, esto hace que la integración de Selenium a cualquier entorno de pruebas existente mejore y haga la escritura de pruebas más sencilla. La principal función de RC es ejecutar los casos de prueba en diferentes navegadores y en diferentes plataformas, esto nos da la ventaja de poder probar una aplicación en la mayoría de los entornos posibles, actualmente Selenium RC provee controladores de dispositivos para: • • • • • PHP Python .NET, PErl JAva. Selenium Webdriver: Selenium Webdriver es una herramienta que permite automatizar pruebas UI (User Interface) o Interfaz de usuario de aplicaciones Web, pero se basa en un enfoque más moderno y estable que la versión de Selenium RC, por lo que Webdriver a diferencia de RC no utiliza middleware sino controla el navegador comunicándose directamente con él, algunos de los lenguajes que son soportados son: • • • • • • Java C# Python Ruby PHP JavaScript Webdriver es una herramienta de Selenium la cual proporciona Apis orientadas a objetos en una variedad de idiomas, esto nos permite tener un mayor control sobre la aplicación de las prácticas de desarrollo de software estándar. Esto nos ayudará a poder simular la manera en que los usuarios reales interactúan con alguna aplicación web. Selenium Grid: Selenium Gris nos ayuda a poder diseñar pruebas automatizada para aplicaciones web en diversas plataformas, Selenium Grid es una extensión de Selenium RC para la ejecución de pruebas en diversos servidores en paralelo, por lo cual reduce el tiempo de ejecución y el costo, ya que permite la ejecución de las pruebas en varios navegadores y en diversos sistemas operativos. Selenium Grid cuenta con dos componentes: • • Selenium Hub Remote Control Las personas que ejecuten las pruebas con Selenium Grid podrán hacerlas sin la necesidad de hacer cambios en el código, una ventaja más es que se puede ejecutar el código con el que se cuenta en paralelo en diversas máquinas, esto nos lleva a un ahorro significativo en la ejecución misma de las pruebas y nos brinda una retroalimentación de los resultados de prueba. Procedimiento general de una prueba. Para administrar las pruebas de selenium TestDrive en TestComplete se usa el elemento del proyecto Selenium o Unit Testing. Es una colección de varias pruebas unitarias compatibles con TestComplete: JUnit, TestNG, PHPUnit, PyUnit y otras. El siguiente ejemplo detalla una pequeña prueba con selenium Selenium: Es un framework de automatización de pruebas para entorno web y aplicaciones mobile. Cucumber: Es un framework que permite el desarrollo BDD (Behaviour Driven Depelopment), permitiendo escribir tests en lenguaje Gherkins. Gherkins: Lenguaje de alto nivel que permite la escritura de tests basados en escenarios, los archivos Gherkins tendrán extensión .feature