TDD Course – Intermediate Level
If you already have a foundational knowledge of TDD, this course will help reinforce concepts and, most importantly, put them into practice.
In this course, you will learn to:
Apply the TDD methodology to write software.
Write good tests and create easily testable code.
Apply TDD to the frontend: best practices for testing in the frontend.
This is the second level, intended for individuals who already have some knowledge of TDD. For professionals who need to start from scratch, we offer the introductory course.
CORPORATE PROGRAM
Do you think this course might interest more members of your team? Fill out the form and request a proposal with special discounts.
Do you think this course might interest more members of your team? Fill out the form and request a proposal with special discounts.
Instructor: Benjamin Rae
- English
- Inglés, Español
- 35–40h course (aprox)
- Downloadable resources
- Access during 1 year
- Certification included
- Instructor support
- TDD Community
Intermediate Level: What are you going to learn?
- SOLID Principles and Testability: Understand the principles and their impact.
- How to Write Easily Testable Code: Learn how TDD affects design and manage coupling and cohesion.
- How to Test Legacy Code: Implement strategies such as Golden Master and characterization tests to test legacy code. Find and create connections within the code.
- How to Write Good Tests: Apply methodologies like FIRST and Test Desiderata to write better tests.
- TDD in the Frontend: Introduction to testing tools in the frontend and how to do TDD from a user interface.
- TDD and Teamwork: Teamwork techniques for applying TDD, such as pair and mob programming. How to use your version control system when doing TDD.
Course content
Modul 1: SOLID principles 3h
Modul 2: Writing code that is easy to test 3h
Modul 3: Coupling and Cohesion 4h
Modul 4: F.I.R.S.T 4h
Mdodul 5: Test Desiderata 4h
Modul 6: Sociable vs Solitary testing 4h
Modul 7: Testing Legacy Code 4h
Modul 8: TDD in frontend 4h
Modul 9: TDD and Teamwork 3h
It's also more likely that you will be working on teams rather than individually, that why here we are going to look at techniques like pair programming and mob programming and how they can be used with TDD to develop software in a team.
This course gives you access to:
- Theoretical and practical resources to learn the basic concepts.
- Quizzes to validate your learning progress.
- Detailed examples of each of the techniques explained.
- Katas to practice what you learn.
- Instructor support: Each level offers a direct communication channel with the course instructors to resolve doubts and share progress. All our instructors are daily practitioners of these methodologies.
- TDD Community: Additionally, you'll have access to a community channel where you can share your progress, doubts, support materials, and your overall experience with other course members.
By the end of the course, you are expected to be able to:
- Apply SOLID and F.I.R.S.T principles
- Distinguish and work confidently with the different types of tests that exist
- Work in a team applying TDD
- Write efficient tests in legacy code
- Confidently perform TDD in the frontend
Who is it addressed to?
This is a purely technical course, so it is assumed that you already know how to program in a given language.
A solid foundation in Object-Oriented Programming will allow you to get the most out of this course. We recommend using an IDE (Integrated Development Environment) and familiarizing yourself with keyboard shortcuts, as this will help you gain a lot of speed and ease in development.
It’s ideal for you if: You already have some experience with automated tests and a basic knowledge of TDD. It’s necessary to have a foundation in the topics covered in the introduction module.
Requirements
- Be proficient in at least one programming language.
- Be familiar with the syntax of that language, data types, control flow, and other specific language features.
- Have a solid foundation in Object-Oriented Programming.
- We recommend using an IDE (Integrated Development Environment) and getting familiar with keyboard shortcuts.
- A GitHub or GitLab account.