Curso TDD para Embebidos

Curso TDD para Embebidos

Ingeniería y Artesanía de Software Embebido

Objetivos del curso

  • Presentar la mentalidad, las técnicas y las herramientas que permiten un proceso de desarrollo de software embebido iterativo e incremental, más rápido, robusto y sostenible.
  • Desarrollar un ejemplo de sistema completo desde cero durante las sesiones prácticas
  • Acompañar a todo el equipo en su adopción siguiendo pasos pequeños pero seguros

Resumen del curso

  • Duración: Hasta 32 horas (12 horas teórico-prácticas + 20 horas prácticas)
  • Modalidades: On-line y/o mixto
  • Lenguajes disponibles: C y C++
  • Bonificable FUNDAE

Valoraciones de asistentes

¡Excelente curso! Su punto de vista sobre las buenas prácticas de desarrollo en general y en embebidos en particular son realmente interesantes. Los aistentes al curso terminaron con gran motivación, una buena colección de recomendaciones prácticas y muy satisfechos en general. ¡Lo recomiendo sin duda alguna!

Iván Gómez Rodríguez

Lead Software Developer at ThoughtWorks

Nuestro equipo de desarrollo Firmware ha internalizado una manera más rápida y mejor de crear productos de largo recorrido con mayor calidad. Excelente curso, profesional y formador. Muy recomendable

Elías García García

Director R&D en Fermax Technologies

Increíble formación sobre cómo desarrollar firmware siguiendo la metodología TDD, compartiendo experiencias, mejoras y los beneficios que brinda a largo plazo. ¡Gracias por la pasión y motivación que transmites, y por compartir con nosotros tus conocimientos!

David Ferruz Garcia

Senior Software Manager en MaxLinear

¿Estás interesado en aplicar modernas prácticas de ingeniería de software al desarrollo embebido? ¡Este curso es lo que estabas buscando!

Mario Cervera

Software Craftsman en LIFULL Connect

Un enfoque mucho mejor para el desarrollo de software embebido: completamente probado, altamente reutilizable y de mayor calidad desacoplado del hardware

David Sanz Vidal

Principal Embedded SW en Power Electronics

Nos ha ahorrado meses de quebraderos de cabeza en el desarrollo de nuestros proyectos. Un gran curso de un excelente comunicador y mentor en el mundo de Embedded Software Craftmanship.

Pablo Martinez Crespo

CTO Firmware en Cecotec Innovaciones S.L.

Un curso muy interesante, ameno, útil y fácil de seguir para cualquier desarrollador de software, venga o no del contexto de embebidos. ¡Gran curso y experiencia!

José María Martínez Martínez

CTO of Artificial Intelligence en Cecotec Innovaciones S.L.

¡Curso revelador! Aprenderás como desarrollar guiado por pruebas con el objetivo de lograr un código limpio, aplicaciones de mayor calidad, mientras evitas largas fases de depuración

Pablo Soriano

Embeded Systems & Hardware Engineer en Abervian | Energy Solutions

Contenidos del curso

Part 1. Contexto, cultura y mentalidad

¿Realmente importa el contexto? ¿Cómo?, ¿Por qué?, ¿Cuándo?
Desarrollo en Cascada y la Factoría del Software
Agilidad en pocas palabras. Gestión y Excelencia Técnica
Introducción a Scrum
Deuda Técnica vs Miseria
Introducción a Progamación Extrema (XP)
Movimiento Craftmanship (Artesanía del Software)

Part 2. Economía en el Desarrollo Software

Acoplamiento y Cohesión
Coste del Cambio
Software testing
Test A Posteriori
Test A Priori
Anti-patrones de testing

En este podcast hablamos sobre algunos de los anti-patrones de testing más comunes, cómo se originan y como combatirlos.

La red de seguridad exhaustiva
Cobertura de código
Mutation Testing
Mutation testing in C
Mutation Testing aplicada a código en C

Part 3. Principios y Prácticas de Software aplicadas a Embebidos

Principios de Diseño SOLID
Patrones de Diseño
Dual-Target Test Driven Development
Integración Contínua, Testing Automatizado y Entrega Contínua
Embedded Continuous Integration System

Pipelines del sistema de Integración Contínua

Part 4. Software testing entities

Tipos de Tests
La Pirámide vs El Trofeo
La eterna discusión sobre los tipos de tests
Una definición concisa sobre el significado de 'unitario'
Dobles de Prueba

Part 5. Arquitectura de Software

Arquitecura Hexagonal. Puertos y Adaptadores
Arquitectura Limpia
Arquitectura Embebida Portable
layered_embedded_architecture
Arquitectura de software embebido independiente del Hardware y del microcontrolador

Part 6. Ejercicio práctico (KATA)

Especificaciones iniciales del sistena
Just Enough Design Up-Front: Una búsqueda hacia las abstracciones adecuadas
Desarollo de un IC Driver siguiendo Dual-Target TDD en modo Inside-Out: HVAC Driver
Clean IC Driver test example
Desarrollo de la capa Processor Abstraction Layer (PAL) de GPIOs siguiendo Dual-Target TDD
Dual-Target TDDing a generic Temperature Controller
Tests de Aceptación de sistema End-to-End on-target
Lidiando con el Cambio
Abrazando el Cambio. Take The First Bullet
El arte de esquivar balas

Neo:
¿Qué intentas decirme? ¿Que puedo esquivar las balas?

Morfeo:
No, Neo. Intento decirte que cuando estés listo, no te será necesario.

Más información