39: Thorough software testing for critical features

29/03/2018 19 min Episodio 39
39: Thorough software testing for critical features

Listen "39: Thorough software testing for critical features"

Episode Synopsis


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.
Links:github cards project (version 0.1.11)Equivalence partitioning - WikipediaBoundary-value analysis - WikipediaDecision table - WikipediaSlack Channel for Test and CodeDJ YANiC - The awesome listener that contributed our theme music.