TDD Workshop
Luca Piccinelli
26/09/2020
Chi Sono
Luca Piccinelli
Perché siamo qui?
Cos’é Tdd?
Cos’é Tdd? (Test Driven Development)
public class MathTests
{
[Test]
public void SumTest()
{
Math math = new Math();
Assert.AreEqual(2, math.Sum(1,1));
}
}
public class Math
{
public int Sum(int x, int y)
{
return x + y;
}
}
Cos’é Tdd?
Cos’é Tdd?
A cosa serve?
A cosa serve?
Coverage al 100%?
NO!!!
A cosa serve?
Miglior design?
meglio… ma no
A cosa serve?
Automatizzare?
Si
Domande?
Qualche nozione
Qualche nozione
Tipologie di test
Qualche nozione
Terminologie
Test doubles
}
Qualche nozione
Scuole di pensiero
Domande?
Quali sono i reali benefici?
Quali sono i reali benefici?
Con che approccio abbasso il costo?
Con che approccio abbasso il costo?
Quale costo?
Quindi?
Quindi? - la triade
tdd
approccio iterativo incrementale
Simple design
Protegge valore
velocizza feedback
Posticipare decisioni
Abbassa il costo di sviluppo
Abbassa il costo di evoluzione / manutenzione
permette
migliora
Quindi? - ricapitolando
Domande?
Esempio
Spiegazione:https://kata-log.rocks/bowling-game-kata
Repository: https://github.com/lucapiccinelli/BowlingGameCSharp