TEST DRIVEN DEVELOPMENT
TDD
five pillars of software engineering
architecture e.g OO
Convention and standards
version control
coordination e.g ag
Test driven development
tests provide?
documentation of code
catch future errors
long term time saving
Disclaimer!
tests are just a tool TDD is the process.
professionals?
what do doctors/surgeons do?
what do engineers do?
process is?
difference between surgery and cutting people open
difference between engineering and tinkering
difference between software engineering and programming
what is tdd
decide what you want to build
decide what the code will do
write a test that will pass if the code is that thing
run the test see if it will fail
write the code
Run the code see if it will pass
what does it provide
document the design before building it
Proof that code implements the design
Encourages the design of testable code
Bullet Three
Tdd Good Practices
Never code first
the risk of writing complex untestable code
always write precise tests that only check for the expected results
Testable code is
Modular
Decoupled (independent)
limited scope (not doing too much in one place)
result is?
Better code in less time
caveat
you will do this for a while before you get better
intelligence is an asset (be smart about how you test)
Made with Slides.com