Duración: 15 Horas
Objetivos:
Proporcionaremos a los asistentes las capacidades y conocimientos necesarios para dotar a sus proyectos de un conjunto de pruebas unitarias que respalden la corrección de los componentes y sirvan de respaldo ante nuevos desarrollos o evolutivos del mismo. Grandes cambios en su última versión, seguramente la más importante en toda su historia.
Temario:
01. El contexto de las pruebas del Software.
- ¿Por qué hacer pruebas?
- Establecimiento de los conceptos claves: error, fallo, defecto.
- Definición de los objetivos de las pruebas.
- TDD.
- BDD.
- DDD.
- ATDD.
02. Tipos de pruebas.
- Unitarias
- Integración
- Funcionales.
- Regresión.
- Estáticas - Verificación.
- Dinámicas - Validación.
03. Qué es el proceso de Quality Assurance y cuáles son sus beneficios.
- Seguimiento de la ejecución y gestión de los resultados.
- Planificación y Gestión de las actividades de pruebas dentro de la Gestión de Proyectos.
- Trazabilidad para garantizar la cobertura.
04.Pruebas unitarias con JUnit.
- JUnit y la automatización de pruebas unitarias
- Introducción de pruebas en código existente.
- Mockito, EasyMock: Engañemos a nuestro Software.
- Cobertura, Enma: ¿Estamos probando lo que tenemos que probar?
05. Herramientas.
- Calidad estática de código. El viejo Toolset
- PMD, Checkstyle, FindBugs, como herramientas para pruebas estáticas.
- Calidad de código.
- SonarQube: Squid y FindBugs
06. Más allá de las pruebas unitarias
- JUnit con Spring - Pruebas de integración.
- Selenium y WebDriver 2 - Las pruebas funcionales
- JMeter y Pruebas de rendimiento
- SoapUI: Prueba automática de servicios.
07. Introducción a las pruebas en JavaScript:
- Frameworks de testing: Jasmine, Mocha y QUnit
- Pruebas unitarias con Jasmine.
- Karma: ejecutar nuestras pruebas en varios navegadores.
- Karma y Jenkins.
- Pruebas unitarias sobre AngularJS.
- JSHint: Análisis estático del código.
- SonarQube y JavaScript.
- Cobertura en JavaScript.