Software testing and debugging
Tests are a way of saying what the code should do, and debugging is a way of finding out what it actually does. This course covers both, and the habits that turn guessing into method.
What you'll learn
10 chapters, then the quiz
- 01Why testConfidence to change things.
- 02Kinds of testThe pyramid, and why it is that shape.
- 03What a good test looks likeReadable, isolated, deterministic.
- 04Fakes, stubs and mocksStanding in for the awkward parts.
- 05Coverage and flakinessTwo numbers that mislead.
- 06Reproducing a bugThe step people skip.
- 07Narrowing it downHalving the search space.
- 08Reading the evidenceStack traces, logs and assumptions.
- 09Debuggers and toolsBeyond printing values.
- 10The hard onesIntermittent, environment-specific, invisible.
More programming tests
See all →- Easy
JavaScript fundamentals
Types, scope and the small surprises the language is famous for.
8 questions6 min - Easy
Python essentials
Syntax, built-in types and the everyday behaviour of the standard library.
8 questions6 min - Hard
Complexity and Big O
How algorithms behave when the input stops being small.
7 questions8 min