About TDD, BDD

TDD- Test driven Development and BDD – Behavior driven development is popular mostly within a self-organized team. TDD / BDD and refactoring helps the team to minimize technical debts and write only code that’s needed as per business conditions. This training is completely hands-on and team should follow technologies like Java.


Required: solid hands-on understanding of the life-cycle of software projects
Highly Recommended: some understanding of OO concepts and an OO language

Course Content

  • Introduction to Unit test, unit test characteristics
  • Test Driven Development – why, what and how
  • TDD Cycle – Red, Green, and Refactor
  • TDD helps you design software
  • Why testing first is better than testing after  Multiple classroom
  • Multiple classroom exercises on TDD
  • Overview of Refactoring
  • Clean Code principle
  • SOLID Principle with Example
  • Refactoring for Maintainability and Refactoring to Patterns
  • How to use mocking frameworks?
  • How to effectively translate technical specs into tests
  • XP Mantras
  • SMART Model of Task
  • Epic Theme & Agile Spike
  • Requirement Prioritization Technique – MOSCOW Model
  • INVEST Model of a user story, DEEP Model
  • Refactoring: What is refactoring? Example. Exercise.
  • Purpose and Advantages of Automated Unit Testing.
  • Creating Testing class, writing Test functions, various important Assert statements, Setup, and Teardown for a Unit, ignoring a test, ensuring that a Test function throws the necessary exception and passing parameters to Test functions.
  • Agile Architect principles
  • Using mocks. Compare writing mocks with hand with creation by the framework. Exercise on creating mocks using framework.
  • Definition of a Unit Test, Properties of a good Unit Test
  • Theory of Continuous Integration (CI): why is CI needed?
  • BDD – Behavior-driven development with Example
  • Introduce to Cucumber Tool with Example for BDD
  • What is Dependency Injection (DI)? Why is it needed usually with Unit Testing?
  • Writing tests for Legacy code i.e. existing code with no tests. Different ways to break dependencies in existing code.
  • Unit test patterns. Smells to recognize flawed or badly written unit tests.
  • Code coverage

Call Now- +91-921-276-0556

Send a Query

Tai Infotech Pvt Ltd, 2017 All Rights Reserved