Avanscoperta

Test-Driven Development in ambiente C Embedded

Training on-site
Struttura del corso

Si tratta di un corso con formato custom, disegnato sulle esigenze specifiche di un nostro cliente.

Le esercitazioni sono state eseguite inizialmente su ambiente C non embedded per poi andare a confrontarsi con le specificità dello stack tecnologico correntemente in uso e delle problematiche associate.

Durata: 3 giorni

Argomenti trattati
  • Il ciclo di testing: RedGreenRefactor in pratica. Cosa cambia lavorando in modalità strettamente test-first.
  • Ascoltiamo i nostri test: quali informazioni ci stanno dando? Caratteristiche salienti di un buon test.
  • Design for testability: come il testing ci indirizzi verso un design più modulare.
  • 4 rules of simple design: euristiche da seguire per avere un codice più semplice e manutenibile.
  • Test di unità vs test di integrazione: quando e come preferire una strategia all’altra.
  • Gestire le dipendenze esterne: Mock & Stubs, come e quando usarli.
  • Test e processo di build: automatizziamo le procedure di team.
  • Il percorso per il Nirvana: qual è la migliore strategia per coprire con test un’applicazione già esistente e con zero coverage?
Agenda
DAY 1
  • Fondamenti del testing, framework e pattern di scrittura di un test. Prendiamo confidenza con la scrittura dei test automatici.
  • Il ciclo fondamentale del Test-Driven Development: Red → Green → Refactor. Test list, scegliamo il prossimo test, applicare il refactoring al fine di far evolvere il design. Pratichiamo il ciclo al fine di renderlo il più fluido e naturale possibile.
  • Cenni sull’ecosistema agile: TDD come pratica XP, iterazioni, user stories, collaboration, pair programming & continuous integration.
DAY 2
  • Integriamo il software con il resto del mondo: Tecniche di gestione delle dipendenze esterne. Mettiamo in pratica le diverse tipologie di Test Doubles per capirne le diverse caratteristiche.
  • Riduciamo il rischio anticipando lo sviluppo ed eliminando la forte necessità di un hardware proprietario ancora da sviluppare. Vediamo come scrivere il codice applicativo senza l’uso del target.
DAY 3
  • Applicazione di pattern e tecniche per rendere il codice più modulare ed indipendente dal sistema operativo del dispositivo. Introduciamo incapsulamento e polimorfismo nel nostro bagagli tecnico.
  • Sperimentazioni pratiche sullo stack tecnologico del cliente. Mettiamo alla prova quanto abbiamo imparato, cercando possibili soluzioni ad eventuali limitazioni dello stack utilizzato.

Ti interessano questi temi? Vorresti un corso custom per il tuo team? Contattaci: info@avanscoperta.it