Automatización de pruebas con SELENIUM

OBJETIVOS

En la actualidad, las herramientas de desarrollo han aumentado la productividad de los programadores, pero también la presión sobre el equipo de testing. Liberaciones cada día más frecuentes requieren de un mayor esfuerzo de testing. La automatización surge como un complemento al testing manual para reducir el tiempo destinado a las pruebas de regresión, smoke test, pruebas funcionales ...

Durante este taller se abordan los principales conceptos sobre automatización de las pruebas. Se presenta la metodología para la automatización de las pruebas, llevándola a la práctica para un caso particular utilizando Selenium, herramienta open source para el testing de aplicaciones web...

Objetivos del curso

Los asistentes a este curso tras la realización del mismo serán capaces de:

  • Comprender la utilidad y necesidad de la automatización de pruebas dentro del proceso general de desarrollo software.
  • Adquirir los fundamentos para diseñar, construir y ejecutar pruebas de forma automática con una herramienta de automatización de pruebas con Selenium, que permita a los asistentes realizar proyectos de automatización inmediatamente después de finalizar el curso.
  • Comprender los aspectos que intervienen en una estrategia de automatización eficaz, eficiente y sostenible.
  • Conocer los aspectos clave de la gestión de un proyecto de automatización, aportando la información necesaria para la toma de decisiones...

Metodología

El enfoque principal de la formación es la realización de casos prácticos de automatización. Aunque el curso dispone de sus propios escenarios, el cliente puede proponer sus propios ejemplos o incluso realizar las prácticas sobre sus propias aplicaciones

La parte teórica será adaptable a los objetivos del cliente y los intereses de los participantes. Los contenidos teóricos se insertarán brevemente a lo largo de las prácticas con la herramienta Selenium. Las prácticas ocuparán el 75% del tiempo.

Unos días antes de la formación se enviarán las instrucciones de preparación de los entornos de trabajo de los equipos informáticos de los alumnos


Dirigido a

  • Analistas e Ingenieros de Pruebas y de Desarrollo Software, así como a Programadores y Técnicos de Sistemas (Explotación).

Para maximizar el aprovechamiento del taller, se recomienda contar con experiencia en proyectos de desarrollo de software y conocimientos de básicos de programación. Inicialmente los casos prácticos están orientados a la utilización del lenguaje Java, pero es viable la utilización de otras tecnologías, previo análisis entre el cliente y MTP.

Temario del curso

I - Introducción (teoría)

  • Calidad del SW y significado de las pruebas del SW
  • ¿Qué es la Automatización? Objetivos y beneficios
  • Cuánto interesa automatizar (limitaciones)

II - Proceso de Automatización (teoría)

  • Descripción. Proceso de Automatización de pruebas
  • Tipos de Automatización
  • Herramientas de Automatización
  • Consideraciones y justificaciones económicas del plan
  • Estrategias de automatización de pruebas
  • Monitorización de la ejecución
  • Control de errores
  • Tratamiento y exportación de resultados
  • Informe de pruebas automáticas.
  • Métricas utilizadas

III - Análisis y Diseño de casos de prueba automatizados (teoría)

  • Introducción Selenium
  • Selenium IDE
  • Webdriver Selenium
  • Framework JUnit

1. Principios de la Automatización de Pruebas (prácticas)

  • ¿Qué pruebas automatizar?
  • ¿Qué pruebas no automatizar?

2. Tecnología web (prácticas)

  • Arquitectura y características de una página web
  • Elementos de la tecnología web
  • Identificación, búsqueda y propiedades de un elemento

3. Arquitectura de Selenium Webdriver (prácticas)

  • Arquitectura y características de la librería webdriver
  • Clases, propiedades
  • El reto de la programación asíncrona

4. Escenarios básicos de automatización (prácticas)

  • Automatización sobre una página estática
  • Automatización sobre una aplicación web con formularios
  • El reto de la automatización sobre aplicaciones con estados

5. Framework xUnit (prácticas)

  • Principios de las pruebas unitarias
  • Características del framework xUnit. JUnit

6. Prácticas realizadas sobre proyectos actuales de los asistentes (prácticas)

  • Si el desarrollo del curso lo permite, los asistentes realizarán simulaciones de automatizaciones de pruebas de los proyectos en los que actualmente trabajan. Siempre que sea posible se trabajará en parejas (Pair programing).
  • Si no es viable practicar sobre el proyecto actual del asistente, se expondrán varios escenarios de automatización para que realicen las simulaciones, preferiblemente, en parejas (Pair programing).
  • Las dificultades se trabajarán y resolverán en equipo (enfoque de taller)

7. Estrategias de automatización (prácticas)

  • Estrategias y modelos de automatización
  • Arquitectura de la automatización
  • Conceptos básicos de la integración contínua