mobile menu icon
Técnicas de Testing para desarrolladores

En este curso aprenderemos diferentes técnicas para testear un código ya escrito.

Veremos specification testing, structural testing, mutation testing, golden master, characterization testing, técnicas de rotura de dependencias, uso de dobles de pruebas y consejos para conseguir diseños testeables.

El curso combinará sesiones de teoría y discusiones en las que se presentarán los diferentes conceptos, técnicas, patrones y estrategias, con sesiones prácticas en forma de kata en las que aplicaremos las técnicas más importantes.

teaching logo Información

20 horas
Remoto (consultar presencial).
590€ / persona
(I.V.A no incluido)
Bonificable por FUNDAE
¡Me interesa!
// Contenidos
1. Introducción y Estrategia de testing.
1.1. ¿Por qué testear?
1.2. Aproximaciones al testing.
1.3. Estrategia de testing.
2. Specification testing.
2.1. Entendiendo el problema.
2.2. Identificando comportamientos.
2.3. Clases de equivalencia o Particiones.
2.4. Análisis de valores de frontera.
2.5. Escribiendo ejemplos como casos de tests.
3. Structural testing.
3.1. Definición y rol en codigo nuevo y código legado.
3.2. Herramientas de cobertura: ¿cómo usarlas?
3.3. Criterios de cobertura.
3.4. Más allá de la cobertura: fronteras y bucles.
4. Mutation testing.
4.1. Concepto.
4.2. Herramientas.
4.3. ¿Cómo aplicar mutation testing?.
4.4. Mutantes relevantes y cómo distinguirlos.
4.5. Consideraciones, problemas y recomendaciones.
5. Usando dobles de pruebas ¿cómo, cuándo y por qué?
5.1. Motivación.
5.2. Detección de colaboraciones incómodas.
5.3. Diseño testeable controlando colaboraciones incómodas.
5.4. Tipos de dobles de pruebas.
5.5. ¿Cómo testear con dobles de prueba?
6. Testeando código legado.
6.1. ¿Qué es código legado?
6.2. ¿Por qué es difícil evolucionar código legado?
6.3. Evolucionar código legado con confianza.
6.4. Las realidades del código legado.
6.5. Cambio del código legado: terraformando poco a poco.
6.6. Estrategias de testing en código legado.
7. Técnicas de rotura de dependencias en código no testeable.
7.1. Dilema del código legado.
7.2. Técnicas de rotura de dependencias.
--- 7.2.1. Básicas.
--- 7.2.2. Estáticos y Globales.
--- 7.2.3. Atajos.
8. Caracterizando código legado.
8.1. Guiado por structural testing.
8.2. Mejorando nuestra caracterización con mutation testing.
9. Otras maneras de caracterizar código legado.
9.1. Golden Master + Sampling.
9.2. Approval Testing.
9.3. Combinatorics Approval Testing.
10. Encontrando desde dónde testear.
10.1. Propagación de los efectos de un cambio.
10.2. Interception points.
10.3. Pinch points.
10.4. Scope de los tests.
11. Cohesión y testabilidad.
11.1. Efectos del code smell Divergent Change.
11.2. Efectos del code smell Shotgun Surgery.
12. Diseño testeable.
12.1. Control de colaboraciones incómodas.
12.2. Arquitectura Hexagonal.
12.3. Métodos estáticos, globales y singletons.
12.4. Constructores.
12.5. Condicionales complejos.
12.6. Cohesión y Acoplamiento.
// Lenguajes

Los ejemplos y katas están en Java y C#, pero si te interesa otro lenguaje contacta con nosotros.

// Requisitos

Te enviaremos un email con todo lo que necesitas tener instalado para hacer este curso.

// ¿Para quién está pensado?

Fundamentalmente para programadores que trabajan en el paradigma orientado a objetos.

// Ediciones cerradas para empresas y ediciones en abierto

El curso se puede impartir cerrado para la empresa que lo contrata, o en abierto. Intentamos impartir una edición en abierto cada trimestre, pero no siempre podemos. Suele pasar que las empresas pequeñas envían gente a nuestros cursos en abierto. Si quieres que te avisemos de las próximas ediciones en abierto, por favor rellena el formulario de contacto.

Ten en cuenta que los cursos cerrados para empresas se realizan una vez nos contrate el cliente. Necesitaremos saber la fecha con al menos un mes de antelación para poder cuadrar agendas.

teaching logo Información

20 horas
Remoto (consultar presencial).
590€ / persona
(I.V.A no incluido)
Bonificable por FUNDAE
¡Me interesa!
¡OK! Me interesa realizar el curso de Técnicas de Testing para desarrolladores

Si deseas iniciar el proceso de inscripción o te ha quedado alguna duda sobre este curso, puedes escribirnos a contact@codesai.com o rellenar el formulario de contacto.

¡Intentaremos responderte con la mayor brevedad posible!

Enviar mensaje