Curso de introducción a TDD

Take your first steps to learning how to work with Test Driven Development (TDD). 

Use the code #primaveraTDD and get a 40% discount. 

TDD Course – Introduction level

Take your first steps to learning how to work with Test Driven Development (TDD). 

Use the code #primaveraTDD and get a 40% discount. 

Instructor: Benjamin Rae
  • English
  • English, Spanish
  • 4.8 rating
  • 239 learners enrolled
  • 16–20 h course
  • Downloadable resources
  • Questionnaires to validate progress
  • Katas to practice
  • Access for 1 year
  • Certification included
  • Instructor support
  • TDD Community

What are you going to learn?

  • Why automated tests are essential for creating robust and resilient applications
  • Key concepts and the most popular TDD tools.
  • Fundamentals of TDD: why it is necessary, how to perform tests, and the value they bring.
  • Configuración del entorno de testing y su implementación.
    Configuration of the testing environment and its implementation.
  • Types of tests y their benefits.
  • Developing with classic TDD and its advantages.

At the end of the course you’ll be able to:

  • Write fast, reliable and maintainable tests.
  • Set up an efficient testing environment.
  • Understand different testing methodologies and their benefits.
  • Develop software following the classic TDD workflow.

I'm a developer, and this course gave me a really solid foundation to keep learning. From day one, I was able to apply what I was learning at work, and in just two weeks, I'd completed the whole course. I was surprised by how quickly I could put everything into practice.

Laura Garreta Developer

I just started as a developer and had no clue about TDD. My company paid for the course, and thanks to the hands-on exercises, I learned how to structure my code better. The videos are in English, but they're really easy to follow and come with subtitles, so it was no problem at all.

Miguel Rivarola Junior Developer

Course content

Module 1: What is TDD? 1h
First we will briefly learn about the history of TDD, where it comes from and talk about the two key schools of TDD (Inside-out and Outside-in).
Module 2: What is testing? 2h
In this module we will learn how to test our code manually and start to introduce test automation to help us understand its value.
Module 3: Setting up your testing environment 3h
In this module we will set up our testing environments for both Java with JUnit 5 and TypeScript with Vitest to best work with automated tests.
Module 4: Main types of tests 3h
With our testing environments ready, we will learn about the main types of automated tests, how to write them and when to use them to understand the value they give us. We will also discover how to use test doubles to help us with our automated testing.
Module 5: Testing plan 3h
Now that we know about the different types of tests, it’s time to discover how to combine them into a testing plan and test an application.
Module 6: Testing best practices 2h
Knowing the different types of tests is not enough; in this module we will discuss what to test, what not to test and how to improve our tests.
Module 7: Other concepts related to testing 2h
In this module we will introduce other concepts related to testing that go beyond the main types of tests like mutation, coverage and property-based testing.
Module 8: Why do TDD? 2h
Now that you know how to test your code, it’s now time to discover how working with TDD can help us. Here we will discuss how TDD can improve aspects of our development such as design and efficiency.
Module 9: How to do TDD 3h
Finally, it’s time to start developing with TDD; here we will learn how to use TDD to develop our code in small increments or baby steps following the TDD cycle.

Audience

This is a purely technical course, so it is assumed that you already know how to program in a given language.

It’s ideal for you if: You already know how to program and want to improve your programming skills but have never done TDD.


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.

What are the advantages of using TDD?

By applying TDD at the level this course provides, you will create more reliable and flexible code, promoting scalable and high-quality solutions through automation.

 

  • Improved code quality

    Reduces errors, makes it easier to add new features and assures that the code works as expected.

  • Regression testing

    Allows for early detection of errors after modifications, maintaining system stability.

  • Scalability and reduced risk

    A well-designed and tested code is easier to maintain and scale

  • Long-term cost reduction

    TDD helps lower long-term costs by reducing the time and resources needed to debug errors.

  • Faster time to market

    It favours continuous integration and deployment (CI/CD), accelerating the launch of new functionalities.

  • Team collaboration and productivity

    It improves communication, facilitates the incorporation of new developers and strengthens the team.

  • Increased customer satisfaction:

    Higher-quality software enhances customer satisfaction and loyalty.

We successfully delivered this course to the following clients

cazoo-logo roche-logo santander-logo

Do you have any questions?

If your company requires a tailored licence package, we'd be delighted to prepare a bespoke proposal for you.