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:

Support Test & Code: Python Software Testing & Engineering

Links:

Om Podcasten

Topics include automated testing, testing strategy, software engineering practices, packaging, Python, pytest, data science, TDD, continuous integration, and software methodologies. Also anything I think helps make the daily life of a software developer more fun and rewarding. Hosted by Brian Okken.