Who is it for?
This is for beginners. You are new to TDD or only heard about TDD.
1. You already know the basics of programming.
2. You know basic Ruby.
3. You have already installed Ruby 1.9.x or 2.0, RSpec 2.x and your favorite IDE on your laptop.
What will I Learn?
You will learn about :
• Test First Programming.
• Problem Solving Techniques :
- Obvious Implementation- Fake It Till You Make It- Problem decomposition : Divide and Conquer
• Designing experiments to answer your own questions and learn on your own
• Validating your ideas by running tests
If you complete the exercises you will walk away with strong foundation to learn more about TDD on your own or attend subsequent TDD classes that will build upon this foundation.
You will be able to use TDD on simple problems like Factorial, Fibonacci etc. You can apply these TDD concepts to any language.
• Introduction - 10 Minutes
Where did TDD come from?What is TDD?Why TDD?When is TDD applicable?
• Demo 1 - 10 Minutes
What is not Test First Programming? Developing a calculator example : addition and subtraction.What is an assertion?How to use assertions?
• Exercise 1 - 10 Minutes
Extend the calculator example to implement multiplication and division.Applying Obvious Implementation to solve problems
• Discussion - 10 Minutes
Making your code robust.Why use testing frameworks?What is Design By Contract?
• Exercise 2 - 10 Minutes
Make the calculator class robust by applying Design By Contract
• Demo 2 - 10 Minutes
Test First Programming using RSpec. Developing a calculator example : addition and subtraction.
• Exercise 3 - 10 Minutes
Implement multiplication and division using Test First Programming.
• Guided Exercise 1 - 20 Minutes
Implement Factorial by using Test First Programming.Discovering the public APIMaking examples executableApplying Fake It Till You Make It
• Wrap Up - 20 Minutes
Summarize lessons learned. Q&A.
The presentation will give you the background and the demo will illustrate how to apply the concepts. You will then practice TDD by working on coding exercises. I will conclude the session by reviewing the solution to the exercises.
You need to have Ruby 1.9.x or 2.0 and RSpec 2.x already installed before the class. We don't have time to deal with installation issues. I will NOT spend any time on installation issues during the class. Send me an email before the event to get help on any installation problems.
In order to reduce no-shows, you need to pay for this event. You will get a full refund when you show up for the event or change the RSVP to No by Oct 18.
If you don't change your RSVP to No or you don't show up, then you will NOT get any refund.