Mainstream software testing is terrible, because the tools to make it good are missing. Hypothesis is a testing library that aims to fix this.
Where classically unit testing requires you to think of all the edge cases yourself, Hypothesis actively seeks them out for you. Instead of laboriously setting up examples where your code should work, you tell it how your code should always work and it finds the examples that prove you wrong.
This is a talk from the author of Hypothesis on the how, why and where of using it.
This talk presupposes you have at least a little bit of experience with testing in Python, but familiarity with advanced topics is not required.