Test Driven Development | TDD Training for Professionals - Agilemania
×
Please Provide Following Information. We will get back to you as soon as possible.





HRDF CLAIMABLE

This program is eligible for the HRDF training grant claims under the TRAINING ASSISTANCE SCHEME (SBL SCHEME). Click on the below link to know the eligibility criteria and claim procedure.

HRDF Claim Eligibility and Procedure
As a response to the covid-19 situation, we have moved few of our courses online. The icon next to the course name indicates Virtual classroom.

Test Driven Development (Tdd) Training

This program introduces Unit Testing, Test Driven Development, Refactoring, Emergent Design, Agile Architecture, Collaboration, and refactoring techniques to the audience and follows a life cycle approach where participants get to learn how to practice these in real life projects. Participants learn to implement TDD on a project developing in either java, .net or ruby or C++ framework. Workshop also covers how to effectively work on legacy code and break dependencies. Expected business outcome is readable, maintainable code going forward as well reduction is defects.

Learning Objective

  • Introduction to Unit test, unit test characteristics
  • Test Driven Development – why, what and how
  • TDD Cycle – Red, Green and Refactor
  • Drive the development (design and implementation) of a User Story
  • Learn concept of Emergent Design and why emergent design
  • How TDD helps you design software
  • Why testing first is better than testing after
  • Overview of Refactoring, Clean Code principle and Refactoring to Patterns
  • Software design – going deeper in SOLID design Principles
  • How to use mocking frameworks
  • Behavior Driven Development using SpecFlow/Cucumber
  • Specification by Examples using Gherkin language
  • Writing Scenarios and Scenario Outlines
  • Preparing Steps using xUnit framework
  • Difference between TDD and BDD
  • How to setup BDD practices within Scrum team

Learning Activities

Hands-on activities (60-70%) and discussion on mentioned topics (30-40%). Hands-on activities include writing unit test, code, writing examples and some group creativity activities.

Target Audience

Development team members including developers, testers, architects, leads and scrum masters.

Prerequisites

Laptops/Desktops with required software and internet connection. Software will be provided by facilitator.

Tools

Java/.Net, Cucumber/SpecFlow, Selenium, Jenkins, GIT, Junit/Nunit

Day-wise course break-up

Course will progress like below but ordering may change based on participant’s feedback during workshop.

Day 1: Acceptance Test Driven Development (ATDD) and BDD

Specification by Examples Workshop

  • Challenges in Collaboration between Business and Development Team
  • How to write better Specification
  • Why Examples needed for specification
  • Writing Examples in Gherkin

ATDD and BDD workshop

  • Principles of Acceptance Test Driven Development
  • Consequences of ATDD on the Sprint Planning and Sprint Review
  • Principles of Behavior Driven Development
  • Practicing BDD with Cucumber/Specflow – Writing features, testing and reporting
  • Role of Product Owner and crew when writing scenarios acceptance
Day 2: Agile Requirements and Acceptance Test Driven Development

Unit Testing

  • What is unit testing
  • Why unit testing is needed
  • Difference between Unit Testing and Integration Testing
  • Developer and Tester role in Unit Testing

Test Driven Development workshop

  • Deion of the TDD approach and its benefits
  • Improving the quality and design of the code by testing?
  • Different types of tests: unit, integration, functional
  • Understand the life cycle of a test in the xUnit framework
  • Respect of the principle of isolation and control of test results
Day 3: Mocking, Continuous Integration and Agile Testing

Refactoring

  • Consequence of technical debt and risk of “breaking” the code
  • Where? When? How refactoring?
  • Support of TDD and ATDD during refactoring
  • Best practices and limitations
  • Definition and principles of frameworks
  • Emergent Design
  • Principle of scalability and implementation
  • Design Patterns and Principles
  • Understanding about SOLID design Principles

Test Double and Mocking

  • What is Test Double and when to use it
  • What is Mocking
  • Mocking framework in practice
  • Refactoring patterns
  • Working effectively with legacy come

Classes Schedule

 Coming Soon

For more info Please send us a mail to connect@agilemania.com

Need Support

Contact us if you need further assistance!