Scrivere codice pulito che funzioni.Pur sembrando un'apparente contraddizione che si cela nelle difficoltà della programmazione,lo sviluppo guidato dai test risponde a questa sfida con un paradosso:scrivere test prima dell'implementazione. Lo sviluppo software guidato dai test è una pratica della metodologia Agile che elimina le paure nella scrittura di codice e porta gli sviluppatori ad incrementare drasticamente la qualità delle loro applicazioni. Durante il talk verrà mostrato come l'approccio alla pratica cambi il proprio modo di programmare,rendendolo più divertente,affidabile e proficuo.
17. Let’s test!
Why automatic tests?
progressive input growth
tests as documentation
easier to alter code
no fear
feedback understand HOW code works
easy to run confidence in your code
don’t waste your time
working software over comprehensive documentation
25. Let’s test!
Clean code that works cit. Ron Jeffries
predictable way to develop
learn all of the lessons that the code has to teach you
improve the lives of the users of your software
let your teammates count on you, and you on them
feel good to write code
26. Let’s test!
How do we get to clean code that works?
Many forces drive us away from clean code
and even from clean code that works
27. Let’s test!
Test Driven Development
Test-driven development is less and more writing test
first...but TDD is about design
Test-driven development is a way of managing fear
during programming
28. Let’s test!
our tasks feature #1
feature #2
feature #3
Red: write a little test that doesn’t work
Green: make the test work quickly
Refactor: eliminate all the duplication created in merely getting the test to work
35. Let’s test!
what are the benefits?
improve quality of your code
behaviours’ verification
coverage functionality
test as documentation collaborative working
long term maintainability
very short time feedback about bugs
QA from reactive to proactive
36. Let’s test!
ok, it’s cool but my resources are limited
I want to be cheap
I want to be fast
I want to be good
37. Let’s test!
What about legacy code?
Test new functionalities
Test old functionalities starting from bugs