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:

Links:

Creators and Guests

Brian Okken
Host
Brian Okken
Software Engineer, also on Python Bytes and Python People podcasts
39: Thorough software testing for critical features
Broadcast by