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.
- Introduciremos las pruebas unitarias progresivamente y de forma eficaz en tu equipo de desarrollo.
- Mejora la calidad y el tiempo de desarrollo, apoyándote en las pruebas.
- Aprende qué es BDD, TDD y ATDD y cómo utilizarlo en tu proceso de desarrollo.
¿A quién va dirigido?
Este curso está dirigido a programadores, preferiblemente Java, que deseen cambiar su manera de pensar a la hora de diseñar sus aplicaciones desde cero.
Contenidos
1. 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.
2. Tipos de pruebas.
- Unitarias
- Integración
- Funcionales
- Regresión
- Estáticas – Verificación
- Dinámicas – Validación
3. 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.
4. 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?
5. 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
6. Más allá de las pruebas unitarias
- JUnit con Spring – Pruebas de integración.
- JMeter y Pruebas de rendimiento
- SoapUI: Prueba automática de servicios.
7. 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.