La definición de Integración Continua según Martin Fowler, la define como una práctica de desarrollo de software donde los miembros del equipo integran su trabajo de forma frecuente, por lo general cada persona se integra al menos diariamente, dando lugar a múltiples integraciones por día. Cada integración es verificada por una generación automática para detectar errores de integración más rápidamente.
Esta definición, propuesta por Martin Fowler, del concepto de compilación y ejecución de test de un proyecto de forma diaria, es hoy en día una de las técnicas de programación más utilizadas.
Curso dirigido a desarrolladores que tratará los aspectos básicos de la integración continua, centrándose siempre en cómo obtener el feedback lo más rápido posible cuando hay cambios en el proyecto. Se abordarán tareas de automatización y de test automático, y se darán las pautas para generar builds eficientes.
También se explicará cómo introducir esta práctica en una organización y en proyectos ya existentes.
Audiencia
Desarrolladores, DevOps y equipos de Testing que deseen conocer las principales ventajas del uso de la Integración Conitnua en sus proyectos, así como las principales técnicas de implantación y las principales pruebas de Testing que se realizan en este tipo de entornos.
Módulo 1: Introducción
o ¿Qué es la integración continua?
o Ventajas de la integración continua.
o ¿Qué es un ecosistema de software?
Módulo 2: Pruebas con Junit
o Test, suites, anotaciones, aserciones, test de excepciones, restricciones temporales, etc.
o Parametrización de test.
o Trabajando con servicios web.
o Integración con Maven.
o Trabajando con Cobertura dentro del ecosistema.
Módulo 3: Pruebas de Carga con JMeter
o Conceptos básicos de JMeter.
o Construcción de planes de prueba.
o Integración con Maven.
Módulo 4: Pruebas de usuario con Selenium
o Utilizando Selenium IDE
o Selenium webdriver
o Scripts de pruebas
o Integración con Maven
o Alternativas a Selenium (referencias)
Módulo 5: Pruebas de servicios web con SoapUI
o Proyectos, definición de suites
o Integración con Maven
Módulo 6: TestLink
o Integración con Jenkins
Módulo 7: Sonar
o Integración con Eclipse
o Análisis estático de código
o Métricas
o Referencias a buenas prácticas
o Modos de inspección
o Cobertura de las pruebas
Módulo 8: Jenkins
o Jenkins de un vistazo
o Construcción de un proyecto