Course of Testing: Introduction and Best Practices
Learn what testing brings, how to test, and best practices to prevent maintaining your tests from becoming a nightmare with examples from The Real World™
A course with practical and to-the-point examples where you will learn about the different types of tests we use in our daily work, strategies and design patterns that will help us make our tests more maintainable and tolerant to change.
In this course, we will see how to propose a testing strategy where we will define which elements of our application each type of test covers, maximizing the value they provide while minimizing the cost of maintaining them.
In the course, you will learn:
- Basics of testing, no prior knowledge of tests is required.
- We will see examples in the following languages:
- PHP
- Java
- JavaScript
- Scala
- Introductory concepts such as:
- What we understand as a unit in our unit tests
- Test pyramid
- Should we cover 100% of the code with tests?
- We will see examples in the following languages:
- Advanced and specific aspects such as:
- Avoiding complex instantiations: ObjectMother
- How to avoid slow and coupled tests: Fakes, Stubs, and Mocks
- How to solve tests that randomly fail
- How to avoid tests that pass but the code fails in production
- Improving the maintainability and structure of our tests
- Applying the Single Responsibility Principle of SOLID to our tests
- Given-When-Then or Arrange-Act-Assert pattern
- Providing readability and semantics to our tests
- Team management and development flow
- Additional test doubles like Dummy and Spy
- Summary of TDD: Test Driven Development
- Refactoring: Tips for adding tests to an existing application
- Dealing with legacy: Opportunities for adding tests
We recommend taking the course on SOLID Principles Applied and Hexagonal Architecture before starting this course to acquire software design fundamentals that will help better leverage the concepts we will explore in this course.
Here’s the first video of the course so you can get an idea of the rhythm and quality of the content:

Videos of the course
Related courses
Pay according to your needs
lite (only monthly)
- Essential programming courses to build a solid foundation
- Company invoice
standard
- Main catalog to master writing maintainable, scalable, and testable code
- Receive job offers verified by Codely
- Company invoice
premium
- Exclusive AI courses to keep you always up to date
- Early access to new courses
- Discount on workshops
- Receive job offers verified by Codely
- Company invoice
We won't increase the price while your subscription is active