Test & Code

39: Thorough software testing for critical features


Listen Later

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 - Wikipedia
      • Boundary-value analysis - Wikipedia
      • Decision table - Wikipedia
      • Slack Channel for Test and Code
      • DJ YANiC - The awesome listener that contributed our theme music.
      ...more
      View all episodesView all episodes
      Download on the App Store

      Test & CodeBy Brian Okken

      • 4.7
      • 4.7
      • 4.7
      • 4.7
      • 4.7

      4.7

      70 ratings


      More shows like Test & Code

      View all
      Radiolab by WNYC Studios

      Radiolab

      44,038 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      624 Listeners

      Heavy Networking by Packet Pushers

      Heavy Networking

      328 Listeners

      Talk Python To Me by Michael Kennedy

      Talk Python To Me

      589 Listeners

      Python Bytes by Michael Kennedy and Brian Okken

      Python Bytes

      214 Listeners

      Darknet Diaries by Jack Rhysider

      Darknet Diaries

      8,000 Listeners

      The Real Python Podcast by Real Python

      The Real Python Podcast

      141 Listeners

      Unexplainable by Vox

      Unexplainable

      2,278 Listeners

      Network Automation Nerds by Packet Pushers

      Network Automation Nerds

      3 Listeners