Test Driven Development Workshop
Summary
Test-driven development (TDD) is an evolutionary approach to development which combines test-first development where you write a test before you write just enough production code to fulfill that test and refactoring.

What is the primary goal of TDD? One view is the goal of TDD is specification and not validation. In other words, it’s one way to think through your requirements or design before your write your functional code (implying that TDD is both an important agile requirements and agile design technique). Another view is that TDD is a programming technique. As Ron Jeffries likes to say, the goal of TDD is to write clean code that works. But, there is merit in both arguments.
Test First Development (TFD)
The steps of test first development (TFD) are overviewed in the below diagram. The first step is to quickly add a test, basically just enough code to fail. Next you run your tests, often the complete test suite although for sake of speed you may decide to run only a subset, to ensure that the new test does in fact fail. You then update your functional code to make it pass the new tests. The fourth step is to run your tests again. If they fail you need to update your functional code and retest. Once the tests pass the next step is to start over (you may first need to refactor any duplication out of your design as needed, turning TFD into TDD as below).
TDD / ATDD is a derivative of XP (Extreme Programming), and is used by many fortune 500 for their product development. Experts from Drility consulting have worked in customizing the framework to align to customer needs for its rollout. In our workshop our experts will be a real project scenario and help attendees execute a mini project as per TDD definition & guidelines.
During the TDD session, participants will learn:
  • Why, What, How, Who & When of TDD?
  • TDD Process flow
  • TDD KPIs & Metrics
  • Test-driven development
  • Myths and misconceptions
  • Rolling out TDD
  • Scaling TDD to Enterprise Scale
  • TDD Tools overview (Indicative)
  • Use cases, Experience sharing & Examples
Audience
Managers (Program, Project, Technical), Leads (Team, Technical, Test), Developers, Test engineers
What attendees will learn:
  • Optimize the lead delivery time
  • Understand the difference between various agile frameworks – Scrum, XP, TDD
  • Would be able to create criteria for identifying project suitable for TDD implementation
  • Will have hands on experience in executing a project through the complete life cycle of TDD
  • Define, Track, monitor and analyse Business & delivery benefits of TDD