Overview: Test Driven Development (TDD)
Test Driven Development (TDD) is a software development approach where tests are written before the code, guiding development and improving code quality through iterative testing and refactoring. This method ensures that each piece of code meets high standards from the outset, significantly enhancing the reliability and maintainability of the software. By adopting Test Driven Development, developers can ensure their software meets rigorous standards from the very beginning.
In a Test Driven Development course, participants will learn how to write effective tests before writing the actual code, ensuring that each code segment fulfills its intended requirements. The course covers key concepts such as iterative development, refactoring, and maintaining a robust test suite. By the end of the Test Driven Development course, you will be equipped with the skills to implement TDD in your projects effectively. This will result in higher-quality software and more efficient development processes. Embrace Test Driven Development to elevate your coding practices, deliver superior software, and become a more proficient and confident developer. Enroll now to master TDD and transform your approach to coding.
Course Details
Duration: 2 Days; Instructor-led
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/C# 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.
Audience
The Test Driven Development course is for anyone who is involved in a real project life.
Prerequisites
no pre-requisites
Methodology
We believe in Scrum and we play Scrum so the workshop itself will be run using Scrum in multiple Sprints with ZERO power point slides. Participants will learn about TDD from each other by pair programming and peer review. Expect to have lots of fun while you learn as workshop is loaded with content like pair programming, peer review, live project, learn by doing and learn to measure progress.
We conduct training in interactive manner with several practical examples and activities. We also do customization to suite customer expectations while maintaining the objective of workshop. We shall conduct Pre and Post assessment for training as well as will define measurable expectation for coaching. Workshop will have 4-6 coding DOJO sessions (each session for 1.5 hrs.).
Course Objectives
no course objective
Outlines
- Test Driven Development – why, what and how
- Drive the development (design and implementation) by TDD
- Learn concept of Emergent Design and why emergent design
- Refactoring, Clean Code principle and Refactoring to Patterns
- Working effectively with Legacy code
- Practicing TDD with Legacy Code
- Breaking dependencies and improving Legacy Code
- Continuous Integration with TDD
- What is unit testing
- Why unit testing is needed
- Difference between Unit Testing and Integration Testing
- Developer and Tester role in Unit Testing
- 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
- Consequence of technical debt and risk of “breaking” the code
- Where? When? How 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
- Continuous Integration