 TTT practitioners starting with Ron Jeffries can back some of these guys all the way to you know practitioners who are doing this on a day to day job and kind of understanding what are the different styles are of those of doing test driven development and this is a workshop so I'm going to give you just a quick introduction and then you guys are going to be actually taking different problems and seeing how you would apply test driven development how what is the first test you would write what's the thought process that goes through and that's that's what we're going to try and do in this workshop while building products there are two very important questions that one needs to understand one is are we building the product right are we building the product right which is more of a business facing question and the second one is are we building the right product sorry the other way around are we building the right product which is more of a business facing question and are we building the product right which is more of an implementation slash technology facing question right why is this important because without understanding these two questions right the chances are that you might be focusing on the wrong things when doing test driven development right so this is this is a very two important questions Brian Maric who is one of the leading agile testing guru and also the author one of the authors of the agile manifesto basically came up with this categorization of tests to help people understand which test fits into which quadrant and what's the purpose of the test so he says on the top we have business facing and on the top bottom we have technology slash implementation facing on the left we have that's your left we have supports programming these set of tests help programming helps the developers helps the team drive the development and this tests on the right critique the product these are the kind of test which after the fact once once a little piece of code is written after that the fact it validates whether it is actually doing what you wanted to do right so if you take any of these four quadrants you should be able to take any test and put it in one of these four quadrants and understand why it fits there and what's its purpose so let's see what test should fit into the bottom left corner drives development but is technology slash implementation facing unit test right unit test would fit into that quadrant what are the kind of tests that would fit into the quadrant about that which is business facing and drives development this is the kind of things that will help you drive your development these are the kind of things that will tell you what needs to be done and whether you're doing it whether you're building the right product acceptance tests right acceptance tests help you do that any other kinds of tests there is no such thing called functional