I help product teams to develop low-maintenance Python software in the cloud. The intensity of my engagement depends on your needs. I offer:
Workshop: Bulletproof Python – Property-based testing with Hypothesis
Traditional, example-based tests feed hand-picked inputs into the systems under test and check the results against the expected outputs. It turns out that software engineers are not good at finding suitable example inputs to break their code, otherwise they would have written better code in the first place. In some cases, the expected output—the so called test oracle—is hard to determine or entirely unknown.
Property-based tests search for inputs that break your code. They can alleviate the oracle problem and reduce the amount of overall test code while at the same time covering more edge cases. In short, property-based tests allow you to write better tests with less code. This increases the robustness and the maintainability of your software.
After this workshop participants will be comfortable with property-based testing using the Hypothesis framework. They'll have an understanding of property-based testing and how it's different from example-based testing. Participants will have hand-on experience in requesting appropriate test data from Hypothesis and in writing tests for common and more advanced properties. They'll also learn different strategies to introduce property-based testing into existing projects and continuous integration systems.
This is a one-day workshop for three to ten trainees. The participants are expected to have basic familiarity with unit testing and a testing framework. Provided code examples use pytest. The fee for this training is 465 € per participant for an in-person workshop and 405 € per participant for a remote workshop.
Workshop: Asynchronous programming with Python asyncio (upcoming)
I join your product team for three months and help them perform at their best. Reach out for a free consulting.