Presentation: Property-Based Testing In Practice



4:10pm - 5:00pm

Day of week:




Testing is a cornerstone of modern software development. It provides us with a safety net against bugs and regressions – without testing, it would be impossible to write large-scale applications.

The traditional approach to testing relies on hard-coded examples: fire some specific inputs into a function, and compare the result to predetermined, expected output. This means somebody has to think of examples to test, but humans are notoriously bad at coming up with random data. So why not let the computer do it for us?

In this talk, you'll learn about property-based testing. You tell the computer what sort of test data to use, and let it fill in the blanks. This allows the computer to try many, many more examples than you could write by hand. It's a great way to find bugs in your software – before they reach your users.

We’ll see this style of testing through the lens of two libraries: Hypothesis and AFL, with examples and testing patterns that you can apply in your own code.

Speaker: Alex Chan

Hypothesis Maintainer & Software Developer @WellcomeTrust

Alex is a software developer at the Wellcome Trust in London, writing search backends for the Trust’s collection of artefacts and library books. He also dabbles in open-source Python, including HTTP/2 networking stacks and testing libraries. Outside work, he can usually be found reading books about maths and World War II crypto.

Find Alex Chan at

Similar Talks

Senior Performance Engineer @Improbableio


Conference for Professional Software Developers