md_footer

Pruebas en la JVM con Groovy

Mejora la calidad del código que escribes

md_footer

Una de las mejores formas de asegurarse de la calidad del software que desarrollas es a través de las pruebas, ¡queremos que adoptes esta habilidad!

Queremos que conozcas los fundamentos de pruebas de software para que puedas utilizar efectivamente las mejores herramientas que hay para hacer pruebas de aplicaciones hechas en Java, Groovy y cualquier otro lenguaje que funcione sobre la JVM. Para ello, hemos seleccionado cuidadosamente temas de diseño, técnicas y herramientas de prueba para que puedas entregar software con la confianza de que cumple con los objetivos para los cuales fue creado y las especificaciones de su diseño. Hemos seleccionado a Groovy como el lenguaje que te ayudará a conocer las diferentes técnicas de pruebas debido a su poder expresivo, la rapidez de desarrollo que puedes lograr con él y su gran integración con el resto de las herramientas, ¡pero no te preocupes! solo necesitas conocer lo básico del lenguaje.

· A quien va dirigido:

Este entrenamiento es ampliamente recomendado para desarrolladores que:

  • Se sienten responsables de la calidad del código que ellos mismos crean.
  • Consideran importante saber construir pruebas para software creado previamente.
  • Desean conocer y aplicar las técnicas correctas de pruebas de software para cada situación particular.
  • Desean aprender a automatizar pruebas de aplicaciones web.
  • Desean conocer los tips y mejores prácticas para librar los obstáculos comúnmente encontrados al tratar de implementar pruebas en un proyecto.

· Pre-requisitos:

Necesarios:

  • Conozca lo básico del lenguaje Groovy.
    • Syntaxis
    • Closures
  • Conozca las tecnologías básicas de programación web en java: servlets, html, css, javascript
  • Sepa utilizar las herramientas provistas por el JDK

Recomendables:

  • Conozca el uso básico de Spring framework.
  • Tenga experiencia en el manejo de algún framework de pruebas unitarias, tipo JUnit.

· Contenido del entrenamiento:

  • Especificaciones
    • Especificación de componentes con Spock
    • Especificación de comportamientos excepcionales
    • Especificación eficiente de varios ejemplos similares
  • Taxonomía de pruebas
    • Por nivel o alcance
    • Por tipo de escenario que prueba.
    • Por objetivo de la prueba.
  • Tipos de pruebas unitarias
    • Especificación de interacciones con otros componentes
    • Uso de Stubs
    • Uso de Mocks
    • Simuladores
    • Características de una buena especificación/prueba unitaria.
  • A.T.R.I.P.
  • F.I.R.S.T.
  • Data Driven Testing y n-wise Testing
  • Pruebas basadas en propiedades con QuickCheck
  • Pruebas de integración con Bases de Datos.
  • Generación de datos de prueba.
  • Pruebas de aplicaciones Web.
    • Introducción WebDriver
    • Introducción a Geb.
    • Pruebas de aceptación para aplicaciones web con Cucumber.
  • Organización de baterías de pruebas.
  • Testability
  • Cobertura