Come join us for a brief intro to test-driven development (TDD). We'll discuss what TDD is, why you might want to practice TDD, and how to do it! We will write some tests together in order to solve a simple coding problem as a way to get experience writing tests and doing it the TDD way.
We'll be writing the solution to a simple problem using a test-first approach. We will be doing this in Ruby, using minitest to write the tests (if you don't have Ruby installed checkout our GitHub repository). We will be doing this in pairs, if you don't want to pair with a stranger, bring a friend and pair with them!
If you have never written a test, this workshop is definitely for you! We'll be starting slow and simple. There will be lots of help so you won't get stuck. You should be ready to pair program. If you don't want to pair with a stranger, bring a friend to pair with you.
If you know how to test but aren't familiar with writing tests before writing code, than this workshop may be for you! We will be assuming no prior knowledge of writing tests, but since it's pretty easy, we will be past that and on to the problem pretty quickly. We will allow for pairs to go at their own pace, so each pair will not have to wait for everyone to solve the current problem before moving on.
If you are used to writing a lot of tests as part of your day-to-day coding, this workshop might not be for you.
Your laptop running our Vagrant machine that we have setup. Please do this ahead of time as it will take time to download the Vagrant machine and set it up. To setup, clone the GitHub repository and follow the instructions in the README.
Alternatively, if you don't want to use Vagrant, and you already have Ruby
installed, you can just cd to the folder and type bundle
to install the
required dependencies.
Even though we will be pairing, if everyone comes prepared to do the workshop on their own computer, we will have less problems getting started.
If you have any issues with setup, please show up 30 minutes ahead of time and we will help you to get things running.
- http://en.wikipedia.org/wiki/Test-driven_development
- http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd
- http://www.jamesshore.com/Agile-Book/test_driven_development.html
- http://www.amazon.ca/Extreme-Programming-Explained-Embrace-Edition/dp/0321278658
- http://www.amazon.ca/Test-Driven-Development-By-Example/dp/0321146530