Curso Sonar en Madrid, Barcelona y Online

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.