39: Thorough software testing for critical features
Complete and exhaustive testing is not possible. Nor would it be fun, or maintainable, or a good use of your time.
However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality.
In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest.
The techniques covered are:
- equivalence partitioning
- boundary value analysis
- decision tables
We discuss how to use these to generate test cases for a new list filter functionality in the cards application.
The resulting tests:
- 1 UI test to make sure the options are able to be passed in correctly.
- 1 small parametrized test function with 16 single line parameter sets representing the different test cases.
Sponsored By:
- Python Testing with pytest, 2nd edition: The fastest way to learn pytest and practical testing practices.
- Patreon Supporters: Help support the show with as little as $1 per month and be the first to know when new episodes come out.
Links: